Package chemaxon.marvin.calculations
Class logPPlugin
java.lang.Object
chemaxon.marvin.plugin.CalculatorPlugin
chemaxon.marvin.calculations.logPPlugin
- All Implemented Interfaces:
TaggedCalculator,chemaxon.license.Licensable
Plugin class for logP calculation.
Both the incremental logP values for atoms
and the overal logP value for the molecule
can be calculated by this plugin.
Reference:
- J.Chem.Inf.Comput.Sci. 1989, 29, 163-172
API usage example:
// fill parameters
Properties params = new Properties();
params.put("type", "logP");
// create plugin
logPPlugin plugin = new logPPlugin();
// set logP calculation method
plugin.setlogPMethod(logPPlugin.METHOD_WEIGHTED);
// set method weights
plugin.setWeightOfMethods(1, 2, 1, 0);
// set parameters
plugin.setCloridIonConcentration(0.2);
plugin.setNaKIonConcentration(0.2);
// set result types
plugin.setUserTypes("logPTrue,logPMicro");
// for each input molecule run the calculation and display the results
System.out.println("molecule\tlogP");
try (MolImporter mi = new MolImporter("targets.sdf")))) {
Molecule target = null;
while ((target = mi.read()) != null) {
// set the input molecule
plugin.setMolecule(target);
// run the calculation
plugin.run();
// get the overall logP value
double logp = plugin.getlogPTrue();
double logpm = plugin.getlogPMicro();
System.out.println("True logP: " + logp);
System.out.println("Micro logP: " + logpm);
System.out.println();
}
}
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
FieldsModifier and TypeFieldDescriptionstatic final intDeprecated, for removal: This API element is subject to removal in a future version.This field will not be available from May 2016.static final intDeprecated, for removal: This API element is subject to removal in a future version.This field will not be available from May 2016.static final intDeprecated, for removal: This API element is subject to removal in a future version.UseLogPMethod.USER_DEFINEDinstead.static final intDeprecated, for removal: This API element is subject to removal in a future version.UseLogPMethod.CHEMAXONinstead.static final intDeprecated, for removal: This API element is subject to removal in a future version.UseLogPMethod.CONSENSUSinstead.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 -
Method Summary
Modifier and TypeMethodDescriptionvoidcheckMolecule(Molecule mol) Checks the input molecule.protected final MoleculeReturns the major tautomeric form of the molecule.doublegetAtomlogPHIncrement(int index) Deprecated, for removal: This API element is subject to removal in a future version.Increments of implicit H-s are not calculated.doublegetAtomlogPIncrement(int index) Returns the logP increment for the specified atom.Returns the calculation error information message ifrun()returned false (calculation error): hydrogen valence error.doubleReturns the logD value at pI.doubleReturns the micro logP value.doubleReturns the logP value for the non-ionic form.doubleReturns the most typical logP among logD at pI, micro logP and nonionic logP.Returns the product identifier of the plugin as given byLicenseManager.Returns the result item for the specified key and index.getResultAsString(Object type, int index, Object result) Returns the specified result in String format.intgetResultCount(Object type) Returns the number of result items for the given result key.intgetResultDomain(Object type) Returns the calculation domainCalculatorPlugin.ATOMorCalculatorPlugin.MOLECULE.Returns the result molecule for display.Object[]Returns the result types.doublegetStandardError(Object type, int index) doubleReturns the structural logP increment.static String[]Returns the id's of available logP trainings.getTypeString(Object type) Returns a string representation of the given type.Object[]Returns the user defined result types.Returns the calculation warning message.booleanbooleanrun()Runs the logP calculation.voidsetCloridIonConcentration(double c) Sets theCl-concentration (default:0.1).voidsetConsiderTautomerization(boolean considerTautomerization) Sets to consider tautomerization.protected voidsetInputMolecule(Molecule mol) Sets the input molecule.voidsetlogPMethod(int method) Deprecated, for removal: This API element is subject to removal in a future version.UsesetlogPMethod(LogPMethod)instead.voidsetlogPMethod(LogPMethod method) Sets the logP calculation method.voidsetNaKIonConcentration(double c) Sets theNa+, K+concentration (default:0.1).voidsetParameters(Properties params) Sets the input parameters for the plugin.voidsetPh(double pH) Sets the pH for logP calculationvoidsetTakeMajorTatomericForm(boolean takeMajorTautomericForm) Deprecated, for removal: This API element is subject to removal in a future version.voidsetTraining(String trainingId) Sets the user defined training.voidsetTrainingResults(InputStream trainingResultStream) Sets the user defined training from a stream.voidsetUserTypes(String chtypes) Sets user types.voidsetWeightOfMethods(double wVG, double wKLOP, double wPHYS, double wUSER) Deprecated, for removal: This API element is subject to removal in a future version.This function will not be available from May 2016.voidstandardize(Molecule mol) Standardizes the molecule.Methods inherited from class chemaxon.marvin.plugin.CalculatorPlugin
addHeavyAtomLimitChecker, addInputChecker, arrangeHydrogenIncerments, canRepeat, checkLicense, checkType, containsCoordinateBond, containsMulticenterSgroup, containsPseudoAtom, containsSRUSgroup, create, create, createStandardizedMolecule, createStandardizedMolecule, dehydrogenize, format, format, format, format, getAtomCount, getAtomIndex, getAtomIndexMap, getAtomIndexMapping, getCalcMolecule, getDisplayMolecule, getDocument, getDoublePrecision, getExplicitHydrogenData, getInputMolDim, getMainMolecule, getOriginalMolecule, getpH, getPluginResource, getQueryMoleculeErrorMessage, getRemark, getResult, getResult, getResult, getResultAsRGB, getResultAsRGB, getResultAsString, getResultCount, getResultDomain, getResultMessage, getResultMolecules, getResultsAsRGB, getResultsAsRGB, getResultsAsString, getResultsAsString, getResultSource, handlesMultiFragmentMolecules, isInputMoleculeAromatized, isLicensed, isMsCalc, isMultiThreadedRunEnabled, isNegligibleResult, isOK, isRgrouped, loadClass, loadPluginClass, loadPluginClass, readAttribute, removeWhitespace, restoreExplicitHydrogens, setAtomIndexMap, setChemicalTermsArgument, setChemicalTermsParameters, setDoublePrecision, setDoublePrecision, setDoublePrecision, setKeepHydrogens, setLicenseEnvironment, setMolecule, setMolecule, setMolecule, setMolecule, setProgressMonitor, standardizeIonicGroupsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface chemaxon.calculator.TaggedCalculator
tags
-
Field Details
-
METHOD_VG
Deprecated, for removal: This API element is subject to removal in a future version.UseLogPMethod.CHEMAXONinstead.logP calculation method "VG"- See Also:
-
METHOD_KLOP
@Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public static final int METHOD_KLOPDeprecated, for removal: This API element is subject to removal in a future version.This field will not be available from May 2016. UseLogPMethodinstead.logP calculation method "KLOP"- See Also:
-
METHOD_PHYS
@Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public static final int METHOD_PHYSDeprecated, for removal: This API element is subject to removal in a future version.This field will not be available from May 2016. UseLogPMethodinstead.logP calculation method "PHYS"- See Also:
-
METHOD_USER_DEFINED
@Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public static final int METHOD_USER_DEFINEDDeprecated, for removal: This API element is subject to removal in a future version.UseLogPMethod.USER_DEFINEDinstead.User defined logP calculation method.- See Also:
-
METHOD_WEIGHTED
@Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public static final int METHOD_WEIGHTEDDeprecated, for removal: This API element is subject to removal in a future version.UseLogPMethod.CONSENSUSinstead.Weighted logP calculation method.- See Also:
-
-
Constructor Details
-
logPPlugin
public logPPlugin()Constructor. Creates the logP calculator object.
-
-
Method Details
-
getProductName
Returns the product identifier of the plugin as given byLicenseManager.- Specified by:
getProductNamein classCalculatorPlugin- Returns:
- The identifier
LicenseManager.PARTITIONING_PLUGIN_GROUP
-
setParameters
Sets the input parameters for the plugin. logP parameters and value ranges:- precision: 0-8 or inf (number of displayed fractional digits, inf for unrounded value)
- anion: Cl- ion concentration (default: 0.1)
- kation: Na+ plus K+ ion concentration (default: 0.1)
- type: increments,logP,logPTrue,logPMicro,logPNonionic,logDpI,logPInvivo (logP means all of, logPTrue means the most typical of logPMicro,logPNonionic,logDpI which exists for the input molecule)
- h: true or false (display increments on implicit H atoms)
- majortautomer: true or false (take major tautomeric form)
- method: vg, klop, phys, user, weighted
- Overrides:
setParametersin classCalculatorPlugin- Parameters:
params- is the parameter table- Throws:
PluginException- on error
-
setPh
public void setPh(double pH) Sets the pH for logP calculation- Parameters:
pH- is the pH
-
setCloridIonConcentration
public void setCloridIonConcentration(double c) Sets theCl-concentration (default:0.1).- Parameters:
c- is the concentration
-
setNaKIonConcentration
public void setNaKIonConcentration(double c) Sets theNa+, K+concentration (default:0.1).- Parameters:
c- is the concentration
-
setConsiderTautomerization
public void setConsiderTautomerization(boolean considerTautomerization) Sets to consider tautomerization. Default:false.- Parameters:
considerTautomerization- the calculation will consider tautomerization and resonance if set (true)- Since:
- Marvin 5.4
-
setTakeMajorTatomericForm
@Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public void setTakeMajorTatomericForm(boolean takeMajorTautomericForm) Deprecated, for removal: This API element is subject to removal in a future version.Sets to use major tautomeric form in calculation. Default:false.- Parameters:
takeMajorTautomericForm- the calculation will be performed on the major tutomeric form of the input molecule if set (true)- Since:
- Marvin 5.0
-
createModifiedInputMolecule
Returns the major tautomeric form of the molecule.- Overrides:
createModifiedInputMoleculein classCalculatorPlugin- Parameters:
mol- is the input molecule- Returns:
- the major tautomeric form of the molecule
- Throws:
PluginException- on error- Since:
- Marvin 5.0
-
setUserTypes
Sets user types. Possible types: logP,logPTrue,logPMicro,logPNonionic,logDpI,logPInvivo (logP means all of, logPTrue means the most typical of logPMicro,logPNonionic,logDpI which exists for the input molecule) multiple values should be separated by "," (e.g.: "logPTrue,logPNonionic,logDpI").- Parameters:
chtypes- is the type string- Throws:
PluginException- for invalid type
-
checkMolecule
Checks the input molecule. Throws exception if the molecule isRxnMolecule, if the molecule contains R-groups or if the molecule consists of more than one fragments.- Overrides:
checkMoleculein classCalculatorPlugin- Parameters:
mol- is the input molecule- Throws:
PluginException- with error message for the user if the molecule is refused
-
setInputMolecule
Sets the input molecule.- Specified by:
setInputMoleculein classCalculatorPlugin- Parameters:
mol- is the (standardized) input molecule- Throws:
PluginException- on error
-
setlogPMethod
Sets the logP calculation method. The available methods are: The default isLogPMethod.CONSENSUS.- Parameters:
method- is the logP calculation method- Since:
- Marvin 15.4.13
-
setlogPMethod
@Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public void setlogPMethod(int method) Deprecated, for removal: This API element is subject to removal in a future version.UsesetlogPMethod(LogPMethod)instead.Sets the logP calculation method. The available methods are: The default isMETHOD_WEIGHTED.- Parameters:
method- is the logP calculation method- Since:
- Marvin 5.1.3
- See Also:
-
setWeightOfMethods
@Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public void setWeightOfMethods(double wVG, double wKLOP, double wPHYS, double wUSER) Deprecated, for removal: This API element is subject to removal in a future version.This function will not be available from May 2016. UsesetlogPMethod(LogPMethod)instead.Sets the weight of logP calculation methods. Default:- weight of
METHOD_VGmethod = 1 - weight of
METHOD_KLOPmethod = 1 - weight of
METHOD_PHYSmethod = 1 - weight of
METHOD_USER_DEFINEDmethod = 0
METHOD_WEIGHTEDmethod.- Parameters:
wVG- weight ofMETHOD_VGmethodwKLOP- weight ofMETHOD_KLOPmethodwPHYS- weight ofMETHOD_PHYSmethodwUSER- weight ofMETHOD_USER_DEFINEDmethod- Since:
- Marvin 5.1.3
- See Also:
- weight of
-
getTrainingIds
Returns the id's of available logP trainings.- Returns:
- the id's of available logP trainings
- Since:
- Marvin 5.4
-
setTraining
Sets the user defined training.- Parameters:
trainingId- the training id- Throws:
PluginException- if training id is invalid, or parameter file for training cannot be loaded- Since:
- Marvin 5.4
-
setTrainingResults
Sets the user defined training from a stream.- Throws:
PluginException- for I/O problems.
-
run
Runs the logP calculation.- Specified by:
runin classCalculatorPlugin- Returns:
- true if the calculation was successful, false on calculation problems
- Throws:
PluginException- on error- See Also:
-
getErrorMessage
Returns the calculation error information message ifrun()returned false (calculation error): hydrogen valence error.- Overrides:
getErrorMessagein classCalculatorPlugin- Returns:
- the calculation error information message
-
getWarningMessage
Returns the calculation warning message.- Overrides:
getWarningMessagein classCalculatorPlugin- Returns:
- the calculation warning information message
- See Also:
-
getlogPMicro
public double getlogPMicro()Returns the micro logP value. The logP calculation should be run beforehand byrun().- Returns:
- the micro logP value
-
getlogPNonionic
public double getlogPNonionic()Returns the logP value for the non-ionic form. The logP calculation should be run beforehand byrun().- Returns:
- the nonionic logP value
-
getlogDpI
public double getlogDpI()Returns the logD value at pI. The logP calculation should be run beforehand byrun().- Returns:
- the logDpI value
-
getlogPTrue
public double getlogPTrue()Returns the most typical logP among logD at pI, micro logP and nonionic logP.- Returns:
- the most typical logP value
-
getAtomlogPIncrement
public double getAtomlogPIncrement(int index) Returns the logP increment for the specified atom.- Parameters:
index- is the atom index- Returns:
- the logP increment
-
getAtomlogPHIncrement
@Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public double getAtomlogPHIncrement(int index) Deprecated, for removal: This API element is subject to removal in a future version.Increments of implicit H-s are not calculated. Returns the same value asgetAtomlogPIncrement(int)Returns the sum of the implicit H logP increments for the specified atom.- Parameters:
index- is the atom index- Returns:
- the logP increment sum
-
getStructurallogPIncrement
public double getStructurallogPIncrement()Returns the structural logP increment. The sum of atomic increments and structural increment is the predicted logP.- Returns:
- the structural logP increment
- Since:
- Marvin 5.4
-
getResultTypes
Returns the result types. Possible result types: "logPTrue" (most typical logP) "logPMicro", "logPNonionic", "logDpI", "increments".- Overrides:
getResultTypesin classCalculatorPlugin- Returns:
- the result types
-
getUserTypes
Returns the user defined result types. Possible result types: "logP" (all of micro logP, nonionic logP and logD at pI), "logPTrue" (most typical logP), "logPMicro", "logPNonionic", "logDpI", "increments".- Returns:
- the result types
-
getTypeString
Returns a string representation of the given type.- Overrides:
getTypeStringin classCalculatorPlugin- Parameters:
type- is the type object- Returns:
- the type string
-
getResultDomain
Returns the calculation domainCalculatorPlugin.ATOMorCalculatorPlugin.MOLECULE. ReturnsCalculatorPlugin.ATOMfor type "increments" andCalculatorPlugin.MOLECULEotherwise.- Overrides:
getResultDomainin classCalculatorPlugin- Parameters:
type- is the result type- Returns:
CalculatorPlugin.MOLECULEorCalculatorPlugin.ATOM- See Also:
-
getResultCount
Returns the number of result items for the given result key. logP returns the atom count for types "increments"1otherwise.- Overrides:
getResultCountin classCalculatorPlugin- Parameters:
type- is the result type- Returns:
- the number of result items
- See Also:
-
getResult
Returns the result item for the specified key and index. logP returns the required logP value as a Double object.- Overrides:
getResultin classCalculatorPlugin- Parameters:
type- is the result typeindex- is the result index- Returns:
- the result item for the specified key and index
- Throws:
PluginException- if the result cannot be returned- See Also:
-
getStandardError
-
getResultAsString
Returns the specified result in String format. logP returns the rounded logP value in string format: the value is rounded using the 'precision' input parameter that determines the number of fractional digits displayed.- Overrides:
getResultAsStringin 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
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 (MPropHandler.convertToString(MPropertyContainer, String)).- Overrides:
getResultMoleculein classCalculatorPlugin- Returns:
- the result molecule
- Throws:
PluginException- on error- Since:
- Marvin 4.0
-
standardize
Standardizes the molecule. This is done by performing the transformations necessary to run the plugin (e.g. aromatize, dehydrogenize, bring nitro groups to common form). Apart from the default standardization (aromatize and nitro) removes explicit hydrogens. Does AROM_BASIC aromatization.- Overrides:
standardizein classCalculatorPlugin- Parameters:
mol- is the molecule to be standardized
-
needError
public boolean needError()
-