|
|||||||||
| 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.HBDAPlugin
public class HBDAPlugin
Plugin class for H bond acceptor/donor calculation.
API usage example:
// create plugin
HBDAPlugin plugin = new HBDAPlugin();
// set plugin parameters
plugin.setDoublePrecision(2);
plugin.setpHLower(2.0);
plugin.setpHUpper(12.0);
plugin.setpHStep(2.0);
// optional: take major microspecies at pH=7.4
// skip this if you want to calculate HBDA for the input molecule as it is
plugin.setpH(7.4);
// read target molecule
MolImporter mi = new MolImporter("target.mol");
Molecule mol = mi.read();
mi.close();
// set target molecule
plugin.setMolecule(mol);
// run the calculation
plugin.run();
// get results
// average acceptor/donor counts by microspecies distributions at given pH-s
double[] pHs = plugin.getpHs();
double[] msacc = plugin.getMsAcceptorCounts();
double[] msdon = plugin.getMsDonorCounts();
System.out.println("pH\tmsacc\tmsdon");
for (int i=0; i
For concurrent plugin example applications using ChemAxon's concurrent framework, refer to the
Concurrent plugin examples.
Field Summary
static java.lang.String
ACCEPTOR_SIGN
Acceptor sign displayed in GUI.
static java.lang.String
DONOR_SIGN
Donor sign displayed in GUI.
static double
EPSILON
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, INCORRECT_AROMATIC_NITROGEN_REMARK, INSTABLE_TAUTOMERIC_FORM_REMARK, licenseEnvironment, MOLECULE, NAN, PLUGIN_CLASS_KEY, PLUGIN_DIR, RED
Constructor Summary
HBDAPlugin()
Constructor.
Method Summary
void
checkMolecule(Molecule mol)
Checks the input molecule.
int
getAcceptorAtomCount()
Returns the overall acceptor atom count (without multiplicity) in the molecule.
int
getAcceptorCount()
Returns the overall acceptor count (with multiplicity) in the molecule.
int
getAcceptorCount(int index)
Returns the atomic acceptor count corresponding to the specified atom index.
int
getDonorAtomCount()
Returns the overall donor atom count (without multiplicity) in the molecule.
int
getDonorCount()
Returns the overall donor count (with multiplicity) in the molecule.
int
getDonorCount(int index)
Returns the atomic donor count corresponding to the specified atom index.
java.lang.String
getErrorMessage()
Returns the calculation error information message if run()
returned false (calculation error): hydrogen valence error.
double[]
getMsAcceptorCounts()
Returns the average acceptor counts over the microspecies distribution
for different pH-s.
double[]
getMsDonorCounts()
Returns the average donor counts over the microspecies distribution
for different pH-s.
double[]
getpHs()
Returns the pH array.
java.lang.Object
getResult(java.lang.Object type,
int index)
Returns the result item for the specified type and index.
int
getResultAsRGB(java.lang.Object type,
int index,
java.lang.Object result)
Returns the specified result color(s) as int format
(alpha<<24 + red<<16 + green<<8 + blue).
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.
long
getResultsAsRGB(java.lang.Object type,
int index,
java.lang.Object result)
Returns the specified result color(s) as int format
(alpha<<24 + red<<16 + green<<8 + blue).
java.lang.String
getResultsAsString(java.lang.Object type,
int index,
java.lang.Object result)
Returns the specified result in GUI-specific String format:
A for acceptor, D for donor.
java.lang.Object[]
getResultTypes()
Returns the result types.
java.lang.String
getTypeString(java.lang.Object type)
Returns a string representation of the given type.
java.lang.String
getWarningMessage()
Returns the calculation warning information message
if no H-bond donor/acceptor atoms found, returns
the empty string otherwise.
boolean
isLicensed()
Returns true if the plugin is licensed.
protected boolean
isMsCalc()
Returns true if microspecies calculation.
boolean
isNegligibleResult(java.lang.Object type,
int index,
java.lang.Object result)
Returns whether the result can be ignored.
boolean
run()
Runs the charge calculation.
protected void
setGUIMode(boolean guimode)
Sets GUI mode.
protected void
setInputMolecule(Molecule mol)
Sets the input molecule.
void
setMsCalc(boolean mscalc)
Sets microspecies calculation.
void
setParameters(java.util.Properties params)
Sets the input parameters for the plugin.
void
setpHLower(double lower)
Sets pH lower limit for the calculation of microspecies distributions.
void
setpHStep(double step)
Sets pH step for the calculation of microspecies distributions.
void
setpHUpper(double upper)
Sets pH upper limit for the calculation of microspecies distributions.
Methods inherited from class chemaxon.marvin.calculations.MajorMicrospeciesAccessorPlugin
createModifiedInputMolecule, getIonizerErrorMessage, getpH, setpH, standardize
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Field Detail
EPSILON
public static final double EPSILON
- See Also:
- Constant Field Values
ACCEPTOR_SIGN
public static final java.lang.String ACCEPTOR_SIGN
- Acceptor sign displayed in GUI.
- See Also:
- Constant Field Values
DONOR_SIGN
public static final java.lang.String DONOR_SIGN
- Donor sign displayed in GUI.
- See Also:
- Constant Field Values
Constructor Detail
HBDAPlugin
public HBDAPlugin()
- Constructor.
Creates the calculator object.
Method Detail
isLicensed
public boolean isLicensed()
- Description copied from class:
CalculatorPlugin
- Returns
true if the plugin is licensed. Implement this only if you want to sell your plugin and
protect it with a license key. The default implementation always returns true which means that
the plugin is free: no license key is required. This method returns only information about the licensing,
license checking has to be implemented separately.
- Specified by:
isLicensed in interface chemaxon.license.Licensable- Overrides:
isLicensed in class MajorMicrospeciesAccessorPlugin
- Returns:
true if the plugin is licensed
setParameters
public void setParameters(java.util.Properties params)
throws PluginException
- Sets the input parameters for the plugin.
Charge parameters and value ranges:
- type:
- acc: atomic acceptors
- don: atomic donors
- accsitecount: molecular acceptor count with multiplicity
- donsitecount: molecular donor count with multiplicity
- acceptorcount: molecular acceptor atom count without multiplicity
- donorcount: molecular donor atom count without multiplicity
- msacc: average acceptor count over microspecies by pH
- msdon: average donor count over microspecies by pH
- precision: 0-8 or inf
(number of displayed fractional digits, inf for unrounded value)
- lower: pH lower limit (default: 0.0)
- upper: pH upper limit (default: 14.0)
- count: pH step count between lower and upper limits (default: 0.5)
- Overrides:
setParameters in class MajorMicrospeciesAccessorPlugin
- Parameters:
params - is the parameter table
- Throws:
PluginException - on error
setpHLower
public void setpHLower(double lower)
- Sets pH lower limit for the calculation of microspecies distributions.
Also activates the calculation of microspecies distributions.
The default value is
0.0.
- Parameters:
lower - is the pH lower limit- Since:
- Marvin 3.5.1
setpHUpper
public void setpHUpper(double upper)
- Sets pH upper limit for the calculation of microspecies distributions.
Also activates the calculation of microspecies distributions.
The default value is
14.0.
- Parameters:
upper - is the pH upper limit- Since:
- Marvin 3.5.1
setpHStep
public void setpHStep(double step)
- Sets pH step for the calculation of microspecies distributions.
Also activates the calculation of microspecies distributions.
The default value is
0.5.
- Parameters:
step - is the pH step- Since:
- Marvin 3.5.1
setMsCalc
public void setMsCalc(boolean mscalc)
- Sets microspecies calculation.
- Parameters:
mscalc - is true if microspecies calculation required- Since:
- Marvin 3.5.1
- See Also:
setpHLower(double lower),
setpHUpper(double upper),
setpHStep(double step),
MajorMicrospeciesAccessorPlugin.setpH(double pH)
isMsCalc
protected boolean isMsCalc()
- Returns
true if microspecies calculation.
- Overrides:
isMsCalc in class CalculatorPlugin
- Returns:
true if microspecies calculation
checkMolecule
public void checkMolecule(Molecule mol)
throws PluginException
- Checks the input molecule.
Throws exception if the molecule molecule contains R-groups.
- Overrides:
checkMolecule in class MajorMicrospeciesAccessorPlugin
- 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 class CalculatorPlugin
- Parameters:
mol - is the input molecule
- Throws:
PluginException - on error
run
public boolean run()
throws PluginException
- Runs the charge calculation.
- Specified by:
run in class CalculatorPlugin
- Returns:
- true if the calculation was successful, false on calculation error
- Throws:
PluginException - on error- See Also:
CalculatorPlugin.getErrorMessage()
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 MajorMicrospeciesAccessorPlugin
- Returns:
- the calculation error information message
getWarningMessage
public java.lang.String getWarningMessage()
- Returns the calculation warning information message
if no H-bond donor/acceptor atoms found, returns
the empty string otherwise.
- Overrides:
getWarningMessage in class CalculatorPlugin
- Returns:
- the calculation warning information message
getpHs
public double[] getpHs()
- Returns the pH array.
- Returns:
- the pH array
getMsAcceptorCounts
public double[] getMsAcceptorCounts()
- Returns the average acceptor counts over the microspecies distribution
for different pH-s. The pH array is returned by
getpHs() and
determined by the "lower", "upper" and "step" plugin parameters.
- Returns:
- the average acceptor counts over the microspecies distribution
for pH-s returned by
getpHs()
getMsDonorCounts
public double[] getMsDonorCounts()
- Returns the average donor counts over the microspecies distribution
for different pH-s. The pH array is returned by
getpHs()
and determined by the "lower", "upper" and "step" plugin parameters.
- Returns:
- the average donor counts over the microspecies distribution
for pH-s returned by
getpHs()
getAcceptorCount
public int getAcceptorCount(int index)
- Returns the atomic acceptor count corresponding to the specified atom index.
- Parameters:
index - is the atom index
- Returns:
- the atomic acceptor count,
-1 for H atoms
getDonorCount
public int getDonorCount(int index)
- Returns the atomic donor count corresponding to the specified atom index.
- Parameters:
index - is the atom index
- Returns:
- the atomic donor count,
-1 for H atoms
getAcceptorCount
public int getAcceptorCount()
- Returns the overall acceptor count (with multiplicity) in the molecule.
- Returns:
- the overall acceptor count (with multiplicity) in the molecule
getDonorCount
public int getDonorCount()
- Returns the overall donor count (with multiplicity) in the molecule.
- Returns:
- the overall donor count (with multiplicity) in the molecule
getAcceptorAtomCount
public int getAcceptorAtomCount()
- Returns the overall acceptor atom count (without multiplicity) in the molecule.
- Returns:
- the overall acceptor atom count (without multiplicity) in the molecule
getDonorAtomCount
public int getDonorAtomCount()
- Returns the overall donor atom count (without multiplicity) in the molecule.
- Returns:
- the overall donor atom count (without multiplicity) in the molecule
getResultTypes
public java.lang.Object[] getResultTypes()
- Returns the result types.
The possible types are described in
setParameters(Properties params).
- Overrides:
getResultTypes in class CalculatorPlugin
- Returns:
- the result types
setGUIMode
protected void setGUIMode(boolean guimode)
- Sets GUI mode.
- Parameters:
guimode - is true if GUI mode
getResultDomain
public int getResultDomain(java.lang.Object type)
- Returns the calculation domain
CalculatorPlugin.ATOM or
CalculatorPlugin.MOLECULE.
HBDA returns CalculatorPlugin.ATOM for types "acc" and "don",
CalculatorPlugin.MOLECULE for types "accsitecount", "donsitecount",
"acceptorcount", "donorcount",
and returns CalculatorPlugin.MOLECULE for type "msacc" and "msdon".
- Overrides:
getResultDomain in class CalculatorPlugin
- Parameters:
type - is the result type
- Returns:
- the domain as described above
- See Also:
getResultTypes()
getResultCount
public int getResultCount(java.lang.Object type)
- Returns the number of result items for the given result type.
Returns the atom count for types "acc" and "don",
1 otherwise.
- Overrides:
getResultCount in class CalculatorPlugin
- Parameters:
type - is the result type
- Returns:
- the number of result items
- See Also:
getResultTypes()
getResult
public java.lang.Object getResult(java.lang.Object type,
int index)
throws PluginException
- Returns the result item for the specified type and index.
HBDA returns the
(pH, acceptor/donor count) arrays for types "msacceptor"
and "msdonor" as a double[2][] with the 0-th element being
the pH array and the 1-st element being the
acceptor/donor count array. For types "acc" and "don"
HBDA returns the acceptor/donor count corresponding to the
specified atom index. For types "accsitecount" and "donsitecount" HBDA returns
the sum of the atomic values.
cc * @see #getResultTypes()
- Overrides:
getResult in class CalculatorPlugin
- Parameters:
type - is the result type
("acc", "don", "msacc", "msdon", "accsitecount", "donsitecount", "acceptorcount", "donorcount")index - is the atom index for types "acc", "don",
N/A for "msacc", "msdon", "accsitecount", "donsitecount", "acceptorcount", "donorcount"
- Returns:
- the result item for the specified type and index
- Throws:
PluginException - if the result cannot be returned- See Also:
CalculatorPlugin.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.
- Overrides:
getResultAsString in class CalculatorPlugin
- 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
getResultAsRGB
public int getResultAsRGB(java.lang.Object type,
int index,
java.lang.Object result)
throws PluginException
- Returns the specified result color(s) as int format
(alpha<<24 + red<<16 + green<<8 + blue).
Returns "red" for acceptor "blue" for donor.
- Overrides:
getResultAsRGB in class CalculatorPlugin
- Parameters:
type - is the result typeindex - is the result indexresult - is the result item
- Returns:
- the specified result in color as int
- Throws:
PluginException - if an invalid result item is given
getResultsAsRGB
public long getResultsAsRGB(java.lang.Object type,
int index,
java.lang.Object result)
throws PluginException
- Returns the specified result color(s) as int format
(alpha<<24 + red<<16 + green<<8 + blue).
Returns "red" for acceptor "blue" for donor.
- Overrides:
getResultsAsRGB in class CalculatorPlugin
- Parameters:
type - is the result typeindex - is the result indexresult - is the result item
- Returns:
- the specified result in color as int
- Throws:
PluginException - if an invalid result item is given
getResultsAsString
public java.lang.String getResultsAsString(java.lang.Object type,
int index,
java.lang.Object result)
throws PluginException
- Returns the specified result in GUI-specific String format:
A for acceptor, D for donor.
- Overrides:
getResultsAsString in class CalculatorPlugin
- 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 java.lang.String getTypeString(java.lang.Object type)
- Returns a string representation of the given type.
- Overrides:
getTypeString in class CalculatorPlugin
- Parameters:
type - is the type object
- Returns:
- the type string
isNegligibleResult
public boolean isNegligibleResult(java.lang.Object type,
int index,
java.lang.Object result)
throws PluginException
- Returns whether the result can be ignored.
Returns
true for microspecies acceptor/donor count below EPSILON.
Returns false for all other results.
- Overrides:
isNegligibleResult in class CalculatorPlugin
- Parameters:
type - is the result typeindex - is the result indexresult - is the result object
- Returns:
- true for microspecies acceptor/donor count below
EPSILON
- Throws:
PluginException
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 class CalculatorPlugin
- Returns:
- the result molecule
- Throws:
PluginException - on error- Since:
- Marvin 4.0
Overview
Package
Class
Tree
Deprecated
Index
Help
PREV CLASS
NEXT CLASS
FRAMES
NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD
DETAIL: FIELD | CONSTR | METHOD