Which atoms of my query mol. q match smarts r1, r2, r3, r4?

User 779e37e0e6

27-01-2014 17:29:56

Hello,


I am doing substructure search using the jchem tools. As a task, I would like to solve this:


Given a molecule q, the substructure search returns pattern r1, r2, r3, r4. I would like to know which atoms of q match the smarts of r1, r2, and r3, and r4. This can help me to evaluate how diverse my set of patterns is abnd how well it can cover my set of query structure.


Is there a ChemAxon tool that coul help me do that?


Cheers,


Yan

ChemAxon abe887c64e

28-01-2014 13:21:31

Hi MrYan,


I'm not sure I correctly understand your question.


In your substructure search which letters represent the query (queries) and which letters represent the target(s)?


Krisztina

User 779e37e0e6

28-01-2014 17:43:18

Hi Kriztina,


Here is an example:


Query Q = "CC(CCN1CCN(CC1)C2=CC=C(C=C2)F)NC(=O)C3=CN=CC=C3"


Targets R1: C1CNCCN1, R2:CC(N)=O, R3:c1ccncc1, R4:[#6]!@-[#7].


I would like to know what atoms in Q match the atoms in R1,..,R4. Also, I would like to know in total how many atoms (out of 26 atoms - excluding H atoms) are taken into account in the 4 returned patterns. It is possible that a particular atom a1 of Q is shared with two or more patterns.


Is here a way to solve this ask with Chemaxon tools? If yes, which ones an how? If no, could suggest some libraries/tools that allow this?


 


Thanks for your consideration,


 


Yannick

ChemAxon a9ded07333

30-01-2014 14:11:17

Hi Yannick,


You can use jcsearch. It is a command-line tool, you can find detailed info about it on our homepage: http://www.chemaxon.com/jchem/doc/user/Jcsearch.html


Using it with the --allHits switch it returns all the possible positions in the target molecule where the query is found. In your example (we use 'query' and 'target' in the opposite way you did in your letter):


$ jcsearch -q '[#6]!@-[#7]' 'CC(CCN1CCN(CC1)C2=CC=C(C=C2)F)NC(=O)C3=CN=CC=C3' --allHits
    Query has 4 matches:
        Match 1:[    4,   5 ]
        Match 2:[   11,   8 ]
        Match 3:[    2,  18 ]
        Match 4:[   19,  18 ]
CC(CCN1CCN(CC1)C1=CC=C(F)C=C1)NC(=O)C1=CN=CC=C1


If you want to solve your problem using our API you will find useful the StandardizedMolSearch class and its setQuery(), setTarget() and findAllHits() methods. The findAllHits() method returns an array of SearchHit objects, you can retrive the atomindex information by calling the getSingleHit() or getGroupHit() method on each of them. For further information you may check our API documentation: http://www.chemaxon.com/jchem/doc/dev/java/api/index.html


Cheers,
Tamás

User 779e37e0e6

19-02-2014 22:54:20

Hello Tamas,


 


Thank you for your reply. Is it possible to use Jchem web services to get the same results? Using jcsearch is going to be too slow. I am programming with ruby.


Thank you,


Yannick

ChemAxon e07e2a364b

20-02-2014 14:31:55

Hi Yannick,


   We currently do not support such functionality in the web services. You can accomplish this through the jchem Java API only. You may use the findAllHits() method of StandardizedMolSearch class: http://www.chemaxon.com/jchem/doc/dev/java/api/chemaxon/sss/search/MolSearch.html#findAllHits%28%29 Some hint can be found here on how java can be called from ruby. http://stackoverflow.com/questions/7284161/how-to-call-java-api-from-ruby-1-8-or-1-9


    The rule of thumb for web services that we do not go below molecule granularity generally. If you think that this feature is relevant for other customers, you may try to convince us describing your use case in e-mail. Alternatively, you may sponsor the development of adding this functionality.