chemaxon.marvin.calculations
Class TPSAPlugin

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

public class TPSAPlugin
extends MajorMicrospeciesPlugin

Plugin class for TPSA (topological polar surface area) calculation. Both the incremental TPSA values for atoms and the overal TPSA value for the molecule can be calculated by this plugin.

Reference:

  1. J.Med.Chem. 2000, 43, 3714-3717

API usage example:

    // read input molecule
    MolImporter mi = new MolImporter("test.mol");
    Molecule mol = mi.read();

    // create plugin
    TPSAPlugin plugin = new TPSAPlugin();
    plugin.validate(<TPSA license>);

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

    // set target molecule
    plugin.setMolecule(mol);
	
    // run the calculation
    plugin.run();

    // get result
    double psa = plugin.getTPSA();

    // print result
    System.out.println("topological polar surface area (pH=7.4): "+psa);
 


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
TPSAPlugin()
          Constructor.
 
Method Summary
 void checkMolecule(Molecule mol)
          Checks the input molecule.
 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.
 Molecule getReferenceMolecule(java.lang.Object type, int index)
          Returns the molecule to be used as reference image for the given result type and index.
 java.lang.Object getResult(java.lang.Object type, int index)
          Returns the result item for the specified key 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 key.
 int getResultDomain(java.lang.Object type)
          Returns the calculation domain CalculatorPlugin.MOLECULE.
 java.lang.Object[] getResultTypes()
          Returns the result types.
 double getTPSA()
          Returns the TPSA value.
 boolean run()
          Runs the logP 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
getMainMolecule, getMajorMicrospecies, getMolText, getpH, 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

TPSAPlugin

public TPSAPlugin()
Constructor. Creates the logP 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. TPSA parameters and value ranges:

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

checkMolecule

public void checkMolecule(Molecule mol)
                   throws PluginException
Checks the input molecule. Throws exception if the molecule is RxnMolecule, if the molecule contains R-groups or if the molecule consists of more than one fragments.

Overrides:
checkMolecule in class MajorMicrospeciesPlugin
Parameters:
mol - is the input molecule
Throws:
PluginException - with error message for the user if the molecule is refused

setInputMolecule

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

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

run

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

Overrides:
run in class MajorMicrospeciesPlugin
Returns:
true if the calculation was successful, false on calculation problems
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

getResultTypes

public java.lang.Object[] getResultTypes()
Returns the result types. Possible result types: "PSA".

Overrides:
getResultTypes in class MajorMicrospeciesPlugin
Returns:
the result types

getResultDomain

public int getResultDomain(java.lang.Object type)
Returns the calculation domain CalculatorPlugin.MOLECULE.

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

getResultCount

public int getResultCount(java.lang.Object type)
Returns the number of result items for the given result key. TPSA returns 1.

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

getTPSA

public double getTPSA()
Returns the TPSA value.

Returns:
the TPSA value

getReferenceMolecule

public Molecule getReferenceMolecule(java.lang.Object type,
                                     int index)
Returns the molecule to be used as reference image for the given result type and index. The default implementation returns the original molecule clone.

Overrides:
getReferenceMolecule in class MajorMicrospeciesPlugin
Parameters:
type - is the result type
index - is the result index
Returns:
the original molecule clone

getResult

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

Overrides:
getResult in class MajorMicrospeciesPlugin
Parameters:
type - is the result type
index - is the result index
Returns:
the result item for the specified key 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. logP returns the rounded logP 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

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