Package chemaxon.marvin.calculations
Class TPSAPlugin
- java.lang.Object
-
- chemaxon.marvin.plugin.CalculatorPlugin
-
- chemaxon.marvin.calculations.MajorMicrospeciesAccessorPlugin
-
- chemaxon.marvin.calculations.TPSAPlugin
-
- All Implemented Interfaces:
chemaxon.license.Licensable
@PublicAPI public class TPSAPlugin extends MajorMicrospeciesAccessorPlugin
Plugin class for TPSA (topological polar surface area) calculation.Reference:
- Ertl, P., Rohde, B., Selzer, P., J. Med. Chem., 2000, 43, pp. 3714-3717
API usage example:
// read input molecule MolImporter mi = new MolImporter("test.mol"); Molecule mol = mi.read(); mi.close(); // create plugin TPSAPlugin plugin = new TPSAPlugin(); // optional: take major microspecies at pH=7.4 plugin.setpH(7.4); // set target molecule plugin.setMolecule(mol); // run the calculation plugin.run(); // get result double area = plugin.getSurfaceArea(); // print result System.out.println("Polar surface area (pH=7.4): "+area);
For concurrent plugin example applications using ChemAxon's concurrent framework, refer to the Concurrent plugin examples.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class chemaxon.marvin.plugin.CalculatorPlugin
CalculatorPlugin.HydrogenData
-
-
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, explicitHydrogens, INCORRECT_AROMATIC_NITROGEN_REMARK, INSTABLE_TAUTOMERIC_FORM_REMARK, KEEP_HYDROGENS, keepHydrogens, licenseEnvironment, MOLECULE, MOLECULES, NAN, PLUGIN_CLASS_KEY, PLUGIN_DIR, RED, TRUE
-
-
Constructor Summary
Constructors Constructor Description TPSAPlugin()
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
checkMolecule(Molecule mol)
Checks the input molecule.String
getErrorMessage()
Returns the calculation error information message ifrun()
returned false (calculation error): hydrogen valence error.String
getProductName()
Returns the product identifier of the plugin as given byLicenseManager
.Object
getResult(Object type, int index)
Returns the result item for the specified key and index.String
getResultAsString(Object type, int index, Object result)
Returns the specified result in String format.int
getResultCount(Object type)
Returns the number of result items for the given result key.int
getResultDomain(Object type)
Returns the calculation domainCalculatorPlugin.MOLECULE
.Molecule
getResultMolecule()
Returns the result molecule for display.Object[]
getResultTypes()
Returns the result types.double
getSurfaceArea()
Returns the surface area.double
getTPSA()
Deprecated.as of Marvin 4.1, replaced bygetSurfaceArea()
String
getTypeString(Object type)
Returns a string representation of the given type.boolean
run()
Runs the surface area calculation.void
setExcludePhosphorus(boolean p)
Sets to exclude phosphorus from PSA calculation.
Default:true
, phosphorus i excluded.void
setExcludeSulfur(boolean s)
Sets to exclude sulfur from PSA calculation.
Default:true
, sulfur i excluded.protected void
setInputMolecule(Molecule mol)
Sets the input molecule.void
setParameters(Properties params)
Sets the input parameters for the plugin.-
Methods inherited from class chemaxon.marvin.calculations.MajorMicrospeciesAccessorPlugin
createModifiedInputMolecule, getIonizerErrorMessage, getpH, isLicensed, setpH, standardize
-
Methods inherited from class chemaxon.marvin.plugin.CalculatorPlugin
addHeavyAtomLimitChecker, addInputChecker, arrangeHydrogenIncerments, canRepeat, checkLicense, checkType, containsCoordinateBond, containsMulticenterSgroup, containsPseudoAtom, containsSRUSgroup, create, createStandardizedMolecule, createStandardizedMolecule, dehydrogenize, format, format, format, format, getAtomCount, getAtomIndex, getAtomIndexMap, getCalcMolecule, getDisplayMolecule, getDocument, getDoublePrecision, getExplicitHydrogenData, getInputMolDim, getMainMolecule, getOriginalMolecule, getPluginResource, getQueryMoleculeErrorMessage, 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, restoreExplicitHydrogens, setAtomIndexMap, setDoublePrecision, setDoublePrecision, setDoublePrecision, setKeepHydrogens, setLicenseEnvironment, setMolecule, setMolecule, setMolecule, setMolecule, setProgressMonitor, standardizeIonicGroups, standardizeNeutralGroups
-
-
-
-
Method Detail
-
getProductName
public String getProductName()
Description copied from class:CalculatorPlugin
Returns the product identifier of the plugin as given byLicenseManager
. The name is used by theCalculatorPlugin.isLicensed()
method.- Specified by:
getProductName
in classCalculatorPlugin
- Returns:
- product identifier or a default string
-
setParameters
public void setParameters(Properties params) throws PluginException
Sets the input parameters for the plugin. TPSA parameters and value ranges:- precision: 0-8 or inf (number of displayed fractional digits, inf for unrounded value)
- 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 classMajorMicrospeciesAccessorPlugin
- 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 isRxnMolecule
, if the molecule contains R-groups or if the molecule consists of more than one fragments.- Overrides:
checkMolecule
in classMajorMicrospeciesAccessorPlugin
- 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.- Specified by:
setInputMolecule
in classCalculatorPlugin
- Parameters:
mol
- is the (standardized) input molecule- Throws:
PluginException
- on error
-
setExcludeSulfur
public void setExcludeSulfur(boolean s)
Sets to exclude sulfur from PSA calculation.
Default:true
, sulfur i excluded.- Parameters:
s
- iftrue
sulfur is excluded from PSA calculation- Since:
- Marvin 5.3.3
-
setExcludePhosphorus
public void setExcludePhosphorus(boolean p)
Sets to exclude phosphorus from PSA calculation.
Default:true
, phosphorus i excluded.- Parameters:
p
- iftrue
phosphorus is excluded from PSA calculation- Since:
- Marvin 5.3.3
-
run
public boolean run() throws PluginException
Runs the surface area calculation.- Specified by:
run
in classCalculatorPlugin
- Returns:
- true if the calculation was successful, false on calculation problems
- Throws:
PluginException
- on error- See Also:
CalculatorPlugin.getErrorMessage()
-
getErrorMessage
public String getErrorMessage()
Returns the calculation error information message ifrun()
returned false (calculation error): hydrogen valence error.- Overrides:
getErrorMessage
in classMajorMicrospeciesAccessorPlugin
- Returns:
- the calculation error information message
-
getResultTypes
public Object[] getResultTypes()
Returns the result types. Possible result types: "psa".- Overrides:
getResultTypes
in classCalculatorPlugin
- Returns:
- the result types
-
getResultDomain
public int getResultDomain(Object type)
Returns the calculation domainCalculatorPlugin.MOLECULE
.- Overrides:
getResultDomain
in classCalculatorPlugin
- Parameters:
type
- is the result type- Returns:
CalculatorPlugin.MOLECULE
- See Also:
getResultTypes()
-
getResultCount
public int getResultCount(Object type)
Returns the number of result items for the given result key. TPSA returns1
.- Overrides:
getResultCount
in classCalculatorPlugin
- Parameters:
type
- is the result type- Returns:
- the number of result items
- See Also:
getResultTypes()
-
getTPSA
@Deprecated public double getTPSA()
Deprecated.as of Marvin 4.1, replaced bygetSurfaceArea()
Returns the TPSA value.- Returns:
- the TPSA value
-
getSurfaceArea
public double getSurfaceArea()
Returns the surface area.- Returns:
- the surface area
- Since:
- Marvin 4.1
-
getResult
public Object getResult(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 classCalculatorPlugin
- Parameters:
type
- is the result typeindex
- 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 String getResultAsString(Object type, int index, Object result) throws PluginException
Returns the specified result in String format.- Overrides:
getResultAsString
in classCalculatorPlugin
- Parameters:
type
- is the result typeindex
- is the result indexresult
- is the result item- Returns:
- the specified result in String format
- Throws:
PluginException
- if an invalid result item is given
-
getTypeString
public String getTypeString(Object type)
Returns a string representation of the given type.- Overrides:
getTypeString
in classCalculatorPlugin
- Parameters:
type
- is the type object- Returns:
- the type string
-
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 classCalculatorPlugin
- Returns:
- the result molecule
- Throws:
PluginException
- on error- Since:
- Marvin 4.0
-
-