User 8139ea8dbd
30-04-2007 22:01:00
We have two smiles:
Smiles A: 'OC/C=C/C=C/1\OC(=O)C(=C1)\C=C\CO'
Smiles B: 'OC\C=C\C=C1/OC(=O)C(\C=C\CO)=C1'
Question 1. Are they the same?
select jc_compare( 'OC/C=C/C=C/1\OC(=O)C(=C1)\C=C\CO','OC\C=C\C=C1/OC(=O)C(\C=C\CO)=C1','t:e queryType:l') from dual;
returns 1
select jc_equals('OC/C=C/C=C/1\OC(=O)C(=C1)\C=C\CO','OC\C=C\C=C1/OC(=O)C(\C=C\CO)=C1') from dual;
returns 0
Is this a bug?
Question 2. Is this a bug related to jcf_molconvert?
select jc_compare('OC/C=C/C=C/1\OC(=O)C(=C1)\C=C\CO', jcf_molconvert('OC/C=C/C=C/1\OC(=O)C(=C1)\C=C\CO', 'smiles:ua_day'), 't:e queryType:l') from dual;
returns 1, okay
select jc_equals('OC/C=C/C=C/1\OC(=O)C(=C1)\C=C\CO', jcf_molconvert('OC/C=C/C=C/1\OC(=O)C(=C1)\C=C\CO', 'smiles:ua_day')) from dual;
returns 0, smiles A no longer equals itself after molconvert?
Question 3. related bug in cartridge search
Our database CPD table contains Smiles B: OC\C=C\C=C1/OC(=O)C(\C=C\CO)=C1
select jc_smiles from cpd where jc_compare(jc_smiles,'OC/C=C/C=C/1\OC(=O)C(=C1)\C=C\CO','t:e queryType:l') =1;
or
select jc_smiles from cpd where jc_equals(jc_smiles,'OC/C=C/C=C/1\OC(=O)C(=C1)\C=C\CO') =1;
returns no hit, search with smiles A using jc_compare/jc_equals did not find smiles B
select jc_smiles from cpd where jc_compare(jc_smiles,jcf_molconvert('OC/C=C/C=C/1\OC(=O)C(=C1)\C=C\CO','smiles:u'),'t:e queryType:l') =1;
returns OC\C=C\C=C1/OC(=O)C(\C=C\CO)=C1
Search using canonicalized smiles A finds smiles B.
select jc_smiles from cpd where jc_compare(jc_smiles,'OC\C=C\C=C1/OC(=O)C(\C=C\CO)=C1','t:e queryType:l') =1;
returns OC\C=C\C=C1/OC(=O)C(\C=C\CO)=C1
okay, search with smiles B finds smiles B in database
Question 4.
I go to the latest demo
http://chemaxon.com/demosite/marvin/index.html
Paste in smiles A, I got a bad-looking structure (See attachment)
Related info. We are not using the latest cartridge, so could you please tried the above examples on your latest version?
Thanks.
Smiles A: 'OC/C=C/C=C/1\OC(=O)C(=C1)\C=C\CO'
Smiles B: 'OC\C=C\C=C1/OC(=O)C(\C=C\CO)=C1'
Question 1. Are they the same?
select jc_compare( 'OC/C=C/C=C/1\OC(=O)C(=C1)\C=C\CO','OC\C=C\C=C1/OC(=O)C(\C=C\CO)=C1','t:e queryType:l') from dual;
returns 1
select jc_equals('OC/C=C/C=C/1\OC(=O)C(=C1)\C=C\CO','OC\C=C\C=C1/OC(=O)C(\C=C\CO)=C1') from dual;
returns 0
Is this a bug?
Question 2. Is this a bug related to jcf_molconvert?
select jc_compare('OC/C=C/C=C/1\OC(=O)C(=C1)\C=C\CO', jcf_molconvert('OC/C=C/C=C/1\OC(=O)C(=C1)\C=C\CO', 'smiles:ua_day'), 't:e queryType:l') from dual;
returns 1, okay
select jc_equals('OC/C=C/C=C/1\OC(=O)C(=C1)\C=C\CO', jcf_molconvert('OC/C=C/C=C/1\OC(=O)C(=C1)\C=C\CO', 'smiles:ua_day')) from dual;
returns 0, smiles A no longer equals itself after molconvert?
Question 3. related bug in cartridge search
Our database CPD table contains Smiles B: OC\C=C\C=C1/OC(=O)C(\C=C\CO)=C1
select jc_smiles from cpd where jc_compare(jc_smiles,'OC/C=C/C=C/1\OC(=O)C(=C1)\C=C\CO','t:e queryType:l') =1;
or
select jc_smiles from cpd where jc_equals(jc_smiles,'OC/C=C/C=C/1\OC(=O)C(=C1)\C=C\CO') =1;
returns no hit, search with smiles A using jc_compare/jc_equals did not find smiles B
select jc_smiles from cpd where jc_compare(jc_smiles,jcf_molconvert('OC/C=C/C=C/1\OC(=O)C(=C1)\C=C\CO','smiles:u'),'t:e queryType:l') =1;
returns OC\C=C\C=C1/OC(=O)C(\C=C\CO)=C1
Search using canonicalized smiles A finds smiles B.
select jc_smiles from cpd where jc_compare(jc_smiles,'OC\C=C\C=C1/OC(=O)C(\C=C\CO)=C1','t:e queryType:l') =1;
returns OC\C=C\C=C1/OC(=O)C(\C=C\CO)=C1
okay, search with smiles B finds smiles B in database
Question 4.
I go to the latest demo
http://chemaxon.com/demosite/marvin/index.html
Paste in smiles A, I got a bad-looking structure (See attachment)
Related info. We are not using the latest cartridge, so could you please tried the above examples on your latest version?
Thanks.