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:
1 2 3
``` 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.1One 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:1 2 3 4 5
``` 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:1 2 3 4 5 6 7 8 9 10 11
``` 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:
1 2 3
``` 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:
1 2 3 4 5 6
``` 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 md_conf table:
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
1 2 3 4
``` 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:
1 2 3 4 5 6
``` 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
1 2 3 4
``` 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:
1 2 3 4
``` 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:
1 2 3 4
``` 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:
1 2 3 4
``` 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; ```
-