Class OrbitalElectronegativityPlugin

All Implemented Interfaces:
TaggedCalculator, chemaxon.license.Licensable

@PublicApi 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
  • Constructor Details

    • OrbitalElectronegativityPlugin

      public OrbitalElectronegativityPlugin()
      Constructor.
  • Method Details

    • 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 String getProductName()
      Returns the product identifier of the plugin as given by LicenseManager.
      Specified by:
      getProductName in class CalculatorPlugin
      Returns:
      The identifier LicenseManager.CHARGE_PLUGIN_GROUP
    • setParameters

      public void setParameters(Properties params) throws PluginException
      Sets the input parameters for the plugin. Orbital electronegativity parameters and value ranges:
      • type: sigma,pi
      • precision: 0-8 or inf (number of displayed fractional digits, inf for unrounded value)
      • resonance: true or false - true if calculate with resonant structures (default: false)
      • pH: major microspecies on given pH is taken as input molecule if omitted then the input molecule is taken as it is
      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:
    • getErrorMessage

      public 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 Object[] getResultTypes()
      Returns the result types (possible types: "sigma", "pi").
      Overrides:
      getResultTypes in class CalculatorPlugin
      Returns:
      the result types
    • getResultDomain

      public int getResultDomain(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:
    • getResultCount

      public int getResultCount(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:
    • getTypeString

      public String getTypeString(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 Object getResult(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:
    • getResultAsString

      public String getResultAsString(Object type, int index, 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 (MPropHandler.convertToString(MPropertyContainer, String)).
      Overrides:
      getResultMolecule in class CalculatorPlugin
      Returns:
      the result molecule
      Throws:
      PluginException - on error