Generic Molecular Descriptor Support¶
¶
Add a molecular descriptor to an existing structural index¶
Molecular Descriptors license may be required.
By specifying parameters through a temporary database table¶
-
Specify the MD parameters in a table:
-
Create a temporary table to hold the MD parameters:
``` create table md_conf (name varchar2(4000), commnt varchar2(4000), config clob) ``` -
Create a row in the
md_confwith the name, an optional comment and the xml configuration of the molecular descriptor.One way to do this is through Oracle's SQL*Loader utitilty:-
Create the data record to load in a file (called, say,
inhouse-mdconf.dat) with the name, the comment and the configuration file name separated with commas:``` inhouse,Some comment here,inhouse-config.xml, ``` where `inhouse-config.xml` is contains the molecular descriptor's configuration xml. (The syntax of molecular descriptors' configuration xmls is described [here](fingerprints_fingerprint-and-descriptor-generation-generatemd.md#src-1806337-fingerprintanddescriptorgeneration-generatemd-configurationfiles).) -
Create the loader control file (called, say,
inhouse-sqlldr.ctrl) with content similar to this:``` LOAD DATA INFILE 'inhouse-mdconf.dat' APPEND INTO TABLE md_conf FIELDS TERMINATED BY ',' (name CHAR(200), commnt CHAR(4000), ext_fname FILLER CHAR(40), config LOBFILE(ext_fname) TERMINATED BY EOF) ``` -
Start the SQL*Loader similarily to this:
``` sqlldr <jcart-user-schema>/<password> control=inhouse-sqlldr.ctrl ```
-
-
-
Alter the index on the table using the ADDMD index parameter to specify the SQL query returning the MD spec:
¶
By specifying parameters through files on a filesystem local to the JChem Server¶
-
Create a file specifying the number of descriptors to use (in the following example we assume just one) and for each descriptor:
-
the name of the descriptors
-
the comment for the descriptors
-
the path to the descriptor specification XML file; similarly to the following:
``` descriptor.count=1 mdname.1=inhouse mdcomment.1=some comment mdsettingsfile.1=inhouse-config.xml ```
-
-
Alter the index on the table using the ADDMD index parameter to specify the path to the file you've just created:
Add alternative screening configurations¶
Alternative screening configurations can be added — optionally — to an already existing molecular descriptor using the ADDMDCONF index parameter:
where <config-locator> is a specification of the screening configuration data through either of the methods (SQL query or operating system file) described for MD addition above. For example, if the configuration is specified in the md_conf table:
ALTER INDEX jcxmytable PARAMETERS('sep=~ ADDMDCONF=inhouse:select * from md_conf where name=''d2OptPfEwan''')
Similarity search by a molecular descriptor¶
Specify the descriptor to use for the similarity search using the descriptorName option:
-
Using
jc_compare-
Queries on tables
``` select id from mytable where jc_compare(structure, 'Brc1ccccc1', 't:t dissimilarityThreshold:0.2 descriptorName:inhouse') = 1; ``` -
Queries FROM DUAL In addition to the descriptor name, specify the index with which the descriptor is associated using the idxName option:
``` select jc_compare(structure, 'Brc1ccccc1', 't:t dissimilarityThreshold:0.2 descriptorName:inhouse idxName:jxcmytable') = 1; ``` <a name="src-1803452-genericmoleculardescriptorsupport-jc-dissimilarity"></a>
-
-
Using
jc_dissimilarity-
Queries on tables
``` select id from mytable where jc_dissimilarity(structure, 'Brc1ccccc1', 'descriptorName:inhouse') < 0.2; ``` -
Queries FROM DUAL In addition to the descriptor name, specify the index with which the descriptor is associated using the idxName option:
``` select jc_dissimilarity(structure, 'Brc1ccccc1', 'descriptorName:inhouse idxName:jxcmytable') = < 0.2; ```An alternative screening configuration can be optonally specified for the descriptor using the
screenConfigoption.
- Specifying the name of a configuration associated with this particular descriptor:
``` select id from mytable where jc_dissimilarity(structure, 'Brc1ccccc1', 'descriptorName:inhouse screenConfig:d2OptPfEwan') < 0.2; ```
- Specifying a SQL select statement which returns the configuration itself:
``` select id from mytable where jc_dissimilarity(structure, 'Brc1ccccc1', 'sep=~ t:t~descriptorName:phrmForH1~screenConfig:select config from md_conf where name = ''d2OptPfEwan''') < 0.2; ```
-