SMARTS bug?

User da00f5c453

01-02-2008 03:16:09

Hi all,





According to JChem documentation it should support v atom primitive for atom valence. Running the query





Code:
 evaluate -e 'matchCount("[!#15v5]")' t1.smiles






where t1.smiles contains
Code:
 FC(Cl)=CCl






returns 0





if I run the same command but without v atomic primitive the result is ok





Code:
 evaluate -e 'matchCount("[!#15]")' t1.smiles






returns 5





Oleg.

ChemAxon a3d59b832c

01-02-2008 09:43:19

Hi,





Because none of the atoms in your smiles "FC(Cl)=CCl" have valence of 5, I believe that both results are correct. What would you like to describe with your SMARTS expression?





Regards,


Szabolcs

User da00f5c453

01-02-2008 17:39:59

Hi,





I am screening a library of compounds for SMARTS pattern





Code:
 [!$([#6,F,Cl,Br,I,o,$([#8](-[#6a])-[#6a]),s,nX3,$([#7]C=O),$([#7]-[#6a]),#7v5,#15v5,#16,*+1,*+2,*+3])]






the SMARTS pattern
Code:
 [!#15v5]
is part of the above pattern, anyway according to the Daylight SMARTS depiction
Code:
 http://daylight.com/daycgi_tutorials/depictmatch.cgi



the structure in t1.smiles shouldn't be a hit while doing the search with JChem


gives 1 hit. Is there a bug in JChem SMARTS parsing/depiction?





Oleg.

ChemAxon a3d59b832c

01-02-2008 18:32:45

OK, I spotted it. There is a H match. If you click "Enable explicit-H SMARTS" on depictmatch, it will also report a hit.





You can use this modified SMARTS if you want to exclude Hydrogens:
Quote:
$ evaluate -e 'matchCount("[!$([#6,F,Cl,Br,I,o,$([#8](-[#6a])-[#6a]),s,nX3,$([#7]C=O),$([#7]-[#6a]),#7v5,#15v5,#16,*+1,*+2,*+3])!#1]")' "FC(Cl)=CCl"


0


The important bit is "!#1" at the end of the SMARTS expression.





Best regards, Szabolcs

User da00f5c453

01-02-2008 21:10:59

Hi Szabolcs,





Thanks a lot for quick replay, it does work now - I overlook the fact that JChem treats implicit and explicit hydrogens in the same way.





thank you for your support!





Oleg.