chemaxon.marvin.calculations
Class ChargePlugin

java.lang.Object
  extended bychemaxon.marvin.plugin.CalculatorPlugin
      extended bychemaxon.marvin.calculations.MajorMicrospeciesPlugin
          extended bychemaxon.marvin.calculations.ChargePlugin

public class ChargePlugin
extends MajorMicrospeciesPlugin

Plugin class for charge calculation. Sigma, pi and total charge 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
    ChargePlugin plugin = new ChargePlugin();
    plugin.validate(<charge license>);

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

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

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

    // run the calculation
    plugin.run();

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

Author:
Nora Mate

Field Summary
 
Fields inherited from class chemaxon.marvin.plugin.CalculatorPlugin
ATOM, BLUE, CALCRGB_OFF, CHART, HYDROGEN_VALENCE_ERROR_MSG, MOLECULE, NAN, RED, SUBRESULT
 
Constructor Summary
ChargePlugin()
          Constructor.
 
Method Summary
 double getAromaticRingCharge(int index)
          Returns the total partial charge of the smallest aromatic ring containing the specified atom.
 double getAromaticSystemCharge(int index)
          Returns the total partial charge of the aromatic system containing the specified atom.
 java.lang.String getErrorMessage()
          Returns the calculation error information message if run() returned false (calculation error): hydrogen valence error.
protected  java.lang.String getLicenseKey()
          Returns the built-in license key for the given plugin class.
 java.lang.String getOutputClassName()
          Returns the output provider class name for the command line interface.
 double getPiCharge(int index)
          Returns the pi charge of a specified atom.
 java.lang.Object getResult(java.lang.Object type, int index)
          Returns the result item for the specified type and index.
 double getResultantImplicitHCharge(int index)
          Returns sum of implicit H charge around a central atom
 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.
 java.lang.Object[] getResultTypes()
          Returns the result types (possible types: "sigma", "pi", "total").
 double getSigmaCharge(int index)
          Returns the sigma charge of a specified atom.
 double getTotalCharge(int index)
          Returns the total charge of a specified atom.
 boolean run()
          Runs the charge calculation.
protected  void setInputMolecule(Molecule mol)
          Sets the input molecule.
 void setParameters(java.util.Properties params)
          Sets the input parameters for the plugin.
 
Methods inherited from class chemaxon.marvin.calculations.MajorMicrospeciesPlugin
checkMolecule, getMainMolecule, getMajorMicrospecies, getMolText, getpH, getReferenceMolecule, getSuffix, isMajorMs, setpH, standardize
 
Methods inherited from class chemaxon.marvin.plugin.CalculatorPlugin
check, checkLicense, checkLicenseKey, checkType, create, createImageMolecule, createStandardizedMolecule, dehydrogenize, format, format, format, format, getAtomCount, getAtomIndex, getChartColor, getDoublePrecision, getGUIResultTypes, getResult, getResult, getResult, getResultAsRGB, getResultAsRGB, getResultAsString, getResultCount, getResultDomain, getResultsAsRGB, getResultsAsRGB, getResultsAsString, getResultsAsString, getTypeString, getXAxisLabel, getXLabels, getYAxisLabel, handlesMultiFragmentMolecules, isLicensed, isMajorityMsCalculation, isMsCalc, isNegligibleResult, isRgrouped, removeWhitespace, saveLicense, setDoublePrecision, setDoublePrecision, setDoublePrecision, setLicense, setMolecule, setMolecule, setMolecule, standardizeGroups, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ChargePlugin

public ChargePlugin()
Constructor. Creates the charge calculator object.

Method Detail

getLicenseKey

protected final java.lang.String getLicenseKey()
Returns the built-in license key for the given plugin class. This license key has to be checked against the license key read from the property file.

Overrides:
getLicenseKey in class CalculatorPlugin
Returns:
the built-in license key for the given plugin class
See Also:
CalculatorPlugin.checkLicense()

setParameters

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

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

setInputMolecule

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

Overrides:
setInputMolecule in class MajorMicrospeciesPlugin
Parameters:
mol - is the input molecule
Throws:
PluginException - on error

run

public boolean run()
            throws PluginException
Runs the charge calculation.

Overrides:
run in class MajorMicrospeciesPlugin
Returns:
true if the calculation was successful, false on calculation error
Throws:
PluginException - on error

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 MajorMicrospeciesPlugin
Returns:
the calculation error information message

getTotalCharge

public double getTotalCharge(int index)
Returns the total charge of a specified atom.

Parameters:
index - is the atom index
Returns:
the total charge of a specified atom, Double.NaN for implicit H-s
Since:
Marvin 3.4.1

getSigmaCharge

public double getSigmaCharge(int index)
Returns the sigma charge of a specified atom.

Parameters:
index - is the atom index
Returns:
the sigma charge of a specified atom, Double.NaN for implicit H-s
Since:
Marvin 3.4.1

getPiCharge

public double getPiCharge(int index)
Returns the pi charge of a specified atom.

Parameters:
index - is the atom index
Returns:
the pi charge of a specified atom, Double.NaN for implicit H-s
Since:
Marvin 3.4.1

getResultantImplicitHCharge

public double getResultantImplicitHCharge(int index)
Returns sum of implicit H charge around a central atom

Parameters:
index - is the central atom index
Returns:
the sum of implicit H charge around the central atom
Since:
Marvin 3.5

getAromaticSystemCharge

public double getAromaticSystemCharge(int index)
Returns the total partial charge of the aromatic system containing the specified atom.

Parameters:
index - is the atom index
Returns:
the total partial charge of the aromatic system containing the specified atom
Since:
Marvin 3.5

getAromaticRingCharge

public double getAromaticRingCharge(int index)
Returns the total partial charge of the smallest aromatic ring containing the specified atom.

Parameters:
index - is the atom index
Returns:
the total partial charge of the smallest aromatic ring containing the specified atom
Since:
Marvin 3.5

getResultTypes

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

Overrides:
getResultTypes in class MajorMicrospeciesPlugin
Returns:
the result types

getResultDomain

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

Overrides:
getResultDomain in class MajorMicrospeciesPlugin
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. Charge returns the atom count.

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

getResult

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

Overrides:
getResult in class MajorMicrospeciesPlugin
Parameters:
type - is the result type ("total", "pi", "sigma" or "implh")
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()

getOutputClassName

public java.lang.String getOutputClassName()
Returns the output provider class name for the command line interface.

Overrides:
getOutputClassName in class MajorMicrospeciesPlugin
Returns:
the output provider class name

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. Charge returns the rounded charge value in string format: the value is rounded using the 'precision' input parameter that determines the number of fractional digits displayed.

Overrides:
getResultAsString in class MajorMicrospeciesPlugin
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