Using several templates as input for jc_standardize

User cf4264f752

17-02-2015 14:46:51

Hi all,


I do have several connected questions. So maybe I'd better start with explaining my goal. 


The goal is to standartize the visualization for all molecules we have in DB)  With minimal amount of manual work.


 


1. So we have a number of templates that we want to use (about 300 I think). The question is will this work with several templates retrieved by internal sql:


select jc_standardize(c.structure,
'sep=~ config:clean:tb~cleaningTemplate:select structure from templa where id in(1,2,3)~outFormat:mol') 

from chem_structs c


And if it does work - what is the sequence of applying templates?

2. a) If I'm applying template clean to several structures is there a way to find out was it applied successfully or not? and in case of using several templates - find out what are the templates that were successfully applied?

b) if the 'template' is substructure of the 'structure' (here I mean that 'structure' will be the hit when using jc_compare with 't:s' param with 'template' as input) it will always be applied or is there any threshold?

Actually, I saw some examples when 'structure' is found using substructure search by 'template', but performing template clean didn't give output different than original 'structure'.

3. Will the orientation of all molecules to which template clean was successfully applied be the same (in template part of course)

Environment:


Oracle environment: 

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

PL/SQL Release 11.2.0.4.0 - Production

CORE	11.2.0.4.0	Production

TNS for Linux: Version 11.2.0.4.0 - Production

NLSRTL Version 11.2.0.4.0 - Production



JChem owner: JCHEM_GG_EDITORIAL



JChem Server environment: 

Java VM vendor: Oracle Corporation

Java version: 1.7.0_67

Java VM version: 24.65-b04

JChem version: 15.1.12.0

JChem Index version: 14102000

JDBC driver version: 11.2.0.3.0




Thanks, Alena

ChemAxon e08c317633

20-02-2015 10:50:52










alena wrote:

1. So we have a number of templates that we want to use (about 300 I think). The question is will this work with several templates retrieved by internal sql:


select jc_standardize(c.structure,
'sep=~ config:clean:tb~cleaningTemplate:select structure from templa where id in(1,2,3)~outFormat:mol') 

from chem_structs c


And if it does work - what is the sequence of applying templates?


Unfortunately, we discovered a bug which prevents using multiple clean templates... We will fix it and get back to you.


Template based clean is performed in the following way: templates are searched in the target molecule in the order as they are given in the template file. The first matching is processed: template atom coordinates are copied to the corresponding target atoms and the remaining atoms are cleaned with partial clean. 











alena wrote:

2. a) If I'm applying template clean to several structures is there a way to find out was it applied successfully or not? and in case of using several templates - find out what are the templates that were successfully applied?

b) if the 'template' is substructure of the 'structure' (here I mean that 'structure' will be the hit when using jc_compare with 't:s' param with 'template' as input) it will always be applied or is there any threshold?

Actually, I saw some examples when 'structure' is found using substructure search by 'template', but performing template clean didn't give output different than original 'structure'.



a.) Standardizer can report which actions were applied on a molecule, but there is no way to find out if a clean template was applied on a structure.


b.) Could you provide some examples? Search options in template based clean's matcher are probably different from jc_compare's substructure search, so there might be differences. 











alena wrote:

3. Will the orientation of all molecules to which template clean was successfully applied be the same (in template part of course)


Yes, the orientation of the template is preserved in the cleaned structure.

User cf4264f752

20-02-2015 11:56:21










Zsolt wrote:

b.) Could you provide some examples? Search options in template based clean's matcher are probably different from jc_compare's substructure search, so there might be differences. 



Actually now I don't see any alignment... Probably I'm not using it right


Here is the code:


select '<html>

<body>

<table cellspacing="2" border="1" cellpadding="5">

<tr><td>gg_id</td><td>original molfile</td><td>full clean</td><td>Template align</td>' || gg_utils.join_strings_to_clob(cursor (

select '<tr><td>' || c.unit_id || '</br>' ||u.name || '</td><td>' || 

jchem_service.lob2svg(c.structure) || '</td><td>' 

|| jchem_service.lob2svg(c.structure, 'T') || '</td><td>'

|| jchem_service.lob2svg(jc_standardize(structure,

        'sep=~ config:clean:tb~cleaningTemplate:select structure from (select * from chem_structs  where unit_id = 123)~outFormat:mol'))

||'</td></tr>'

from chem_structs c, units u

where c.unit_id = u.id and  c.unit_id in 

(select id from table(chem_service.search_chem_by_structure(1, (select structure from chem_structs where unit_id = 123), 500, 1, 't:s')))) , '') || '</table>

</body>

</html>' from dual;




and result in the attach

ChemAxon abe887c64e

26-02-2015 09:40:43

Hi Alena,


Could you send us the specific template structure used in your latest select statement (from chem_structs where unid_id = 123) ?


If the structure is confidential you can send it directly to our email address (jccartridge-support at chemaxon dot com).


Thank you,


Krisztina


User cf4264f752

26-02-2015 11:56:26

Hi Krisztina, 


Here it goes. it's just phosphoenolpyruvate


Alena

ChemAxon abe887c64e

27-02-2015 08:17:13

Hi Alena,


Thank you for the structure. At the moment, it seems that simple - as the next example - template based standardization successfully runs in JChem Cartridge (with PEP_1.mol in table templa):


select jc_standardize('CC(C(O)\C=C(/OP(O)(O)=O)C(O)=O)C(O)C(O)CO',
        'sep=~ config:clean:tb~cleaningTemplate:select structure from templa where id=1 ~outFormat:mol') from dual;

Krisztina