|
|||||||||
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.HuckelAnalysisPlugin
public class HuckelAnalysisPlugin
Plugin class for Huckel Analysis calculation.
API usage example:
// create plugin HuckelAnalysisPlugin plugin = new HuckelAnalysisPlugin(); // read target molecule MolImporter mi = new MolImporter("target.mol"); Molecule mol = mi.read(); mi.close(); // set plugin parameters Properties params = new Properties(); params.put("type", "hmoorder,hmolocalizationEnergy,hmopiEnergy,hmoelectronDensity,hmochargeDensity"); plugin.setParameters(params); // optional: take major microspecies at pH=7.4 // skip this if you want to calculate Huckel analysis for the input molecule as it is plugin.setpH(7.4); // set target molecule plugin.setMolecule(mol); // run the calculation plugin.run(); // get results double piEnergy = plugin.getTotalPiEnergy(); System.out.println("pi energy: "+piEnergy); System.out.println(); // get and print atomic results in a table System.out.println("atom\torder E(+)\torder Nu(-)\tenergy E(+)\tenergy Nu(-)\telectron dens.\tcharge dens."); int count = mol.getAtomCount(); for (int i=0; i < count; ++i) { int orderE = plugin.getHMOElectrophilicOrder(i); int orderN = plugin.getHMONucleophilicOrder(i); double energyE = plugin.getHMOElectrophilicEnergy(i); double energyN = plugin.getHMONucleophilicEnergy(i); double electronDensity = plugin.getHMOElectronDensity(i); double chargeDensity = plugin.getHMOChargeDensity(i); String str = ""+(i+1); str += "\t"; str += (orderE != -1) ? ""+orderE : "-"; str += "\t"; str += (orderN != -1) ? ""+orderN : "-"; str += "\t"; str += !Double.isNaN(energyE) ? plugin.format(energyE) : "-"; str += "\t"; str += !Double.isNaN(energyN) ? plugin.format(energyN) : "-"; str += "\t"; str += !Double.isNaN(electronDensity) ? plugin.format(electronDensity) : "-"; str += "\t"; str += !Double.isNaN(chargeDensity) ? plugin.format(chargeDensity) : "-"; System.out.println(str); }
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 | |
---|---|
HuckelAnalysisPlugin()
Constructor. |
Method Summary | |
---|---|
double |
getChargeDensity(int atom)
Returns the total charge density of an atom calculated with HMO, Double.NaN for no value. |
double[][] |
getEigenVector()
Deprecated. Use getHMOEigenVector() |
double |
getElectronDensity(int atom)
Returns the electron density of an atom calculated with HMO, Double.NaN for no value. |
double |
getElectrophilicEnergy(int atom)
Returns the electrophilic energy (localization energy L+) of an atom, Double.NaN for no value. |
int |
getElectrophilicOrder(int atom)
Deprecated. Use getHMOElectrophilicOrder(int) |
java.lang.String |
getErrorMessage()
Returns the calculation error information message if run()
returned false (calculation error): hydrogen valence error. |
double |
getHMOChargeDensity(int atom)
Returns the total charge density of an atom calculated with HMO, Double.NaN for no value. |
double[][] |
getHMOEigenVector()
Returns the eigenvector. |
double |
getHMOElectronDensity(int atom)
Returns the electron density of an atom calculated with HMO, Double.NaN for no value. |
double |
getHMOElectrophilicEnergy(int atom)
Returns the electrophilic energy (localization energy L+) of an atom, Double.NaN for no value. |
int |
getHMOElectrophilicOrder(int atom)
Returns the electrophilic order of an atom, -1 for no value. |
double[][] |
getHMOHuckelOrbitalCoefficients()
Returns the huckel orbital coefficients. |
double |
getHMONucleophilicEnergy(int atom)
Returns the nucleophilic energy (localization energy L-) of an atom, Double.NaN for no value. |
int |
getHMONucleophilicOrder(int atom)
Returns the nucleophilic order of an atom, -1 for no value. |
double[] |
getHMORealEigenValue()
Returns the real part of the eigenvalue. |
double |
getHMOTotalPiEnergy()
Returns the total pi energy of the input molecule. |
double[][] |
getHuckelOrbitalCoefficients()
Deprecated. Use getHMOHuckelOrbitalCoefficients() |
double |
getNucleophilicEnergy(int atom)
Returns the nucleophilic energy (localization energy L-) of an atom, Double.NaN for no value. |
int |
getNucleophilicOrder(int atom)
Deprecated. Use getHMONucleophilicOrder(int) |
java.lang.String |
getProductName()
Returns the product identifier of the plugin as given by LicenseManager . |
double[] |
getRealEigenValue()
Deprecated. Use getHMORealEigenValue() |
java.lang.Object |
getResult(java.lang.Object type,
int index)
Returns the result item for the specified key and index. |
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 key. |
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 results in String format. |
java.lang.Object[] |
getResultTypes()
Returns the result types. |
double |
getTotalPiEnergy()
Deprecated. Use getHMOTotalPiEnergy() |
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. |
boolean |
isLicensed()
Returns true if the plugin is licensed. |
boolean |
run()
Runs the Huckel analysis calculation. |
protected void |
setInputMolecule(Molecule mol)
Sets the input molecule. |
void |
setParameters(java.util.Properties params)
Sets the input parameters for the plugin. |
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 HuckelAnalysisPlugin()
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.HUCKEL_ANALYSIS_PLUGIN
public void setParameters(java.util.Properties params) throws PluginException
Types starting with "hmo" are calculated using standard HMO parameters.
setParameters
in class MajorMicrospeciesAccessorPlugin
params
- is the parameter table
PluginException
- on errorprotected void setInputMolecule(Molecule mol) throws PluginException
setInputMolecule
in class CalculatorPlugin
mol
- is the input molecule
PluginException
- on errorpublic 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 java.lang.String getWarningMessage()
getWarningMessage
in class CalculatorPlugin
public int getElectrophilicOrder(int atom)
getHMOElectrophilicOrder(int)
-1
for no value.
atom
- is the atom index
public int getHMOElectrophilicOrder(int atom)
-1
for no value.
Standard HMO parameters are used in calculation.
atom
- is the atom index
public int getNucleophilicOrder(int atom)
getHMONucleophilicOrder(int)
-1
for no value.
atom
- is the atom index
public int getHMONucleophilicOrder(int atom)
-1
for no value.
Standard HMO parameters are used in calculation.
atom
- is the atom index
public double getElectrophilicEnergy(int atom)
Double.NaN
for no value.
atom
- is the atom index
public double getHMOElectrophilicEnergy(int atom)
Double.NaN
for no value.
Standard HMO parameters are used in calculation.
atom
- is the atom index
public double getNucleophilicEnergy(int atom)
Double.NaN
for no value.
atom
- is the atom index
public double getHMONucleophilicEnergy(int atom)
Double.NaN
for no value.
Standard HMO parameters are used in calculation.
atom
- is the atom index
public double getTotalPiEnergy()
getHMOTotalPiEnergy()
public double getHMOTotalPiEnergy()
public double[] getRealEigenValue()
getHMORealEigenValue()
public double[] getHMORealEigenValue()
public double[][] getEigenVector()
getHMOEigenVector()
public double[][] getHMOEigenVector()
public double[][] getHuckelOrbitalCoefficients()
getHMOHuckelOrbitalCoefficients()
public double[][] getHMOHuckelOrbitalCoefficients()
public double getElectronDensity(int atom)
Double.NaN
for no value.
atom
- is the atom index
public double getHMOElectronDensity(int atom)
Double.NaN
for no value.
Standard HMO parameters are used in calculation.
atom
- is the atom index
public double getChargeDensity(int atom)
Double.NaN
for no value.
atom
- is the atom index
public double getHMOChargeDensity(int atom)
Double.NaN
for no value.
Standard HMO parameters are used in calculation.
atom
- is the atom index
public java.lang.Object[] getResultTypes()
getResultTypes
in class CalculatorPlugin
public java.lang.String getTypeString(java.lang.Object type)
getTypeString
in class CalculatorPlugin
type
- is the type object
public int getResultDomain(java.lang.Object type)
CalculatorPlugin.ATOM
or
CalculatorPlugin.MOLECULE
.
getResultDomain
in class CalculatorPlugin
type
- is the result type
CalculatorPlugin.ATOM
for all types except for "pienergy"getResultTypes()
public int getResultCount(java.lang.Object type)
getResultCount
in class CalculatorPlugin
type
- is the result type
getResultTypes()
public java.lang.Object getResult(java.lang.Object type, int index) throws PluginException
getResult
in class CalculatorPlugin
type
- is the result typeindex
- is the result 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
Double.NaN
then returns the empty string.
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 java.lang.String getResultsAsString(java.lang.Object type, int index, java.lang.Object result) throws PluginException
getResultsAsString
in class CalculatorPlugin
type
- is the result typeindex
- is the result indexresult
- is the result item
PluginException
- if an invalid result item is givenpublic long getResultsAsRGB(java.lang.Object type, int index, java.lang.Object result) throws PluginException
getResultsAsRGB
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 |