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.
The energy unit of a force-field calculation.
Shared by the conformer generation and geometrical descriptors calculations.
kcal/mol (default). Note that 1 kcal/mol is approximately equal to 4.184 kJ/mol.
The optimization limit (convergence tolerance) of the 3D structure optimization.
Controls the trade-off between speed and geometry quality when a 3D conformer is generated (and, for the geometrical descriptors, when an already-3D structure is refined before the Dreiding energy is read). A tighter limit runs more optimization iterations for a lower-energy geometry but is slower. Shared by the conformer generation and geometrical descriptors calculations.
Very loose optimization limit; fastest, least refined geometry.
Normal optimization limit (default); a balance of speed and geometry quality.
Very strict optimization limit; slowest, most rigorous energy minimization.
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 EnergyUnit.KCAL_PER_MOL.
Optimization limit. Default is OptimizationLimit.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.
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
Topological polar surface area (2D PSA) calculation.
The polar surface area (PSA) is the sum of the surfaces of the polar atoms (typically oxygen, nitrogen and the hydrogens attached to them) in a molecule. It is computed from the topology (2D structure) using the fragment-based method of Ertl et al., without the need for a 3D conformation. PSA is a commonly used descriptor for estimating passive membrane permeability and oral bioavailability.
Link: https://docs.chemaxon.com/latest/calculators_polar-surface-area-plugin-2d.html
Parameters
- mol:
chemaxon.Molecule- Input molecule. - ph:
float- Calculates the PSA of the major microspecies at this pH. Optional; skip this (default) to calculate the PSA for the input molecule as it is. - exclude_sulfur:
bool- Whether to exclude sulfur atoms from the calculation. Default isTrue(PubChem-compatible). - exclude_phosphorus:
bool- Whether to exclude phosphorus atoms from the calculation. Default isTrue(PubChem-compatible).
Returns
float- The calculated polar surface area in square angstroms (Ų).
3D van der Waals molecular surface area calculation.
The van der Waals surface area is the area of the surface defined by the van der Waals radii of the atoms of a 3D conformation of the molecule. A 3D structure is generated automatically if the input molecule has no 3D coordinates.
Link: https://docs.chemaxon.com/latest/calculators_molecular-surface-area-plugin-3d.html
Parameters
- mol:
chemaxon.Molecule- Input molecule. - ph:
float- Calculates the surface area of the major microspecies at this pH. Optional; skip this (default) to calculate for the input molecule as it is. - get_increments:
bool- Whether to also compute the per-atom surface area increments. Default isTrue.
Returns
3D solvent accessible molecular surface area calculation.
The solvent accessible surface area (ASA) is the area of the surface traced out by the center of a probe solvent molecule (radius 1.4 Å, i.e. water) rolling over the van der Waals surface of a 3D conformation of the molecule. The result also breaks the ASA down by the partial charge and polarity of the contributing atoms. A 3D structure is generated automatically if the input molecule has no 3D coordinates.
Link: https://docs.chemaxon.com/latest/calculators_molecular-surface-area-plugin-3d.html
Parameters
- mol:
chemaxon.Molecule- Input molecule. - ph:
float- Calculates the surface area of the major microspecies at this pH. Optional; skip this (default) to calculate for the input molecule as it is.
Returns
Result of a 3D van der Waals molecular surface area calculation.
Per-atom surface area increments. Empty when get_increments was False.
Result of a 3D solvent accessible molecular surface area calculation.
Molecule-scope geometrical descriptors of a 3D conformation.
Computes the geometry-based (3D) descriptors of the Chemaxon Geometry plugin: the Dreiding and
MMFF94 strain energies, the minimal/maximal projection area and radius, the minimal/maximal
projection thickness (minZ/maxZ) and the van der Waals volume. A 3D conformer is generated
automatically for input without 3D coordinates (see conformer_generation).
Link: https://docs.chemaxon.com/latest/calculators_geometrical-descriptors-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule. - types:
list[str]- The descriptor types to calculate, given as string names (e.g.["volume", "dreidingenergy"]; case-insensitive, lower-cased, no separators). When given, only the matchingGeometricalDescriptorsResultfields are populated and every other field isNone; the underlying computations for the skipped descriptors are not run. Skip this (default) to calculate all descriptors. An unknown type name raises aValueError. Valid options are:dreidingenergymmff94energyminimalprojectionareamaximalprojectionareaminimalprojectionradiusmaximalprojectionradiusminzmaxZvolume
- conformer_generation:
ConformerGeneration- When to generate a 3D conformer. Default isConformerGeneration.IF_2D. - optimization:
OptimizationLimit- Convergence tolerance of the 3D structure optimization: a tighter limit yields a more refined geometry (and lower Dreiding energy) but is slower. Only affects the conformer-generation and Dreiding-energy refinement paths; it has no effect on already-3D geometry read-outs or the MMFF94 energy. Default isOptimizationLimit.NORMAL. - energy_unit:
EnergyUnit- Unit of the Dreiding and MMFF94 energies. Default isEnergyUnit.KCAL_PER_MOL. - optimize_projection:
bool- WhenTrue, the projection descriptors are computed in a slower but more accurate mode. Default isFalse. - mmff94_optimization:
bool- WhenTrue, conformer optimization uses the MMFF94 force field instead of Dreiding. Default isFalse. - include_conformer:
bool- WhenTrue, the generated lowest-energy 3D conformer is returned in theconformerfield. Default isFalse.
Returns
Distance between two atoms in a 3D conformation, in angstroms (Å).
Link: https://docs.chemaxon.com/latest/calculators_geometrical-descriptors-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule. - atom1:
int- Index (0-based) of the first atom. - atom2:
int- Index (0-based) of the second atom. - conformer_generation:
ConformerGeneration- When to generate a 3D conformer. Default isConformerGeneration.IF_2D.
Returns
float- The interatomic distance in angstroms (Å).
Angle enclosed by three atoms in a 3D conformation, in degrees.
The angle is measured at atom2, between the bonds atom2-atom1 and atom2-atom3.
Link: https://docs.chemaxon.com/latest/calculators_geometrical-descriptors-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule. - atom1:
int- Index (0-based) of the first atom. - atom2:
int- Index (0-based) of the vertex atom. - atom3:
int- Index (0-based) of the third atom. - conformer_generation:
ConformerGeneration- When to generate a 3D conformer. Default isConformerGeneration.IF_2D.
Returns
float- The angle in degrees.
Dihedral (torsion) angle defined by four atoms in a 3D conformation, in degrees.
Link: https://docs.chemaxon.com/latest/calculators_geometrical-descriptors-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule. - atom1:
int- Index (0-based) of the first atom. - atom2:
int- Index (0-based) of the second atom. - atom3:
int- Index (0-based) of the third atom. - atom4:
int- Index (0-based) of the fourth atom. - conformer_generation:
ConformerGeneration- When to generate a 3D conformer. Default isConformerGeneration.IF_2D.
Returns
float- The dihedral angle in degrees.
Calculates steric hindrance of an atom calculated from the covalent radii values and geometrical distances.
Link: https://docs.chemaxon.com/latest/calculators_geometrical-descriptors-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule. - conformer_generation:
ConformerGeneration- When to generate a 3D conformer. Default isConformerGeneration.IF_2D.
Returns
list[AtomDoubleValue]- One(atom_index, value)entry per atom.
Molecule-scope geometrical descriptors of a 3D conformation.
Each descriptor is populated only when it was requested (see the types filter of
geometrical_descriptors); every other field is None. conformer is populated only when
include_conformer was True.
Area of the smallest planar projection of the conformation, in square angstroms (Ų).
Area of the largest planar projection of the conformation, in square angstroms (Ų).
Radius of the circumscribed circle of the minimal projection, in angstroms (Å).
Radius of the circumscribed circle of the maximal projection, in angstroms (Å).
Thickness (extent perpendicular to the projection plane) of the minimal projection, in Å.
Thickness (extent perpendicular to the projection plane) of the maximal projection, in Å.
The generated lowest-energy 3D conformer. Populated only when requested
(and None when no conformer was generated).
Controls whether a lowest-energy 3D conformer is generated before the geometry calculation.
The geometrical descriptors are defined on a 3D conformation. A molecule without 3D coordinates (e.g. imported from SMILES) has one generated automatically according to this setting.
Generate a 3D conformer only if the input has at most 2D coordinates (default).
Never generate a conformer; use the input coordinates as they are.
Always regenerate the lowest-energy 3D conformer, even for 3D input.
Hydrogen bond donor/acceptor (HBDA) calculation.
Link: https://docs.chemaxon.com/latest/calculators_hydrogen-bond-donor-acceptor-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule - ph:
float- Calculates the counts for the major microspecies at this pH. Optional; skip this (default) to use the input molecule as it is. - exclude_sulfur:
bool- Exclude sulfur atoms from the acceptor count (defaultTrue) - exclude_halogens:
bool- Exclude halogen atoms from the acceptor count (defaultTrue)
Returns
Hydrogen bond donor/acceptor (HBDA) calculation over a pH range.
For each pH in the range, returns the average number of donor and acceptor sites over the microspecies distribution at that pH.
Link: https://docs.chemaxon.com/latest/calculators_hydrogen-bond-donor-acceptor-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule - ph_range:
PhRange- The pH values at which to calculate the counts - exclude_sulfur:
bool- Exclude sulfur atoms from the acceptor count (defaultTrue) - exclude_halogens:
bool- Exclude halogen atoms from the acceptor count (defaultTrue)
Returns
list[HbdaMicrospeciesCounts]- Average donor/acceptor counts, one per pH value
Hydrogen bond donor/acceptor (HBDA) calculation results for a molecule.
Per-atom donor/acceptor counts, listing only atoms that are a donor and/or acceptor
A single atom's hydrogen bond donor/acceptor counts.
Create new instance of HbdaAtomLevelCounts(atom_index, donor_count, acceptor_count)
Number of hydrogen bond donor sites on this atom, i.e. its donatable hydrogen atoms (0 if the atom is only an acceptor)
1 if this atom is a hydrogen bond acceptor, otherwise 0. Note that, unlike the molecule-level
HbdaResult.acceptor_site_count, this per-atom value does not carry multiplicity
Average hydrogen bond donor/acceptor counts over the microspecies distribution at a single pH.
Create new instance of HbdaMicrospeciesCounts(ph, donor_count, acceptor_count)
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
Hückel electrophilic localization energy L(+) per atom.
Calculated with the Hückel Molecular Orbital (HMO) method using standard HMO parameters. Only atoms belonging to a delocalized (aromatic/conjugated) system are returned.
Link: https://docs.chemaxon.com/latest/calculators_huckel-analysis-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule - ph:
float- Calculates the value for the major microspecies at this pH. Optional; skip this (default) to use the input molecule as it is.
Returns
list[AtomDoubleValue]- Per-atom electrophilic localization energies
Hückel nucleophilic localization energy L(-) per atom.
Calculated with the Hückel Molecular Orbital (HMO) method using standard HMO parameters. Only atoms belonging to a delocalized (aromatic/conjugated) system are returned.
Link: https://docs.chemaxon.com/latest/calculators_huckel-analysis-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule - ph:
float- Calculates the value for the major microspecies at this pH. Optional; skip this (default) to use the input molecule as it is.
Returns
list[AtomDoubleValue]- Per-atom nucleophilic localization energies
Hückel pi electron density per atom.
Calculated with the Hückel Molecular Orbital (HMO) method using standard HMO parameters. Only atoms belonging to a delocalized (aromatic/conjugated) system are returned.
Link: https://docs.chemaxon.com/latest/calculators_huckel-analysis-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule - ph:
float- Calculates the value for the major microspecies at this pH. Optional; skip this (default) to use the input molecule as it is.
Returns
list[AtomDoubleValue]- Per-atom electron densities
Hückel total charge density per atom.
Calculated with the Hückel Molecular Orbital (HMO) method using standard HMO parameters. Only atoms belonging to a delocalized (aromatic/conjugated) system are returned.
Link: https://docs.chemaxon.com/latest/calculators_huckel-analysis-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule - ph:
float- Calculates the value for the major microspecies at this pH. Optional; skip this (default) to use the input molecule as it is.
Returns
list[AtomDoubleValue]- Per-atom charge densities
Hückel aromatic electrophilic E(+) order per atom.
The order ranks atoms by their susceptibility to electrophilic aromatic substitution, calculated with the Hückel Molecular Orbital (HMO) method using standard HMO parameters. Only atoms belonging to a delocalized (aromatic/conjugated) system are returned.
Link: https://docs.chemaxon.com/latest/calculators_huckel-analysis-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule - ph:
float- Calculates the value for the major microspecies at this pH. Optional; skip this (default) to use the input molecule as it is.
Returns
list[HmoAtomOrder]- Per-atom electrophilic orders
Hückel aromatic nucleophilic Nu(-) order per atom.
The order ranks atoms by their susceptibility to nucleophilic aromatic substitution, calculated with the Hückel Molecular Orbital (HMO) method using standard HMO parameters. Only atoms belonging to a delocalized (aromatic/conjugated) system are returned.
Link: https://docs.chemaxon.com/latest/calculators_huckel-analysis-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule - ph:
float- Calculates the value for the major microspecies at this pH. Optional; skip this (default) to use the input molecule as it is.
Returns
list[HmoAtomOrder]- Per-atom nucleophilic orders
Hückel total pi energy of the molecule.
Calculated with the Hückel Molecular Orbital (HMO) method using standard HMO parameters.
Link: https://docs.chemaxon.com/latest/calculators_huckel-analysis-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule - ph:
float- Calculates the value for the major microspecies at this pH. Optional; skip this (default) to use the input molecule as it is.
Returns
float- The total pi energy
A single atom's Hückel Molecular Orbital (HMO) aromatic reactivity order (ranking).
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 - correction_library:
str- Identifier of a pKa correction library created bytrain_pkain the default training directory. Empty string means no correction library. Seepka_correction_library_idsfor the available identifiers. - correction_library_path:
str- Path of a pKa correction library (.pkadata) file, as returned bytrain_pka. Takes precedence overcorrection_library.
Returns
pKa training.
Fits pKa correction parameters to a training set of molecules with known, experimental pKa values and
stores them in a correction library. The library can then be applied to subsequent pKa predictions
through the correction_library or correction_library_path parameter of the pka function.
Every molecule of the training set describes its measured pKa values with pairs of properties:
pKa<n> holds the experimental value and ID<n> the one-based index of the ionizable atom it
belongs to. Molecules without such a pair are skipped.
Training writes files, so concurrent calls must not share a training_id and training_dir pair,
otherwise they overwrite each other's correction library.
Link: https://docs.chemaxon.com/latest/calculators_training-the-pka-plugin.html
Parameters
- training_set_path:
str- Path of the training set file, e.g. an SDFile - training_id:
str- Identifier of the correction library to be created. The library file is named after its lowercase form. - training_dir:
str- Directory to write the correction library into. Empty string means the default training directory (calculations/trainingunder the Chemaxon home directory), which is the only placepka_correction_library_idsand thecorrection_libraryparameter ofpkalook at. - validation_file_path:
str- Path of the validation results file. If given, the training also cross-validates the model with the leave-one-out method and writes the results there. Empty string means no validation.
Returns
str- Path of the created correction library (.pkadata) file
The identifiers of the available pKa correction libraries.
Lists the correction libraries of the default training directory, i.e. the ones train_pka created
without an explicit training_dir. These identifiers can be passed to the correction_library
parameter of the pka function.
Returns
list[str]- The available pKa correction library identifiers
PkaResult
A single atom's pKa value, tagged as acidic or basic.
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.
Atomic refractivity calculation.
Molar refractivity is a descriptor of the molecular volume and the London dispersive forces playing a role in drug-receptor interactions. It is calculated with the atomic method proposed by Viswanadhan et al., which assigns refractivity increments to individual atoms. Besides the molar refractivity of the whole molecule, this function also returns the per-atom refractivity increment and the increment contributed by the hydrogens attached to each atom.
Link: https://docs.chemaxon.com/latest/calculators_refractivity-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule
Returns
RefractivityResult
Result for a single atom's refractivity.
Resonant structure generation. This function generates the resonant structures of the input molecule. By default, only the major contributors are returned, symmetrical duplicates are filtered out and at most 1000 structures are generated.
Link: https://docs.chemaxon.com/latest/calculators_resonance-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule. - major_contributors_only:
bool- IfTrue, only the major contributor resonant structures are returned. IfFalse, all resonant structures are returned. Default isTrue. - symmetry_filtering:
bool- IfTrue, symmetrical structures are filtered out, otherwise symmetrical structures are returned as duplicates. Default isTrue. - max_structures:
int- Maximum number of resonant structures to be generated. Default is1000. - clean_structures:
bool- IfTrue, the resulting structures are cleaned in 2D. Default isFalse.
Returns
list[chemaxon.Molecule]- list of resonant structures aschemaxon.Moleculeobjects.
Canonical resonant structure generation. This function generates the single canonical resonant form of the input molecule. The canonical resonant structure is a unique representative form that can be used for purposes such as structure searching and database indexing.
Link: https://docs.chemaxon.com/latest/calculators_resonance-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule. - clean_structure:
bool- IfTrue, the resulting structure is cleaned in 2D. Default isFalse.
Returns
chemaxon.Molecule- the canonical resonant structure aschemaxon.Moleculeobject.
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.
Structural Frameworks calculation.
Reduces a molecule to a structural framework (scaffold), such as the Bemis-Murcko scaffold or a ring system, by stripping side chains, generalizing atoms/bonds or selecting ring systems according to the chosen framework type.
Link: https://docs.chemaxon.com/display/docs/calculators_structural-frameworks-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule - framework_type:
FrameworkType- The framework/scaffold algorithm to apply - keep_single_atom:
bool- Represent acyclic fragments as a single atom instead of an empty structure (only relevant for the Bemis-Murcko framework types) - largest_fragment_in:
bool- Process only the largest fragment of the input molecule - largest_fragment_out:
bool- Keep only the largest fragment of the result - prune_in:
bool- Generalize the input first (all atoms to carbon, all bonds to single, stereo cleared) - prune_out:
bool- Generalize the result the same way - hydrogenize:
bool- Add explicit hydrogens to the input before the calculation - dehydrogenize:
bool- Remove explicit hydrogens from the input before the calculation - remove_equivalents:
bool- Remove duplicate/equivalent fragments from the result
Returns
chemaxon.Molecule- The structural framework molecule
The supported structural framework (scaffold) types.
Bemis-Murcko framework (rings plus their connecting linkers, side chains removed), generalized to a carbon skeleton: every atom becomes carbon and every bond a single bond
Loose Bemis-Murcko variant that keeps the original atom types and bond orders, plus exocyclic double/triple bonds attached directly to rings
The largest fused ring system of the molecule
Pairwise Maximum Common Substructure of the molecule's disconnected fragments (needs at least two)
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)
Topological analysis of a molecule.
Computes an extensive set of graph-theoretical (2D, topology-based) descriptors: atom/bond counts by class, a full ring and ring-system perception (with per-class ring atom sets), connectivity indices (Balaban, Randic, Harary, Wiener, hyper-Wiener, Szeged, Platt, Wiener polarity), the cyclomatic number, Fsp3, per-atom descriptors (distance degree, eccentricity, steric effect index, ring membership), stereochemistry counts, and the largest conjugated system.
Link: https://docs.chemaxon.com/latest/calculators_topological-analysis-plugin.html
Parameters
- mol:
chemaxon.Molecule- Input molecule. - types:
list[str]- The descriptor types to calculate, given as plugin function names (e.g.["wienerIndex", "ringCount"]; case-insensitive). When given, only the matchingTopologyAnalysisResultfields are populated and every other field isNone. Skip this (default) to calculate all descriptors. An unknown type name raises an error. - single_fragment:
bool- WhenTrue, a multi-fragment molecule is analyzed as its largest fragment only; whenFalse(default) all fragments are analyzed together. - aromatization_method:
AromatizationMethod- The aromatization method to use. Default isAromatizationMethod.GENERAL.
Returns
Result of a topological analysis of a molecule.
Each inner list of rings (and the *_rings variants) is the set of atom indices forming
one ring; largest_ring / smallest_ring likewise hold the atom indices of a single ring.
The ring-system fields (ring_systems, largest_ring_system, smallest_ring_system) instead
hold ring indices — positions into the rings list — since a ring system is a group of fused
or spiro rings. To resolve those indices back to atoms you also need rings; when using the
types filter, request rings alongside any ring-system type. Per-atom fields
(distance_degree, eccentricity, steric_effect, ...) carry one (atom_index, value) entry
per atom.
Balaban distance connectivity index (average distance-sum connectivity)
Atom indices of the carbocyclic rings (rings containing carbon atoms only)
A copy of the structure in which the atoms of the largest conjugated system are colored
Cyclomatic number (circuit rank): smallest number of edges to remove so no cycle remains
Per-atom sum of the corresponding row in the atom-distance matrix
Per-atom greatest value of the corresponding row in the atom-distance matrix
Harary index: half-sum of the off-diagonal elements of the reciprocal distance matrix
Number of heterocyclic rings (rings containing at least one non-carbon atom)
Size of the largest conjugated system (number of pi electron pairs)
Per-atom size of the largest ring containing that atom
Size of the largest ring system (number of rings; 0 when acyclic)
Per-atom number of rings (SSSR) the atom is part of
Number of ring systems (fused and spiro rings belong to one ring system)
Per-atom size of the smallest ring containing that atom
An integer descriptor of a single atom.
A floating-point descriptor of a single atom.
Aromatization method used by the topological analysis.
The values match MoleculeGraph.AROM_* constants from the Chemaxon Java API.
Basic aromatization. See: https://apidocs.chemaxon.com/jchem/developer/beans/api/chemaxon/struc/MoleculeGraph.html#AROM_BASIC
General aromatization (default; also recognizes fused aromatic systems). See: https://apidocs.chemaxon.com/jchem/developer/beans/api/chemaxon/struc/MoleculeGraph.html#AROM_GENERAL
Loose aromatization (most permissive). See: https://apidocs.chemaxon.com/jchem/developer/beans/api/chemaxon/struc/MoleculeGraph.html#AROM_LOOSE