how to check if two structures are tautomers

User cf4264f752

27-01-2015 13:01:14

Hi all,


so in our db we consider tautomers as duplicates by default (meaning we build index with tdf option set to y).


but we allow to store some tautomers in the db because for some compounds tautomers could have different processing (we have duplicateFiltering option turned off)


so on saving we run duplicate search and give a "duplicate warning".


but while saving we need distinguish between "total" duplicates and tautomers.


so the question is - is there a function that can say if two structures are tautomers or not.


The options I've discovered so far:


1. subtract from results of default duplicate search results of duplicate search with "tautomerSearch:Off" parameter. And if the difference is not empty then we're dealing with tautomers.


2. compare each compound from result of duplicate search with the given compound using standalone jc_compare. This I assume should result in 0 for tautomers since we don't use the index.


3. for each compound from result of duplicate search generate canonical tautomer in SMILES format using jc_evaluate. Do the same for given compound. And then compare SMILES just as varchar. And if SMILES for suggested duplicates are different and canonical tautomer SMILES are the same - then two structures are tautomers. 


As for the third option I'm not sure it should work at all.


So please tell me if some of my assumptions are correct or is there another simpler way to do it.


Thanks 

ChemAxon d4fff15f08

27-01-2015 15:38:16

Hi Alena,


 


Thank you for your record.


Your system and goal seems complicated enough that I would like to offer you a teleconference call to discuss it (just to speed up things). Would that suit you? We are located in Budapest so we are in UTC+1 timezone. 


For the details of the call please contact us at the jccartridge-support at chemaxon dot com mail address.


 


Best regards,


Norbert

User cf4264f752

27-01-2015 17:48:00

Hi Norbert!


I don't think it's complicated but my explanation might be not good enough.


Anyways, it'd be brilliant to have this call! We are in Barcelona, so I guess we're in the same timezone.


I will drop an email to the address you've mentioned with the link to this topic.


 


Thanks, 


Alena

User cf4264f752

30-01-2015 11:57:13

Hi Norbert!


I did an additional investigation and it looks like there's a difference in JChem versions in default behavior regarding tautomers. Remember, we discussed default searches behavior when index is being built with parameter tdf:y


Mol files of compounds are attached.


Here are three sqls which results I checked for JChem version: 5.10.0 and JChem version: 15.1.12.0


--1

select id from table(chem_service.search_chem_by_structure(1, (select structure from chem_structs where unit_id = 1507899292), 100, 1, 't:d'));

--2

select id from table(chem_service.search_chem_by_structure(1, (select structure from chem_structs where unit_id = 1507899292), 100, 1, 't:d tautomerSearch:n'));

--3

select id from table(chem_service.search_chem_by_structure(1, (select structure from chem_structs where unit_id = 1507899292), 100, 1, 't:d tautomerSearch:y'));






















Jchem
version
1 2 3
5.10.0 -1426106160

1507899292
1507899292 -1426106160

1507899292
15.1.12.0 1507899292 1507899292 -1426106160

1507899292

Regards,


Alena

User cf4264f752

30-01-2015 11:58:04

Regarding for the initial question I think everything is clear for me


Many thanks)

ChemAxon d4fff15f08

30-01-2015 15:56:54

Hi Alena,


 


I have tried to reproduce your error quickly using the script attached, but could not succeed with version 15.1.12 (might be missing something at the index creation? would you be so kind to compare my script with your index creation). 


 


Please, run it in your environment too, and let me know your results ;)


mine is:


import OK


Q = negative, t:d: 2


Q = positive, t:d: 2


Q = negative, t:d tautomerSearch:n: 1


Q = positive, t:d tautomerSearch:n: 1


Q = negative, t:d  tautomerSearch:y: 2


Q = positive, t:d  tautomerSearch:y: 2


 


Regards,


Norbert

User cf4264f752

03-02-2015 09:47:51

Hi Norbert,


Well, this is strange - I get the same result as you on 15.1.12.0 JChem.


I'll try to figure out what's happening and write you back.


Probably there are some problems with adding structures to index in case of our table?


Regards,


Alena

ChemAxon d4fff15f08

03-02-2015 14:44:45

Hi,


 


OK, thanks!


I would check something around index creation or maybe around standardization.


 


Good luck!


Norbert.

User cf4264f752

03-02-2015 16:16:49

Hi Norbert,


 


our DBA just confirmed that we've missed parameter tdf:y on the new server. 


So everything is working as expected within JChem.


Terribly sorry for wasting your time on that.


 


And thanks a lot for your help,


Alena 

ChemAxon d4fff15f08

04-02-2015 10:17:35

Hi Alena,


 


Thank you for the information. We are really happy that the problem got solved.


 


Best regards,


Norbert