Notes on Chemical Terms functions

    Below are some general notes about the usage of the Chemical Terms functions.

    Function arguments

    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

    Dissimilarity descriptors and metrics

    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

    Pre-defined molecules and molecule names

    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.

    General notes

    1. 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

    2. 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))) .

    3. The match, matchCount, disjointMatchCount and dissimilarity functions are not available in Marvin. The can only be used if the JChem package is installed.

    4. 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.