chemaxon.marvin.calculations
Class OrbitalElectronegativityPlugin

java.lang.Object
  extended by chemaxon.marvin.plugin.CalculatorPlugin
      extended by chemaxon.marvin.calculations.MajorMicrospeciesAccessorPlugin
          extended by chemaxon.marvin.calculations.OrbitalElectronegativityPlugin
All Implemented Interfaces:
chemaxon.license.Licensable

public class OrbitalElectronegativityPlugin
extends MajorMicrospeciesAccessorPlugin

Plugin class for orbital electronegativity calculation. Sigma anf pi orbital electronegativity values can be calculated by this plugin.

References:

  1. J.Gasteiger and M.Marsili: Tetrahedron Vol. 36. , pp. 3219-3288 (1980)
  2. M.Marsili and J.Gasteiger: International Symposium on Aromaticity, Dubrovnik, Yugoslavia , Sept (1979), Croat.Chim.Acta. (1979)
  3. Steven L. Dixon and Peter C. Jurs: J.Comp.Chem., Vol.13. No.4, 492-504 (1992)
  4. W.J.Mortier, K.V.Genechten and J.Gasteiger: J.Am.Chem.Soc., Vol. 107,829-835 (1985)

API usage example:

    // create plugin
    OrbitalElectronegativityPlugin plugin = new OrbitalElectronegativityPlugin();

    // read target molecule
    MolImporter mi = new MolImporter(new ByteArrayInputStream("Clc1cc(Cl)c(Cl)cc1".getBytes()));
    Molecule mol = mi.read();
    mi.close();

    // optional: take major microspecies at pH=7.4
    // skip this if you want to calculate orbital electronegativity for the input molecule as it is
    plugin.setpH(7.4);

    // set target molecule
    plugin.setMolecule(mol);

    // run the calculation
    plugin.run();

    // get orbital electronegativity values for each atom
    int count = mol.getAtomCount();
    for (int i=0; i < count; ++i) {
          double sigmaoen = plugin.getSigmaOen(i);
          if (!Double.isNaN(sigmaoen)) {
              System.out.println("sigma orbital electronegativity for atom "+(i+1)+": "+sigmaoen);
          }
    }
 

For concurrent plugin example applications using ChemAxon's concurrent framework, refer to the Concurrent plugin examples.

Since:
Marvin 4.1, 07/25/2006
Version:
4.1, 07/25/2006
Author:
Nora Mate, Zsolt Mohacsi

Field Summary
 
Fields inherited from class chemaxon.marvin.calculations.MajorMicrospeciesAccessorPlugin
ionizer
 
Fields inherited from class chemaxon.marvin.plugin.CalculatorPlugin
ATOM, BLUE, CALCRGB_OFF, COVALENT_HYDRATION_ERROR_REMARK, CRITICAL_ERROR_MSG, EPSILON, INCORRECT_AROMATIC_NITROGEN_REMARK, INSTABLE_TAUTOMERIC_FORM_REMARK, licenseEnvironment, MOLECULE, NAN, PLUGIN_CLASS_KEY, PLUGIN_DIR, RED
 
Constructor Summary
OrbitalElectronegativityPlugin()
          Constructor.
 
Method Summary
 java.lang.String getErrorMessage()
          Returns the calculation error information message if run() returned false (calculation error): hydrogen valence error.
 double getPiOEN(int index)
          Returns the pi orbital electronegativity of a specified atom.
 java.lang.String getProductName()
          Returns the product identifier of the plugin as given by LicenseManager.
 java.lang.Object getResult(java.lang.Object type, int index)
          Returns the result item for the specified type and index.
 java.lang.String getResultAsString(java.lang.Object type, int index, java.lang.Object result)
          Returns the specified result in String format.
 int getResultCount(java.lang.Object type)
          Returns the number of result items for the given result type.
 int getResultDomain(java.lang.Object type)
          Returns the calculation domain CalculatorPlugin.ATOM or CalculatorPlugin.MOLECULE.
 Molecule getResultMolecule()
          Returns the result molecule for display.
 java.lang.Object[] getResultTypes()
          Returns the result types (possible types: "sigma", "pi").
 double getSigmaOEN(int index)
          Returns the sigma orbital electronegativity of a specified atom.
 java.lang.String getTypeString(java.lang.Object type)
          Returns a string representation of the given type.
 boolean isLicensed()
          Returns true if the plugin is licensed.
 boolean run()
          Runs the orbital electornegativity calculation.
protected  void setInputMolecule(Molecule mol)
          Sets the input molecule.
 void setParameters(java.util.Properties params)
          Sets the input parameters for the plugin.
 void setTakeResonantStructures(boolean resonance)
          Sets calculation with resonant structures.
 
Methods inherited from class chemaxon.marvin.calculations.MajorMicrospeciesAccessorPlugin
checkMolecule, createModifiedInputMolecule, getIonizerErrorMessage, getpH, setpH, standardize
 
Methods inherited from class chemaxon.marvin.plugin.CalculatorPlugin
checkType, containsCoordinateBond, containsMulticenterSgroup, containsPseudoAtom, containsSRUSgroup, create, createStandardizedMolecule, createStandardizedMolecule, dehydrogenize, format, format, format, format, getAtomCount, getAtomIndex, getCalcMolecule, getDisplayMolecule, getDocument, getDoublePrecision, getInputMolDim, getMainMolecule, getPluginResource, getRemark, getResult, getResult, getResult, getResultAsRGB, getResultAsRGB, getResultAsString, getResultCount, getResultDomain, getResultMessage, getResultMolecules, getResultsAsRGB, getResultsAsRGB, getResultsAsString, getResultsAsString, getResultSource, getWarningMessage, handlesMultiFragmentMolecules, isInputMoleculeAromatized, isMsCalc, isMultiThreadedRunEnabled, isNegligibleResult, isOK, isRgrouped, loadClass, readAttribute, removeWhitespace, setDoublePrecision, setDoublePrecision, setDoublePrecision, setLicenseEnvironment, setMolecule, setMolecule, setMolecule, setProgressMonitor, standardizeIonicGroups, standardizeNeutralGroups
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OrbitalElectronegativityPlugin

public OrbitalElectronegativityPlugin()
Constructor.

Method Detail

isLicensed

public boolean isLicensed()
Returns true if the plugin is licensed. The license checking is based on the product name, returned by getProductName().

Specified by:
isLicensed in interface chemaxon.license.Licensable
Overrides:
isLicensed in class MajorMicrospeciesAccessorPlugin
Returns:
true if the plugin is licensed

getProductName

public java.lang.String getProductName()
Returns the product identifier of the plugin as given by LicenseManager.

Overrides:
getProductName in class CalculatorPlugin
Returns:
The identifier LicenseManager.CHARGE_PLUGIN_GROUP

setParameters

public void setParameters(java.util.Properties params)
                   throws PluginException
Sets the input parameters for the plugin. Orbital electronegativity parameters and value ranges:

Overrides:
setParameters in class MajorMicrospeciesAccessorPlugin
Parameters:
params - is the parameter table
Throws:
PluginException - on error

setTakeResonantStructures

public void setTakeResonantStructures(boolean resonance)
Sets calculation with resonant structures. Default: false.

Parameters:
resonance - is true if orbital electornegativity should be calculated with resonant structures

setInputMolecule

protected void setInputMolecule(Molecule mol)
                         throws PluginException
Sets the input molecule.

Specified by:
setInputMolecule in class CalculatorPlugin
Parameters:
mol - is the input molecule
Throws:
PluginException - on error

run

public boolean run()
            throws PluginException
Runs the orbital electornegativity calculation.

Specified by:
run in class CalculatorPlugin
Returns:
true if the calculation was successful, false on calculation error
Throws:
PluginException - on error
See Also:
CalculatorPlugin.getErrorMessage()

getErrorMessage

public java.lang.String getErrorMessage()
Returns the calculation error information message if run() returned false (calculation error): hydrogen valence error.

Overrides:
getErrorMessage in class MajorMicrospeciesAccessorPlugin
Returns:
the calculation error information message

getSigmaOEN

public double getSigmaOEN(int index)
Returns the sigma orbital electronegativity of a specified atom.

Parameters:
index - is the atom index
Returns:
the sigma orbital electronegativity of a specified atom

getPiOEN

public double getPiOEN(int index)
Returns the pi orbital electronegativity of a specified atom.

Parameters:
index - is the atom index
Returns:
the pi orbital electronegativity of a specified atom

getResultTypes

public java.lang.Object[] getResultTypes()
Returns the result types (possible types: "sigma", "pi").

Overrides:
getResultTypes in class CalculatorPlugin
Returns:
the result types

getResultDomain

public int getResultDomain(java.lang.Object type)
Returns the calculation domain CalculatorPlugin.ATOM or CalculatorPlugin.MOLECULE. Orbital electornegativity plugin always returns CalculatorPlugin.ATOM.

Overrides:
getResultDomain in class CalculatorPlugin
Parameters:
type - is the result type
Returns:
CalculatorPlugin.ATOM
See Also:
getResultTypes()

getResultCount

public int getResultCount(java.lang.Object type)
Returns the number of result items for the given result type. Orbital electornegativity plugin returns the atom count.

Overrides:
getResultCount in class CalculatorPlugin
Parameters:
type - is the result type
Returns:
the number of result items
See Also:
getResultTypes()

getTypeString

public java.lang.String getTypeString(java.lang.Object type)
Returns a string representation of the given type.

Overrides:
getTypeString in class CalculatorPlugin
Parameters:
type - is the type object
Returns:
the type string

getResult

public java.lang.Object getResult(java.lang.Object type,
                                  int index)
                           throws PluginException
Returns the result item for the specified type and index. Orbital electornegativity plugin returns the required Orbital electornegativity value as a Double object.

Overrides:
getResult in class CalculatorPlugin
Parameters:
type - is the result type ("sigma" or "pi")
index - is the atom index
Returns:
the result item for the specified type and index
Throws:
PluginException - if the result cannot be returned
See Also:
getResultTypes()

getResultAsString

public java.lang.String getResultAsString(java.lang.Object type,
                                          int index,
                                          java.lang.Object result)
                                   throws PluginException
Returns the specified result in String format.

Overrides:
getResultAsString in class CalculatorPlugin
Parameters:
type - is the result type
index - is the result index
result - is the result item
Returns:
the specified result in String format
Throws:
PluginException - if an invalid result item is given

getResultMolecule

public Molecule getResultMolecule()
                           throws PluginException
Returns the result molecule for display. Atomic results are stored in atom extra labels (MolAtom.getExtraLabel()). Molecular results are stored in molecule properties with keys being the result types (Molecule.getProperty(String)).

Overrides:
getResultMolecule in class CalculatorPlugin
Returns:
the result molecule
Throws:
PluginException - on error