Adding mass() as selectivity parameter in SMARTS reaction

User 6288f3e087

27-08-2010 21:53:30

Hello:


I am trying to make a reaction scheme and I only need products smaller than a certain size. Can this be done with a SMARTS reaction scheme?


I try to add ..s:mass()<65 or ..r:react()<65 but I keep getting an error, so I take it it's not the right way to go. I tried to find an answer in the forums but was not successful either.


Any help is appreciated.

ChemAxon d76e6e95eb

27-08-2010 22:28:57

It is possible to use the reaction rules for such a filter (you have to specify that it is a condition for the mass of the first product):


 "mass(product(0)) < 65"

You might want to add it to the exclude rule.  It is possible, but I  would not recommend it in practice, because the generic reactions are reusable entities, their results should only be dependent on the chemistry, not on the actual purpose.


You can keep the reactions reusable and easily filter the products after the enumeration by the jcsearch tool, for example, with an empty query structure and a chemical terms filter (you seem prefer the command line):


jcsearch -q "" -e "mass() < 65" products.smiles

I hope that this helps.

User 6288f3e087

27-08-2010 22:41:31












You can keep the reactions reusable and easily filter the products after the enumeration by the jcsearch tool, for example, with an empty query structure and a chemical terms filter (seems you prefer the command line):




Gyuri:


First of all, thanks for your quick reply. Second, I agree with your outlook on the use of reactions.


As a follow-up, you write that I would need the following, but I am still unable to put this in the reactor. Is this a follow-up to the SMARTS string?










"mass(product(0)) < 65"


Lastly, I was able to use jcsearch only if I put the following:



 jcsearch -f smiles -e "mass()<65" products.smiles. 



If I put -q "" I get an error that says:




Error in  at molecule 1.


Cannot read empty molecule file


 



Thanks again!


ChemAxon d76e6e95eb

30-08-2010 14:28:30

Oh, you are right. I used the upcoming version in which jcsearch requires the -q "" flag (empty query) to run.

User 6288f3e087

30-08-2010 14:45:58










Gyuri wrote:

Oh, you are right. I used the upcoming version in which jcsearch requires the -q "" flag (empty query) to run.



Sounds good! Thanks for the help.

ChemAxon e08c317633

30-08-2010 15:20:16

Same can be done with Chemical Terms Evaluator.


Example:


evaluate -e "mass() < 65" -x smiles "CCC" CCCl" CCCBr" CCCN" CCCS"
CCC
CCCl
CCCN

Works also with file input:


evaluate -e "mass() < 65" -x smiles products.smiles

Zsolt