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