Below are some general notes about the usage of the Chemical Terms functions.
Chemical Terms functions perform their calculations using the Calculator Plugins. Plugin parameters can be passed to and used by the Chemical Terms function as a string argument in the form of
key1:value1 key2:value2 key3:value3... . For example:
charge(8, 'type:pi pH:7.4') calculates the pi charge of atom 8 of the major microspecies of the input molecule at pH 7.4
pKa('1', 'type:acidic model:large considertautomerization:true') calculates the strongest acidic pKa value of the input molecule, using the LARGE model and tautomerization
When using Chemical Terms functions to calculate similarity/dissimilarity between molecules, the following metrics can be used.
Descriptor | Metric |
---|---|
Chemical Hashed Fingerprint (CF) | Tanimoto (default), Euclidean |
ECFP | Tanimoto (default), Euclidean |
Pharmacophore Fingerprint (PF) | Tanimoto (default), Euclidean |
Burden EigenValue Descriptor (BCUT) | Euclidean |
HDon | Euclidean |
HAcc | AbsDiff |
Heavy | AbsDiff |
LogP | AbsDiff |
LogD | AbsDiff |
Mass | AbsDiff |
TPSA | AbsDiff |
It is possible to refer to molecules by names instead of explicit SMILES/SMARTS strings or molecule file paths. For example, you might want to write nitro or carbonyl as query in a match function.
Frequently used queries are pre-defined in the built-in functional groups file chemaxon/marvin/templates/functionalgroups.cxsmi within MarvinBeans-templates.jar . You can also define your own query SMARTS in the marvin/config/marvin/templates/functionalgroups.cxsmi file and in $HOME\chemaxon\marvin emplates\functionalgroups.cxsmi (Windows) or in $HOME/.chemaxon/marvin/templates/functionalgroups.cxsmi (UNIX / Linux), where marvin is the Marvin installation directory and $HOME is your user home directory.
The current list of functions only contains examples of Molecule Context usage. Using the Chemical Terms functions in the Reaction Context is very similar and usually requires the context molecule to be used as a function parameter. For example
logD(reactant(1), '7.4') calculates the logD of the 2nd reactant of the reaction eqaution at pH 7.4
acidicpKa(ratom(1)) calculates the acidic pKa of the reactant atom matching map 1 in the reaction equation
atomCount(product(0), '7') returns the number of N atoms in the 1st product of the reaction equation
aliphaticAtom(patom(2)) decides if the product atom matching map 2 in the reaction equation is aliphatic
When using Chemical Terms functions in Reaction Context and atoms are referred by atom indexes as function parameters, the molecule (containing the atom) must always be specified and must contain all the atoms referred by indexes. This is true even if the Chemical Terms function is used to convert (product or reactant) maps to atom indexes. An example is the function shortestPath(reactant(0), pair(ratom(1),ratom(2))) .
The match, matchCount, disjointMatchCount and dissimilarity functions are not available in Marvin. The can only be used if the JChem package is installed.
Although the function names are case-sensitive, lower-case names are always accepted, e.g. aromaticAtomCount() is equivalent to aromaticatomcount() , but AROMATICATOMCOUNT() is not accepted.