Functions in CHORD

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;
atom index starts at I (typically 0 or 1)

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)