|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectchemaxon.marvin.plugin.CalculatorPlugin
chemaxon.marvin.calculations.MajorMicrospeciesAccessorPlugin
chemaxon.marvin.calculations.ChargePlugin
public class ChargePlugin
Plugin class for partial charge calculation. Sigma, pi and total charge values can be calculated by this plugin.
For formal charge calculation use the following methods: MoleculeGraph.getFormalCharge()
, MolAtom.getCharge()
.
References:
API usage example:
// create plugin ChargePlugin plugin = new ChargePlugin(); // read target molecule MolImporter mi = new MolImporter(new ByteArrayInputStream("Clc1cc(Cl)c(Cl)cc1".getBytes())); Molecule mol = mi.read(); mi.close(); // 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); } }
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 | |
---|---|
ChargePlugin()
Constructor. |
Method Summary | |
---|---|
double |
getAromaticRingCharge(int index)
Returns the total partial charge of the smallest aromatic ring containing the specified atom. |
double |
getAromaticRingCharge(int index,
int chgtype)
Returns the 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. |
double |
getAromaticSystemCharge(int index,
int chgtype)
Returns the 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. |
int |
getFormalCharge()
Returns the formal charge of the molecule. |
int |
getFormalCharge(int index)
Returns the formal charge of a specified atom. |
double |
getPiCharge(int index)
Returns the pi charge of a specified atom. |
java.lang.String |
getProductName()
Returns the product identifier of the plugin as given by LicenseManager . |
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 the 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 . |
Molecule |
getResultMolecule()
Returns the result molecule for display. |
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. |
java.lang.String |
getTypeString(java.lang.Object type)
Returns a string representation of the given type. |
boolean |
handlesMultiFragmentMolecules()
Returns true if the plugin handles multifragment molecules,
false otherwise. |
boolean |
isLicensed()
Returns true if the plugin is licensed. |
boolean |
run()
Runs the charge calculation. |
protected void |
setInputMolecule(Molecule mol)
Sets the input molecule. |
Molecule |
setMolecule(Molecule mol,
boolean st,
boolean om)
Sets the input molecule after an optional standardization and/or modification. |
void |
setParameters(java.util.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 java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ChargePlugin()
Method Detail |
---|
public boolean isLicensed()
true
if the plugin is licensed. The license checking
is based on the product name, returned by getProductName()
.
isLicensed
in interface chemaxon.license.Licensable
isLicensed
in class MajorMicrospeciesAccessorPlugin
true
if the plugin is licensedpublic java.lang.String getProductName()
LicenseManager
.
getProductName
in class CalculatorPlugin
LicenseManager.CHARGE_PLUGIN_GROUP
public void setParameters(java.util.Properties params) throws PluginException
setParameters
in class MajorMicrospeciesAccessorPlugin
params
- is the parameter table
PluginException
- on errorpublic void setTakeResonantStructures(boolean resonance)
false
.
resonance
- is true
if charge should be calculated with
resonant structuresprotected void setInputMolecule(Molecule mol) throws PluginException
setInputMolecule
in class CalculatorPlugin
mol
- is the input molecule
PluginException
- on errorpublic Molecule setMolecule(Molecule mol, boolean st, boolean om) throws PluginException
CalculatorPlugin
setMolecule
in class CalculatorPlugin
mol
- is the input moleculest
- is true if standardization is requiredom
- is true if original input molecule is to be used for atom indexing
false if modified molecule is to be used for atom indexing
PluginException
- on errorCalculatorPlugin.setInputMolecule(Molecule)
,
CalculatorPlugin.createStandardizedMolecule(Molecule)
,
CalculatorPlugin.createModifiedInputMolecule(Molecule)
public boolean handlesMultiFragmentMolecules()
CalculatorPlugin
true
if the plugin handles multifragment molecules,
false
otherwise. In the latter case the plugin takes the
fragment with more atoms if a multifragment molecule is given as input.
The default implementation returns false
.
handlesMultiFragmentMolecules
in class CalculatorPlugin
public boolean run() throws PluginException
run
in class CalculatorPlugin
PluginException
- on errorCalculatorPlugin.getErrorMessage()
public java.lang.String getErrorMessage()
run()
returned false (calculation error): hydrogen valence error.
getErrorMessage
in class MajorMicrospeciesAccessorPlugin
public int getFormalCharge()
MoleculeGraph.getFormalCharge()
public int getFormalCharge(int index)
index
- is the atom index
MolAtom.getCharge()
public double getTotalCharge(int index)
index
- is the atom index
Double.NaN
for implicit H-sMolAtom.getCharge()
,
MoleculeGraph.getFormalCharge()
public double getSigmaCharge(int index)
index
- is the atom index
Double.NaN
for implicit H-spublic double getPiCharge(int index)
index
- is the atom index
Double.NaN
for implicit H-spublic double getResultantImplicitHCharge(int index)
index
- is the central atom index
public double getAromaticSystemCharge(int index)
index
- is the atom index
public double getAromaticSystemCharge(int index, int chgtype)
index
- is the atom indexchgtype
- is the charge type: 0 - total, 1 - sigma, 2 - pi
public double getAromaticRingCharge(int index)
index
- is the atom index
public double getAromaticRingCharge(int index, int chgtype)
index
- is the atom indexchgtype
- is the charge type: 0 - total, 1 - sigma, 2 - pi
public java.lang.Object[] getResultTypes()
getResultTypes
in class CalculatorPlugin
public int getResultDomain(java.lang.Object type)
CalculatorPlugin.ATOM
or
CalculatorPlugin.MOLECULE
.
getResultDomain
in class CalculatorPlugin
type
- is the result type
CalculatorPlugin.ATOM
getResultTypes()
public int getResultCount(java.lang.Object type)
getResultCount
in class CalculatorPlugin
type
- is the result type
getResultTypes()
public java.lang.String getTypeString(java.lang.Object type)
getTypeString
in class CalculatorPlugin
type
- is the type object
public java.lang.Object getResult(java.lang.Object type, int index) throws PluginException
getResult
in class CalculatorPlugin
type
- is the result type ("total", "pi", "sigma", "implh", ...)index
- is the atom index
PluginException
- if the result cannot be returnedgetResultTypes()
public java.lang.String getResultAsString(java.lang.Object type, int index, java.lang.Object result) throws PluginException
getResultAsString
in class CalculatorPlugin
type
- is the result typeindex
- is the result indexresult
- is the result item
PluginException
- if an invalid result item is givenpublic Molecule getResultMolecule() throws PluginException
MolAtom.getExtraLabel()
).
Molecular results are stored in molecule properties
with keys being the result types
(Molecule.getProperty(String)
).
getResultMolecule
in class CalculatorPlugin
PluginException
- on error
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |