Package chemaxon.marvin.calculations
Class OrbitalElectronegativityPlugin
- java.lang.Object
-
- chemaxon.marvin.plugin.CalculatorPlugin
-
- chemaxon.marvin.calculations.MajorMicrospeciesAccessorPlugin
-
- chemaxon.marvin.calculations.OrbitalElectronegativityPlugin
-
- All Implemented Interfaces:
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:
- J.Gasteiger and M.Marsili: Tetrahedron Vol. 36. , pp. 3219-3288 (1980)
- M.Marsili and J.Gasteiger: International Symposium on Aromaticity, Dubrovnik, Yugoslavia , Sept (1979), Croat.Chim.Acta. (1979)
- Steven L. Dixon and Peter C. Jurs: J.Comp.Chem., Vol.13. No.4, 492-504 (1992)
- 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
-
-
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 OrbitalElectronegativityPlugin()
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getErrorMessage()
Returns the calculation error information message ifrun()
returned false (calculation error): hydrogen valence error.double
getPiOEN(int index)
Returns the pi orbital electronegativity of a specified atom.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 type 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 type.int
getResultDomain(Object type)
Returns the calculation domainCalculatorPlugin.ATOM
orCalculatorPlugin.MOLECULE
.Molecule
getResultMolecule()
Returns the result molecule for display.Object[]
getResultTypes()
Returns the result types (possible types: "sigma", "pi").double
getSigmaOEN(int index)
Returns the sigma orbital electronegativity of a specified atom.String
getTypeString(Object type)
Returns a string representation of the given type.boolean
isLicensed()
Returnstrue
if the plugin is licensed.boolean
run()
Runs the orbital electornegativity calculation.protected void
setInputMolecule(Molecule mol)
Sets the input molecule.void
setParameters(Properties params)
Sets the input parameters for the plugin.void
setTakeResonantStructures(boolean resonance)
Sets calculation with resonant structures.-
Methods inherited from class chemaxon.marvin.calculations.MajorMicrospeciesAccessorPlugin
checkMolecule, createModifiedInputMolecule, getIonizerErrorMessage, getpH, 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
-
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
public String getProductName()
Returns the product identifier of the plugin as given byLicenseManager
.- Specified by:
getProductName
in classCalculatorPlugin
- 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 classMajorMicrospeciesAccessorPlugin
- 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
- istrue
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 classCalculatorPlugin
- 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 classCalculatorPlugin
- Returns:
- true if the calculation was successful, false on calculation error
- 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
-
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 classCalculatorPlugin
- Returns:
- the result types
-
getResultDomain
public int getResultDomain(Object type)
Returns the calculation domainCalculatorPlugin.ATOM
orCalculatorPlugin.MOLECULE
. Orbital electornegativity plugin always returnsCalculatorPlugin.ATOM
.- Overrides:
getResultDomain
in classCalculatorPlugin
- Parameters:
type
- is the result type- Returns:
CalculatorPlugin.ATOM
- See Also:
getResultTypes()
-
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 classCalculatorPlugin
- Parameters:
type
- is the result type- Returns:
- the number of result items
- See Also:
getResultTypes()
-
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
-
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 classCalculatorPlugin
- 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:
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
-
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
-
-