Aromatization - dearomatization error in searching

User f50dadc210

04-03-2009 18:31:00

Quote:






Code:
ms.setQuery(new MolHandler(query, true).getMolecule());






should read








Code:
ms.setQuery(new MolHandler(query, false).getMolecule());






instead.





When the query structure gets unmarshalled for PERFECT search, the queryMode parameter of MolHandler(String, boolean) has to be set to false. When set to false, this flag tells the structure format handlers (in this particular case the SMILES parser) not to interpret query features as such (i.e. it tells that the query structure should be unmarshalled as SMILES and not as SMARTS). This is required by the definition of PERFECT search.
.Thanks.   I still have questions about structure search, would you help me out?





How about EXACT search?  The queryMode should be set to false , right?


My second question is related with a specified compound.  see my code below.


            String query ="CCc1c(C)c2=CC3=NC(=CC4=NC(C(CCC(O)=O)C4C)=C(CC(O)=O)C4=NC(C=c1[n-]2)=C(C)\\C\\4=C(/O)O)C(C)=C3C=C";





            String target = query;


            MolSearch ms = new MolSearch();


            ms.setQuery(new MolHandler(query,false).getMolecule());


            ms.setTarget(new MolHandler(target).getMolecule());


// 1        ms.getQuery().dearomatize();


// 2        ms.getQuery().aromatize();


// 3        ms.getTarget().dearomatize();


// 4        ms.getTarget().aromatize();


            SearchOptions so = new SearchOptions();


            so.setSearchType(SearchConstants.PERFECT);


            ms.setSearchOptions(so);


            if (ms.findFirst() != null) {


                  System.out.println("Yes");


            } else {


                  System.out.println("No");


            }





It returns "Yes".  But when I replace PERFECT with EXACT,  it returns "No". BTW, jc_compare returns 1 with option 't:e'





I have 4 comment lines in the code. If I uncomment line 1,  it returns "Yes".   Then uncomment line 2, it return "No".


Line3/4 doesn't matter. 





Since jc_compare returns 1, I think I did something wrong.  please help.





Thanks





Bin

ChemAxon aa7c50abf8

04-03-2009 19:43:13

With EXACT search, query features are evaluated, so the queryMode has to be set to true. (http://www.chemaxon.com/jchem/doc/user/query_searchtypes.html)








Thanks





Peter

User f50dadc210

04-03-2009 19:50:08

Thanks fory the quick reply.





How about my second question?   There is no matching even querymode is true.





Bin

ChemAxon aa7c50abf8

04-03-2009 21:29:26

Code:
select jc_compare('[H]\\N=C(\\C)N1CCC(CC1)Oc1ccc(cc1)N(Cc1ccc2ccc(cc2c1)C(\\N)=N/[H])[S](O)(=O)CC(O)=O',


'CCc1c(C)c2=CC3=NC(=CC4=NC(C(CCC(O)=O)C4C)=C(CC(O)=O)C4=NC(C=c1[n-]2)=C(C)\\C\\4=C(/O)O)C(C)=C3C=C', 't:e') from dual


















returns 0 for me.





Thanks








Peter

User f50dadc210

04-03-2009 21:37:12

Quote:






The query is the same as target.





select jc_compare(


'CCc1c(C)c2=CC3=NC(=CC4=NC(C(CCC(O)=O)C4C)=C(CC(O)=O)C4=NC(C=c1[n-]2)=C(C)\C\4=C(/O)O)C(C)=C3C=C'


,



'CCc1c(C)c2=CC3=NC(=CC4=NC(C(CCC(O)=O)C4C)=C(CC(O)=O)C4=NC(C=c1[n-]2)=C(C)\C\4=C(/O)O)C(C)=C3C=C'


,
't:e') from dual


returns 1;





But my code returns 0; it returns 1 after dearomatizing the qurey.





Thanks

ChemAxon a3d59b832c

05-03-2009 14:43:08

In general, structures should be aromatized before calling MolSearch, or the StandardizedMolSearch class can be used instead. (See: http://www.chemaxon.com/jchem/doc/guide/search/index.html#searchmem )














This particular structure seems to have some aromatization problem when it is dearomatized before. We will check it and get back here. (Unfortunately, my colleague responsible for aromatization is on holiday at the moment.)





Best regards,





Szabolcs

ChemAxon 42004978e8

05-03-2009 16:41:12

Hi,








It's generally advised to standardize both query and target before searching. jc_compare does this, that's why it returns 1. This corresponds to uncommenting lines 2,4 only.





The previously mentioned aromatization - dearomatization problem of this structure will be answered when our colleague returns.





This problem causes the non-matching in case the target is non-aromatized before searching.





Bye,





Robert

ChemAxon 25dcd765a3

06-03-2009 22:05:58

Hi,





About the aromatization, dearomatization problem:





All aromatization methods work only in structures which are in


non-aromatic representation. If the molecules are in partially aromatic


form (containing any aromatic bond) the transformation method may fail.





So if you aromatize your molecule:








Code:
CCC1=C(C)C2=CC3=NC(=CC4=NC(C(CCC(O)=O)C4C)=C(CC(O)=O)C4=NC(C=C1[N-]2)=C(C)C4=C(O)O)C(C)=C3C=C









It will give you








Code:
CCc1c(C)c2=CC3=NC(=CC4=NC(C(CCC(O)=O)C4C)=C(CC(O)=O)C4=NC(C=c1[n-]2)=C(C)C4=C(O)O)C(C)=C3C=C









But aromatizing it further will result in








Code:
CCc1c(C)c2cc3nc(cc4nc(C(CCC(O)=O)C4C)c(CC(O)=O)c4nc(cc1[n-]2)c(C)c4=C(O)O)c(C)c3C=C









Aromatizing an already aromatized molecule is strongly avoidable.





Andras

User 8139ea8dbd

06-03-2009 22:42:19

If you check our Java code, we always dearomatize the structure first, before we aromatize. We never aromatize an already aromatized structure. So an answer is still needed. Thanks.

ChemAxon a3d59b832c

09-03-2009 07:34:30

We are checking the search issues with dearomatization+aromatization.

ChemAxon 42004978e8

13-03-2009 10:18:33

Hi,





There is a bug in the interaction of searching and aromatization for structures which are modified by subsequent aromatizations.





We are working on the fix of this bug.





Robert

User 8139ea8dbd

13-03-2009 16:18:10

Thanks. Let us know. We will waiting for the fix, before we carry out our next jchem upgrade.

ChemAxon 42004978e8

25-03-2009 15:28:22

Hello,





The problem with altering the structures due to subsequent aromatizations is fixed.





During searching sometimes we perform additional aromatization, and this caused that the structure didn't find the target (which was the same.)





Now this additional aromatization doesn't change the structure and the searches work correctly.





Still the user should avoid molecules with valence errors, because these might be altered by an additional aromatization. (Of course additional aromatization doesn't always occur, but ambiguous aromaticity is one case: http://www.chemaxon.com/jchem/doc/user/query_searchoptions.html#vague1)





The fix will be release with verion 5.2.1 in about 2-3 weeks.








Bye,





Robert