|
|||||||||
| 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", "order,localizationEnergy,piEnergy,electronDensity,chargeDensity");
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.getElectrophilicOrder(i);
int orderN = plugin.getNucleophilicOrder(i);
double energyE = plugin.getElectrophilicEnergy(i);
double energyN = plugin.getNucleophilicEnergy(i);
double electronDensity = plugin.getElectronDensity(i);
double chargeDensity = plugin.getChargeDensity(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.
| 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, INCORRECT_AROMATIC_NITROGEN_REMARK, INSTABLE_TAUTOMERIC_FORM_REMARK, licenseEnvironment, MOLECULE, NAN, PLUGIN_CLASS_KEY, PLUGIN_DIR, RED |
| 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()
Returns the eigenvector. |
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)
Returns the electrophilic order of an atom, -1 for no value. |
java.lang.String |
getErrorMessage()
Returns the calculation error information message if run()
returned false (calculation error): hydrogen valence error. |
double[][] |
getHuckelOrbitalCoefficients()
Returns the huckel orbital coefficients. |
double |
getNucleophilicEnergy(int atom)
Returns the nucleophilic energy (localization energy L-) of an atom, Double.NaN for no value. |
int |
getNucleophilicOrder(int atom)
Returns the nucleophilic order of an atom, -1 for no value. |
double |
getPiChargeDensity(int atom)
Deprecated. Use getElectronDensity(int) instead |
java.lang.String |
getProductName()
Returns the product identifier of the plugin as given by LicenseManager. |
double[] |
getRealEigenValue()
Returns the real part of the eigenvalue. |
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 |
getTotalChargeDensity(int atom)
Deprecated. Use getChargeDensity(int) instead |
double |
getTotalPiEnergy()
Returns the total pi energy of the input molecule. |
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.LicensableisLicensed in class MajorMicrospeciesAccessorPlugintrue if the plugin is licensedpublic java.lang.String getProductName()
LicenseManager.
getProductName in class CalculatorPluginLicenseManager.HUCKEL_ANALYSIS_PLUGIN
public void setParameters(java.util.Properties params)
throws PluginException
setParameters in class MajorMicrospeciesAccessorPluginparams - is the parameter table
PluginException - on error
protected void setInputMolecule(Molecule mol)
throws PluginException
setInputMolecule in class CalculatorPluginmol - is the input molecule
PluginException - on error
public boolean run()
throws PluginException
run in class CalculatorPluginPluginException - on errorCalculatorPlugin.getErrorMessage()public java.lang.String getErrorMessage()
run()
returned false (calculation error): hydrogen valence error.
getErrorMessage in class MajorMicrospeciesAccessorPluginpublic java.lang.String getWarningMessage()
getWarningMessage in class CalculatorPluginpublic int getElectrophilicOrder(int atom)
-1 for no value.
atom - is the atom index
public int getNucleophilicOrder(int atom)
-1 for no value.
atom - is the atom index
public double getElectrophilicEnergy(int atom)
Double.NaN for no value.
atom - is the atom index
public double getNucleophilicEnergy(int atom)
Double.NaN for no value.
atom - is the atom index
public double getTotalPiEnergy()
public double[] getRealEigenValue()
public double[][] getEigenVector()
public double[][] getHuckelOrbitalCoefficients()
public double getPiChargeDensity(int atom)
getElectronDensity(int) instead
Double.NaN for no value.
atom - is the atom index
public double getElectronDensity(int atom)
Double.NaN for no value.
atom - is the atom index
public double getTotalChargeDensity(int atom)
getChargeDensity(int) instead
Double.NaN for no value.
atom - is the atom index
public double getChargeDensity(int atom)
Double.NaN for no value.
atom - is the atom index
public java.lang.Object[] getResultTypes()
getResultTypes in class CalculatorPluginpublic java.lang.String getTypeString(java.lang.Object type)
getTypeString in class CalculatorPlugintype - is the type object
public int getResultDomain(java.lang.Object type)
CalculatorPlugin.ATOM or
CalculatorPlugin.MOLECULE.
getResultDomain in class CalculatorPlugintype - is the result type
CalculatorPlugin.ATOM for all types except for "pienergy"getResultTypes()public int getResultCount(java.lang.Object type)
getResultCount in class CalculatorPlugintype - is the result type
getResultTypes()
public java.lang.Object getResult(java.lang.Object type,
int index)
throws PluginException
getResult in class CalculatorPlugintype - 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 CalculatorPlugintype - is the result typeindex - is the result indexresult - is the result item
PluginException - if an invalid result item is given
public java.lang.String getResultsAsString(java.lang.Object type,
int index,
java.lang.Object result)
throws PluginException
getResultsAsString in class CalculatorPlugintype - is the result typeindex - is the result indexresult - is the result item
PluginException - if an invalid result item is given
public long getResultsAsRGB(java.lang.Object type,
int index,
java.lang.Object result)
throws PluginException
getResultsAsRGB in class CalculatorPlugintype - is the result typeindex - is the result indexresult - is the result item
PluginException - if an invalid result item is given
public 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 CalculatorPluginPluginException - on error
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||