ABS label in structure search

User 8139ea8dbd

14-08-2007 21:56:38

Hi, there





Could you help me understand why the following two SQLs return 0? I was expecting 1.0 from both of them.





SQL #1:


select jc_equals('C[C@H](Cl)[C@H](C)CCl |a:1,3|','C[C@H](Cl)[C@H](C)CCl') from dual;





Since both stereo centers in the query smiles have been specified, it's unambiguous. Isn't it equivalent to put ABS labels in both stereo centers in the target extended smiles?





SQL #2:


select jc_equals('C[C@H](Cl)[C@H](C)CCl |a:1,3|','C[C@H](Cl)[C@H](C)CCl |a:3|') from dual;


Jchem document says: "(When any enhanced stereo labels appear on the molecule, all unlabeled stereo centers are thought to belong to the ABS group.)". The query smiles has atom 3 labeled as ABS, isn't this equivalent to have atom 1 labeled as ABS as well?





Thanks.

ChemAxon a3d59b832c

15-08-2007 08:08:46

You are right, these should return 1. We will fix these in JChem 3.2.11


(3.2.10 is in the testing already, changes are frozen.)





Thank you for the bug report.





Szabolcs

User 8139ea8dbd

15-08-2007 15:40:00

Thank you for the comment on ABS.





Could you help me understand why the first two SQLs return 0? Is the logic being the query has to include all possible structures in the target in order to be considered as an exact match?





select jc_compare('C[C@H](Cl)[C@H](C)CCl |&1:1,3|','C[C@H](Cl)[C@H](C)CCl','t:e queryType:l') from dual;


returns 0


select jc_compare('C[C@H](Cl)[C@H](C)CCl |o1:1,3|','C[C@H](Cl)[C@H](C)CCl','t:e queryType:l') from dual;


returns 0


select jc_compare('C[C@H](Cl)[C@H](C)CCl','C[C@H](Cl)[C@H](C)CCl |&1:1,3|','t:e queryType:l') from dual;


returns 1


select jc_compare('C[C@H](Cl)[C@H](C)CCl','C[C@H](Cl)[C@H](C)CCl |o1:1,3|','t:e queryType:l') from dual;


returns 1

ChemAxon a3d59b832c

15-08-2007 15:52:47

Yes. By definition, the ABS query will only match the ABS target.





See under "Matching rules of the enhanced representation" at the following link:


http://www.chemaxon.com/jchem/doc/user/Query.html#mdl_enhanced_stereo

User 8139ea8dbd

15-08-2007 15:52:58

Why the following SQL returns 1? The target is a mixture of two enatiomers, but the query expects a mixture of all four possible enatiomers. I was expecting 0 as the result. Thanks.





select jc_equals('C[C@H](Cl)[C@H](C)CCl |&1:1,3|', 'C[C@H](Cl)[C@@H](C)CCl |&1:3,&2:1|') from dual


returns 1

ChemAxon a3d59b832c

15-08-2007 15:58:47

You are right, it is a bug. We will fix it. It seems that it returns 0 if the query and target are exchanged.

User 8139ea8dbd

15-08-2007 15:59:52

Thank you.





Then this is a related bug:


select jc_equals('C[C@H](Cl)[C@H](C)CCl |o1:1,3|', 'C[C@H](Cl)[C@@H](C)CCl |o1:3,o2:1|') from dual;


returns 1

ChemAxon a3d59b832c

15-08-2007 16:02:45

Yes, it seems to be a very similar bug. Thank you for the examples.