Package chemaxon.marvin.calculations
Class PolarizabilityPlugin
java.lang.Object
chemaxon.marvin.plugin.CalculatorPlugin
chemaxon.marvin.calculations.MajorMicrospeciesAccessorPlugin
chemaxon.marvin.calculations.PolarizabilityPlugin
- All Implemented Interfaces:
TaggedCalculator
,chemaxon.license.Licensable
Plugin class for atom polarizability calculation.
API usage example:
// read input molecule MolImporter mi = new MolImporter("test.mol"); Molecule mol = mi.read(); mi.close(); // create plugin PolarizabilityPlugin plugin = new PolarizabilityPlugin(); // optional: take major microspecies at pH=7.4 // skip this if you want to calculate polarizability for the input molecule as it is plugin.setpH(7.4); // set target molecule plugin.setMolecule(mol); // run the calculation plugin.run(); // get molecular polarizability double molpol = plugin.getMolPolarizability(); System.out.println("molecular polarizability: "+molpol); // get polarizability values for each atom int count = mol.getAtomCount(); for (int i=0; i < count; ++i) { double pol = plugin.getPolarizability(i); if (!Double.isNaN(pol)) { System.out.println("polarizability for atom "+(i+1)+": "+pol); } }
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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
checkMolecule
(Molecule mol) Checks the input molecule.double
Returns the average polarizability component (forgeom3D=true
, seesetGeom3D(boolean)
).Returns the calculation error information message ifrun()
returned false (calculation error): hydrogen valence error.double
getHPolarizability
(int index) Returns the sum of the implicit H atom polarizability values around the given heavy atom.double
Returns the molecular polarizability value.double
getPolarizability
(int index) Returns the atom polarizability value.double[]
Returns the principal componentsa(xx), a(yy), a(zz)
of polarizability tensor (forgeom3D=true
, seesetGeom3D(boolean)
).Returns the product identifier of the plugin as given byLicenseManager
.Returns the result item for the specified type and index.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.ATOM
orCalculatorPlugin.MOLECULE
.Returns the result molecule for display.Object[]
Returns the result types (possible types: sigma, pi, total).boolean
Returnstrue
if the plugin is licensed.boolean
run()
Runs the charge calculation.void
setGeom3D
(boolean geom3D) Sets 3D geometry consideration.protected void
setInputMolecule
(Molecule mol) Sets the input molecule.void
setParameters
(Properties params) Sets the input parameters for the plugin.tags()
Returns the set of tags reported by this calculator.Methods inherited from class chemaxon.marvin.calculations.MajorMicrospeciesAccessorPlugin
createModifiedInputMolecule, getIonizerErrorMessage, getpH, setChemicalTermsArgument, setpH, standardize
Methods inherited from class chemaxon.marvin.plugin.CalculatorPlugin
addHeavyAtomLimitChecker, addInputChecker, arrangeHydrogenIncerments, canRepeat, checkLicense, checkType, containsCoordinateBond, containsMulticenterSgroup, containsPseudoAtom, containsSRUSgroup, create, create, createStandardizedMolecule, createStandardizedMolecule, dehydrogenize, format, format, format, format, getAtomCount, getAtomIndex, getAtomIndexMap, getAtomIndexMapping, 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, getTypeString, getWarningMessage, handlesMultiFragmentMolecules, isInputMoleculeAromatized, isMsCalc, isMultiThreadedRunEnabled, isNegligibleResult, isOK, isRgrouped, loadClass, loadPluginClass, loadPluginClass, readAttribute, removeWhitespace, restoreExplicitHydrogens, setAtomIndexMap, setChemicalTermsParameters, setDoublePrecision, setDoublePrecision, setDoublePrecision, setKeepHydrogens, setLicenseEnvironment, setMolecule, setMolecule, setMolecule, setMolecule, setProgressMonitor, standardizeIonicGroups
-
Constructor Details
-
PolarizabilityPlugin
public PolarizabilityPlugin()Constructor.
-
-
Method Details
-
isLicensed
public boolean isLicensed()Returnstrue
if the plugin is licensed. The license checking is based on the product name, returned bygetProductName()
.- Specified by:
isLicensed
in interfacechemaxon.license.Licensable
- Overrides:
isLicensed
in classMajorMicrospeciesAccessorPlugin
- Returns:
true
if the plugin is licensed
-
getProductName
Returns the product identifier of the plugin as given byLicenseManager
.- Specified by:
getProductName
in classCalculatorPlugin
- Returns:
- The identifier
LicenseManager.CHARGE_PLUGIN_GROUP
-
setParameters
Sets the input parameters for the plugin. Polarization parameters and value ranges:- precision: 0-8 or inf (number of displayed fractional digits, inf for unrounded value)
- type:
- molecular
- atomic
- geom3D: "true" if 3D geometry should be considered (computes molecular polarizability and principal components of polarizability tensor) (default: "false")
- Overrides:
setParameters
in classMajorMicrospeciesAccessorPlugin
- Parameters:
params
- is the parameter table- Throws:
PluginException
- on error
-
setGeom3D
public void setGeom3D(boolean geom3D) Sets 3D geometry consideration. Call this before setting the input molecule inCalculatorPlugin.setMolecule(Molecule)
.- Parameters:
geom3D
- iftrue
, molecular polarizability and principal components of polarizability tensor are computed (default:false
)
-
checkMolecule
Checks the input molecule. Throws exception if the molecule molecule contains R-groups.- Overrides:
checkMolecule
in classMajorMicrospeciesAccessorPlugin
- Parameters:
mol
- is the input molecule- Throws:
PluginException
- with error message for the user if the molecule is refused
-
setInputMolecule
Sets the input molecule.- Specified by:
setInputMolecule
in classCalculatorPlugin
- Parameters:
mol
- is the input molecule- Throws:
PluginException
- on error
-
run
Runs the charge calculation.- Specified by:
run
in classCalculatorPlugin
- Returns:
- true if the calculation was successful, false on calculation error
- Throws:
PluginException
- on error- See Also:
-
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
-
getPolarizability
public double getPolarizability(int index) Returns the atom polarizability value.- Parameters:
index
- is the atom index- Returns:
- the atom polarizability value
- Since:
- Marvin 3.4.1
-
getHPolarizability
public double getHPolarizability(int index) Returns the sum of the implicit H atom polarizability values around the given heavy atom.- Parameters:
index
- is the heavy atom index- Returns:
- the sum of the implicit H atom polarizability values
- Since:
- Marvin 4.1
-
getMolPolarizability
public double getMolPolarizability()Returns the molecular polarizability value.- Returns:
- the molecular polarizability value
-
getAveragePolarizabilityComponent
public double getAveragePolarizabilityComponent()Returns the average polarizability component (forgeom3D=true
, seesetGeom3D(boolean)
).- Returns:
- the average polarizability component
-
getPrincipalPolarizabilityComponents
public double[] getPrincipalPolarizabilityComponents()Returns the principal componentsa(xx), a(yy), a(zz)
of polarizability tensor (forgeom3D=true
, seesetGeom3D(boolean)
).- Returns:
- the principal polarizability component array
-
getResultTypes
Returns the result types (possible types: sigma, pi, total).- Overrides:
getResultTypes
in classCalculatorPlugin
- Returns:
- the result types
-
getResultDomain
Returns the calculation domainCalculatorPlugin.ATOM
orCalculatorPlugin.MOLECULE
.- Overrides:
getResultDomain
in classCalculatorPlugin
- Parameters:
type
- is the result type- Returns:
CalculatorPlugin.ATOM
- See Also:
-
getResultCount
Returns the number of result items for the given result key. Polarizability returns the atom count for type "atomic",1
for type "molecular".- Overrides:
getResultCount
in classCalculatorPlugin
- Parameters:
type
- is the result type- Returns:
- the number of result items
- See Also:
-
getResult
Returns the result item for the specified type and index. Polarizability returns the atom polarizability value as a Double object.- Overrides:
getResult
in classCalculatorPlugin
- Parameters:
type
- is the result type (not used)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
Returns the specified result in String format. Polarizability returns the rounded atom polarizability value in string format: the value is rounded using the 'precision' input parameter that determines the number of fractional digits displayed.- 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
-
getResultMolecule
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 classCalculatorPlugin
- Returns:
- the result molecule
- Throws:
PluginException
- on error- Since:
- Marvin 4.0
-
tags
Description copied from interface:TaggedCalculator
Returns the set of tags reported by this calculator. The same tags should be returned unless the calculator is modified using a mutator method, e.g. if some settings are changed.New tags can be introduced and reported in the future by existing calculators, so do not depend on the exact set of reported tags, only check for the presence of certain tags.
- Returns:
- the tags
-