chemaxon.calculations
This package contains various calculations for molecules.
GitHub examples: https://github.com/ChemAxon/python-examples/blob/main/jupyter/02_calculators.ipynb
Predict hERG class inhibition.
For more information: https://docs.chemaxon.com/latest/calculators_herg.html#the-herg-classification-model
Parameters
- mol:
chemaxon.Molecule- Input molecule
Returns
HergClassResult- Result object containing classification
hERG inhibition prediction result object
Enumeration for hERG inhibition classification types used in the hERG classification predictor.
Predict hERG inhibition activity.
For more information: https://docs.chemaxon.com/latest/calculators_herg.html#the-herg-activity-model
Parameters
- mol:
chemaxon.Molecule- Input molecule
Returns
int- Predicted hERG inhibition activity
hERG inhibition activity prediction result object
Predict blood-brain barrier penetration.
For more information: https://docs.chemaxon.com/latest/calculators_bbb-score.html#blood-brain-barrier-bbb-score-predictor
Parameters
- mol:
chemaxon.Molecule- Input molecule
Returns
BbbResult- Predicted blood-brain barrier scores by properties and the overall (multiplied) score
Blood-brain barrier penetration prediction result object
Predicted blood-brain barrier penetration scores for each property used in the prediction, as well as the predicted value for each property.
Enumeration for blood-brain barrier penetration properties used in the BBB predictor.
Blood-brain barrier penetration prediction property object
Predict CNS MPO score.
For more information: https://docs.chemaxon.com/latest/calculators_cns-mpo-score.html
Parameters
- mol:
chemaxon.Molecule- Input molecule
Returns
CnsMpoResult- Predicted CNS MPO score and scores by properties
CNS MPO score prediction result object
Predicted CNS MPO scores for each property used in the prediction, as well as the predicted value for each property.
Enumeration for CNS MPO score prediction properties used in the CNS MPO predictor.
CNS MPO score prediction property
Charge calculation.
Link: https://docs.chemaxon.com/display/docs/calculators_charge-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule
Returns
int- The formal charge
Charge calculation.
Link: https://docs.chemaxon.com/display/docs/calculators_charge-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule
Returns
ChargeResult class for storing charge calculation results.
This class contains the results of charge calculations including formal charges and total charges for atoms in a molecule.
List of ChargeValue objects containing charge values for individual atoms
ChargeValue class for storing charge values for individual atoms.
Calculate conformers for a molecule. Conformational isomerism is a form of isomerism that describes the phenomenon of molecules with the same structural formula having different 3D structure. Conformations are transformed into each other by rotations along rotatable bonds. Different conformations might have different energies.
Link: https://docs.chemaxon.com/latest/calculators_conformer-plugin.html
Parameters
- mol:
chemaxon.Molecule- The molecule for which to calculate conformers. - options:
ConformerOptions- The options for the conformer generation calculation.
Returns
list[ConformerResult]- The list of conformers and their energies, sorted by energy in ascending order.
Class representing the options for a conformer generation calculation.
Force field to use for conformer generation. Default is ConformerForceField.DREIDING.
Unit for energy values. Default is ConformerEnergyUnit.KCAL_PER_MOL.
Optimization limit. Default is ConformerOptimization.NORMAL.
The supported types of force fields for the conformer generation calculation.
DREIDING force field, a generic force field for molecular mechanics simulations.
Merck Molecular force field, a widely used force field for small molecules.
The supported types of energy units for the conformer generation calculation.
kcal/mol, a common unit for energy in molecular mechanics simulations. Note that 1 kcal/mol is approximately equal to 4.184 kJ/mol.
kJ/mol, a common unit for energy in molecular mechanics simulations.
The supported types of optimization limits for the conformer generation calculation.
Very loose optimization limit, allowing for a larger number of conformers to be generated with less strict energy minimization.
Normal optimization limit, providing a balance between the number of conformers generated and the quality of energy minimization.
Strict optimization limit, resulting in fewer conformers being generated but with more rigorous energy minimization.
Very strict optimization limit, producing a small number of conformers with very rigorous energy minimization.
Class representing the result of a conformer generation for a single conformer.
Create new instance of ConformerResult(conformer, energy)
Evaluate chemical terms function.
Chemaxon's Chemical Terms is a language for adding advanced chemical intelligence to cheminformatics applications.
Chemical Terms provides chemistry and mathematical functions including:
- property predictions
- functional group recognition
- isomer enumeration
- conformer selection
- ring and distance based topological functions
- other electronical, steric and structural functions
Link: https://docs.chemaxon.com/display/docs/chemical-terms_index.html
Parameters
- mol:
chemaxon.Molecule- Input molecule - expression:
str- chemterms expression - mol_format:
str- (optional) format of the result molecule if the result is a molecule or molecule array (default format is smiles)
Returns
str- result
Hydrophilic-lipophilic balance calculation.
The hydrophilic-lipophilic balance number (HLB number) measures the degree of a molecule being hydrophilic or lipophilic. This number is calculated based on identifying various hydrophil and liphophil regions in the molecule. This number is a commonly used descriptor in any workflow in which lipid based delivery can be an option (e.g. lipid-based drug delivery, cosmetics).
Link: https://docs.chemaxon.com/display/docs/calculators_hlb-predictor.html
Parameters
- mol:
chemaxon.Molecule- Input molecule - method:
HlbMethod- This option is for selecting the applied method for the HLB calculation:- CHEMAXON (default)
- DAVIES
- GRIFFIN
- REQUIRED
Returns
float- The calculated HLB value
The supported methods for the HLB calculation.
This is a consensus method based on the other two methods with optimal weights
Experimental value, characteristic to the compound used in (O/W) emulsions
Calculate the isoelectric point of a molecule.
Additional details: https://docs.chemaxon.com/latest/calculators_isoelectric-point-pi-calculation.html
Parameters
- mol:
chemaxon.Molecule- The molecule for which the isoelectric point will be calculated. - ph_range:
PhRange- pH values on which the charge distribution will be calculated. - consider_tautomerization:
bool- Whether to consider tautomerization during the calculation.
Returns
IsoelectricPointResult- The result object containing the isoelectric point and charge distributions. If the provided pH range does not include the isoelectric point, Nan is returned as the isoelectric point.
Isoelectric point calculator result object
The charge distribution of the molecule at different pH values.
Charge distribution result object
logD calculation.
Compounds having ionizable groups exist in solution as a mixture of different ionic forms. The ionization of those groups, thus the ratio of the ionic forms depends on the pH. Since logP describes the hydrophobicity of one form only, the apparent logP value can be different. The logD represents the octanol-water coefficient of compounds at a given pH value.
Link: https://docs.chemaxon.com/display/docs/calculators_logd-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule - ph:
float- Calculates logD value at this pH - method:
LogPMethod- This option is for selecting the applied method for the logP prediction:- CONSENSUS
- CHEMAXON
- consider_tautomerization:
bool- In case of tautomer structures, all dominant tautomers at the given pH are taken into account during the logD calculation
Returns
float- The calculated logD value
logD calculation on a range of ph values.
Parameters
- mol:
chemaxon.Molecule- Input molecule - ph_range:
PhRange- Calculates logD value at these pH values - method:
LogPMethod- This option is for selecting the applied method for the logP prediction:- CONSENSUS
- CHEMAXON
- consider_tautomerization:
bool- In case of tautomer structures, all dominant tautomers at the given pH are taken into account during the logD calculation
Returns
list[LogDResult]- The calculated logD values for the given pH range as a list ofLogDResultobjects.
LogD calculator result object
logP calculation.
The logp function calculates the logarithm of the octanol/water partition coefficient (logP), which is used in QSAR analysis and rational drug design as a measure of molecular lipophylicity/hydrophobicity.
Link: https://docs.chemaxon.com/display/docs/calculators_logp-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule - method:
LogPMethod- This option is for selecting the applied method for the logP prediction:- CONSENSUS: Consensus model built on the Chemaxon and Klopman et al. models and the PhysProp database
- CHEMAXON: Chemaxon's own logP model, which is based on the VG method
- anion:
float- Cl- concentration - kation:
float- Na+ K+ concentration - consider_tautomerization:
bool- In case of tautomer structures, all dominant tautomers at the given pH are taken into account during the logP calculation - ph:
float- If set, calculates logP value at this pH
Returns
float- The calculated logP
logP by atom calculation.
The logp function calculates the logarithm of the octanol/water partition coefficient (logP), which is used in QSAR analysis and rational drug design as a measure of molecular lipophylicity/hydrophobicity.
Link: https://docs.chemaxon.com/display/docs/calculators_logp-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule - method:
LogPMethod- This option is for selecting the applied method for the logP prediction:- CONSENSUS: Consensus model built on the Chemaxon and Klopman et al. models and the PhysProp database
- CHEMAXON: Chemaxon's own logP model, which is based on the VG method
- anion:
float- Cl- concentration - kation:
float- Na+ K+ concentration - consider_tautomerization:
bool- In case of tautomer structures, all dominant tautomers at the given pH are taken into account during the logP calculation - ph:
float- If set, calculates logP value at this pH
Returns
LogPResult- The calculated logP
LogPResult
The supported methods for the logP calculation.
Consensus model built on the Chemaxon and Klopman et al. models and the PhysProp database
Result for a single atom's logP contribution.
Major Microspecies calculation.
The Major Microspecies determines the major (de)protonated form of the molecule at a specified pH.
Link: https://docs.chemaxon.com/display/docs/calculators_major-microspecies-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule - ph:
float- Calculates major microspecies at this pH - take_major_tautomeric_form:
bool- If major tautomeric form should be taken - keep_explicit_hydrogens:
bool- If explicit hydrogens should be kept on the result molecule
Returns
chemaxon.Molecule- Major microspecies molecule
Class representing pH range. The range goes from lower_bound to upper_bound
(inclusive) with the step size of step.
pKa calculation.
Most molecules contain some specific functional groups likely to lose or gain proton(s) under specific circumstances. Each equilibrium between the protonated and deprotonated forms of the molecule can be described with a constant value called p K a. The pka function calculates the pKa values of the molecule based on its partial charge distribution.
Link: https://docs.chemaxon.com/display/docs/calculators_pka-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule - consider_tautomerization:
bool- Whether to consider tautomerization and resonance during pKa calculation - calculate_micro:
bool- Whether to calculate micro-pKa values. In case of false, macro-pKa values will be calculated. - use_large_model:
bool- Whether to use large pKa model.- small: optimized for at most 8 ionizable atoms
- large: optimized for a large number of ionizable atoms
- min_basic:
float- Minimum basic pKa value to be considered - max_acidic:
float- Maximum acidic pKa value to be considered - number_of_acidic_values:
int- Number of acidic pKa values to be displayed - number_of_basic_values:
int- Number of basic pKa values to be displayed - temperature:
float- Temperature in Kelvin
Returns
PkaResult
PkaValue
Create new instance of PkaValue(atom_index, pka_type, value)
pKa types of the calculated pKa values. This is the type of the pKa function's result.
Pka types to be calculated. This is the input option for the pka function.
Polarizability calculation.
Polarizability is the relative tendency of an electron cloud (a charge distribution) of a molecule to be distorted by an external electric field. The more stable an ionized (charged) site is the more polarizable its vicinity is. Atomic polarizability is altered by partial charges of atoms. The polarizability function is able to calculate the atomic and molecular polarizability values.
Link: https://docs.chemaxon.com/display/docs/calculators_polarizability-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule - ph:
float- Calculates polarizability value at this pH. Optional, skip this if you want to calculate polarizability for the input molecule as it is
Returns
float- polarizability
Atomic Polarizability calculation.
Polarizability is the relative tendency of an electron cloud (a charge distribution) of a molecule to be distorted by an external electric field. The more stable an ionized (charged) site is the more polarizable its vicinity is. Atomic polarizability is altered by partial charges of atoms. The polarizability function is able to calculate the atomic and molecular polarizability values.
Link: https://docs.chemaxon.com/display/docs/calculators_polarizability-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule - ph:
float- Calculates polarizability value at this pH. Optional, skip this if you want to calculate polarizability for the input molecule as it is
Returns
PolarizabilityResult
Result for a single atom's polarizability.
Solubility calculation.
Solubility predictor calculates the aqueous solubility of a compound based on its structure. It is able to calculate two types of solubility: intrinsic and pH-dependent solubility.
The intrinsic solubility (usually denoted as logS0) of an ionizable compound is the solubility that can be measured after an equilibrium of solvation between the dissolved and the solid state is reached at a pH where the compound is fully neutral.
The pH of a solution affects the ionization of the dissolved compound, shifting its solvation equilibrium. With increasing ionization solubility increases compared to the intrinsic solubility.
Link: https://docs.chemaxon.com/latest/calculators_solubility-predictor.html
Parameters
- mol:
chemaxon.Molecule- Input molecule. - ph:
float- pH of the solution. - unit:
SolubilityUnit- unit of the solubility result. Default isLOG_S.
Returns
float- solubility in the specified unit
Solubility calculation in pH range.
Solubility predictor calculates the aqueous solubility of a compound based on its structure. It is able to calculate two types of solubility: intrinsic and pH-dependent solubility.
The pH of a solution affects the ionization of the dissolved compound, shifting its solvation equilibrium. With increasing ionization solubility increases compared to the intrinsic solubility.
This function calculates the pH-dependent solubility in the provided pH range with the provided step size. The result is an array of solubility values in the specified unit.
Link: https://docs.chemaxon.com/latest/calculators_solubility-predictor.html
Parameters
- mol:
chemaxon.Molecule- Input molecule - ph_range:
PhRange- pH range for which the solubility will be calculated. - unit:
SolubilityUnit- unit of the solubility result. Default isLOG_S.
Returns
list[SolubilityResult]- list of solubility results with pH values
The supported types of units for the solubility result.
Solubility calculation result object containing the solubility value with pH.
All tautomer generation. This function generates all tautomers of the input molecule. The tautomers are generated in their original form by default, but they can also be generated in their normal form. The maximum number of tautomers to be generated can be specified.
Link: https://docs.chemaxon.com/latest/calculators_tautomer-generation-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule. - normal:
bool- IfTrue, the tautomers are generated in their normal form. IfFalse, the tautomers are generated in their original form. Default isFalse. - max_tautomers:
int- Maximum number of tautomers to be generated. Default is1000. - options:
TautomerAdvancedOptions- Advanced options for tautomer generation. Default isTautomerAdvancedOptions().
Returns
list[Molecule]- list of tautomers asMoleculeobjects.
Dominant tautomer distributions. This function generates the dominant tautomer distribution of the input molecule. The pH can be specified to generate the tautomers at a specific pH, or it can be generated without considering pH. The maximum number of tautomers to be generated can be specified.
Link: https://docs.chemaxon.com/latest/calculators_tautomer-generation-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule. - ph:
float- If specified, the tautomers are generated at this pH. If not specified, the tautomers are generated without considering pH. Default isNone. - max_tautomers:
int- Maximum number of tautomers to be generated. Default is1000. - options:
TautomerAdvancedOptions- Advanced options for tautomer generation. Default is the defaultTautomerAdvancedOptionsinstance.
Returns
list[DominantTautomerResult]- list of dominant tautomer results.
Canonical tautomer generation.
This function generates the canonical tautomer of the input molecule. The tautomers are generated
in their original form by default, but they can also be generated in their normal form.
The maximum number of tautomers to be generated can be specified. The canonical tautomer is the first tautomer
in the list of tautomers generated by the all_tautomers function, which is the tautomer
with the highest distribution. The canonical tautomer is not necessarily the most stable tautomer, but it is
a representative tautomer that can be used for various purposes, such as structure searching and database indexing.
Link: https://docs.chemaxon.com/latest/calculators_tautomer-generation-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule. - normal:
bool- IfTrue, the tautomers are generated in their normal form. IfFalse, the tautomers are generated in their original form. Default isFalse. - options:
TautomerAdvancedOptions- Advanced options for tautomer generation. Default is the defaultTautomerAdvancedOptionsinstance.
Returns
chemaxon.Molecule- the canonical tautomer asMoleculeobject.
Major tautomer generation. This function generates the major tautomer of the input molecule at a specific pH. The major tautomer is the tautomer with the highest distribution at the specified pH. The pH can be specified to generate the tautomers at a specific pH, or it can be generated without considering pH.
Link: https://docs.chemaxon.com/latest/calculators_tautomer-generation-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule. - ph:
float- If specified, the tautomers are generated at this pH. If not specified, the tautomers are generated without considering pH. Default isNone.
Returns
Molecule- the major tautomer asMoleculeobject.
TautomerAdvancedOptions class for configuring advanced tautomer generation options.
Precision for tautomer generation. If not specified, the default precision is used. Default is None.
Maximum allowed length of the tautomerization path in chemical bonds.
If not specified, the default path length is used. Default is None.
If True, aromaticity is protected during tautomer generation. Default is True.
If True, charged atom is maintain their charge during tautomer generation. Default is True.
If True, antiaromatic ring systems are excluded from tautomer generation. Default is True.
If True, all double bond with stereo information remain intact during tautomer generation.
Default is False.
If True, tetrahedral centers are not included in tautomer generation. Default is False.
If True, stereo centers labeled with chiral flag or MDL Enhanced Stereo Representation flag
will not be included in tautomer generation. Default is False.
Result for a single dominant tautomer with its distribution.
Create new instance of DominantTautomerResult(tautomer, distribution)