There are many functions in CHORD. The following table lists every function and gives a brief description. The c language functions form the basis of all CHORD functionality. Most SQL language functions are wrappers around c language functions to make them easier to use or to provide default options. The code for the SQL functions is available in the file functions.sql in the CHORD installation tarball. You can also easily browse the functions and tables in your installation of CHORD using phpPgAdmin running on your web server.
Many of the functions are overloaded. This means that there are several functions with the same name, but taking different types and numbers of arguments. For example, the fingerprint function fp can be called simply with a text string smiles, with a bytea byte string binmol, and with varying numbers of additional parameters specifying the length, folding and density of the desired fingerprint.
There is an overview of CHORD functions which may appeal to you as well.
| Function | Returns | Language | Description |
|---|---|---|---|
| alltests () | integer | sql | Run all class tests |
| amw (text) | numeric | sql | average molecular weight of smiles |
| amw (bytea) | numeric | sql | average molecular weight of binmol |
| bit_contains (bit, bit) | boolean | c | does first bitstring have all bits of second set? |
| bit_density (bit) | real | sql | useful for analysis of fingerprints |
| bit_set (bit, integer) | bit | c | set Nth bit |
| cansmiles (bytea) | text | sql | binmol to canonical smiles |
| cansmiles (text) | text | sql | smiles to canonical smiles |
| contains (bit, bit) | boolean | sql | sql equivalent of bit_contains for fixed lengths |
| count_matches (bytea, text) | integer | sql | count number of matches(binmol, smarts) |
| count_matches (text, text) | integer | sql | count number of matches(smiles, smarts) |
| euclid (bit, bit) | real | sql | standard euclid similarity of fingerprints |
| format_code (text) | integer | sql | get code corresponding to "file" type |
| fp (bytea, integer) | bit | sql | binmol fingerprint of any size, not folded |
| fp (bytea) | bit | sql | binmol standard fingerprint of size 1024, not folded |
| fp (text, integer) | bit | sql | smiles fingerprint of any size, not folded |
| fp (text) | bit | sql | smiles standard fingerprint of size 1024, not folded |
| fp (bytea, integer, integer, real) | bit varying | c | binmol fingerprint with max length, min folded length, % to fold |
| fp (text, integer, integer, real) | bit varying | c | smiles fingerprint with max length, min folded length, % to fold |
| hamming (bit, bit) | real | sql | standard hamming similarity of fingerprints |
| hex (bit) | text | sql | hexadecimal representation of bit string |
| impsmiles (bytea) | text | sql | binmol to implicit-H smiles |
| impsmiles (text) | text | sql | implicit-H smiles |
| isbit_set (bit, integer) | boolean | c | is Nth bit set? |
| isosmiles (bytea) | text | sql | binmol to isomeric smiles |
| isosmiles (text) | text | sql | smiles to isomeric smiles |
| iupac (text) | text | sql | compute IUPAC name of input smiles |
| iupac (bytea) | text | sql | compute IUPAC name of input binmol |
| keksmiles (bytea) | text | sql | binmol to kekule smiles |
| keksmiles (text) | text | sql | smiles to kekule smiles |
| list_matches (bytea, text, integer) | integer[] | sql | list atoms of Nth matches(binmol, smarts, N) - N=0 lists all |
| list_matches (text, text, integer) | integer[] | sql | list atoms of Nth matches(smiles, smarts, N) - N=0 lists all |
| list_matches (text, text, integer, integer) | integer[] | sql | list atoms of Nth matches(smiles, smarts, N, I) - N=0 lists
all; atom index starts at I (typically 0 or 1) |
| list_matches (bytea, text) | integer[] | sql | list atoms of first matches(binmol, smarts) |
| list_matches (bytea, text, integer, integer) | integer[] | sql | list atoms of Nth matches(smiles, smarts, N, I) - N=0
lists all; |
| list_matches (text, text) | integer[] | sql | list atoms of first matches(smiles, smarts) |
| matches (text, text) | boolean | sql | matches(smiles, smarts) |
| matches (bytea, text) | boolean | sql | matches(binmol, smarts) |
| mcss (text, text) | text | sql | find first maximum common substructure between (smiles, smarts) |
| mcss (bytea, text) | text | sql | find first maximum common substructure between (binmol, smarts) |
| mol_to_name (bytea, text) | text | sql | compute name of input binmol; (binmol, name_type) |
| mol_to_name (text, text) | text | sql | compute name of input smiles; (smiles, name_type |
| molconvert (text, text, text) | text | sql | Convert a strmol from one format to another |
| molfile_to_smiles (text) | text | sql | convert mdl molfile to smiles |
| name_code (text) | integer | sql | get code corresponding to name type |
| name_to_binmol (text) | bytea | sql | compute binmol of input iupac name |
| name_to_smiles (text) | text | sql | compute smiles of input iupac name |
| nbits_set (bit) | integer | c | number of bits set |
| oe_binmol (text, integer) | bytea | c | OEFormat binary v2 from string "file": (string "file", input file_type_code) |
| oe_binmol (bytea, integer) | bytea | c | OEFormat binary v2 from byte "file": (byte "file", input file_type_code) |
| oe_bytemol (text, integer) | bytea | sql | byte "file" representation of smiles; (smiles, "file" type) |
| oe_bytemol (bytea, integer) | bytea | c | byte "file" from OEFormat binary v2 (oeb, output file_type_code) |
| oe_count_matches (text, text) | integer | c | number of matches(smiles,smarts) |
| oe_count_matches (bytea, text) | integer | c | number of matches(binmol,smarts) |
| oe_list_matches (bytea, text, integer, integer) | integer[] | c | array of atoms which matches(binmol,smarts,match #,index_start) |
| oe_list_matches (text, text, integer, integer) | integer[] | c | array of atoms which matches(smiles,smarts,match #,index_start) |
| oe_matches (text, text) | boolean | c | does smiles match smarts? |
| oe_matches (bytea, text) | boolean | c | does binmol match smarts? |
| oe_mcss (text, text, integer, integer) | text | c | find maxmimum common substructure (smiles, smarts, minatoms, maxmatches) |
| oe_mcss (bytea, text, integer, integer) | text | c | find maxmimum common substructure (binmol, smarts, minatoms, maxmatches) |
| oe_property (bytea, integer) | integer | c | one of several properties of a binmol |
| oe_release () | text | c | OpenEye release number used by CHORD |
| oe_smiles (text, integer) | text | c | smiles to smiles of various types |
| oe_smiles (bytea, integer) | text | c | binmol to smiles of various types |
| oe_strmol (bytea, integer) | text | c | string "file" from OEFormat binary v2 (oeb, output file_type_code) |
| oe_strmol (text, integer) | text | sql | string "file" representation of smiles; (smiles, "file" type) |
| oe_valid (bytea) | boolean | c | true if binmol parses properly and can produce valid smiles |
| oe_valid (text) | boolean | c | true if smiles parses properly |
| oe_xform (bytea, text, boolean) | text | c | carry out unimolecular transformation of (binmol, smirks, strict_smirks) |
| oe_xform (text, text, boolean) | text | c | carry out unimolecular transformation of (smiles, smirks, strict_smirks) |
| oe_xform (text[], text, boolean, boolean, boolean, boolean) | text[] | c | carry out transformation of (smiles_array, smirks, strict_smirks, valence_correction, explicit_hydrogens, unique_atoms) |
| oe_xform (bytea[], text, boolean, boolean, boolean, boolean) | text[] | c | carry out transformation of (binmol_array, smirks, strict_smirks, valence_correction, explicit_hydrogens, unique_atoms) |
| public166keys (text) | bit | sql | public 166 fragment keys of smiles |
| public166keys (bytea) | bit | sql | public 166 fragment keys of binmol |
| similarity (text, text) | real | sql | standard dice similarity of smiles using public166key |
| similarity (bit, bit) | real | sql | standard dice similarity of fingerprints |
| smiles_code (text) | integer | sql | get code corresponding to smiles type |
| smiles_to_molfile (text) | text | sql | convert smiles to mdl molfile |
| tanimoto (bit, bit) | real | sql | standard tanimoto similarity of fingerprints |
| tests () | integer | sql | Run tests('standard') |
| tests (text) | integer | plpgsql | How many tests fail in table gnova.tests; arg is test class |
| tpsa (bytea) | numeric | sql | polar surface area of binmol, by Ertl's method |
| tpsa (text) | numeric | sql | polar surface area of smiles, by Ertl's method |
| tversky (bit, bit, real, real) | real | sql | standard tversky similarity of fingerprints |
| version () | real | c | version number of CHORD |
| xform (text, text) | text | sql | carry out unimolecular transformation of (smiles, smirks, strict_smirks=true) |
| xform (bytea, text) | text | sql | carry out unimolecular transformation of (binmol, smirks, strict_smirks=true) |
| xform (bytea[], text) | text[] | sql | carry out transformation of (binmol, smirks, strict_smirks, no_valence_correction, explicit_hydrogens, unique_atoms) |
| xform (text[], text) | text[] | sql | carry out transformation of (smiles, smirks, strict_smirks, no_valence_correction, explicit_hydrogens, unique_atoms) |