how to get reaction rules from rxnfile.

User 05309f4af8

13-07-2009 08:58:39

Hi,


  how to get reaction rules(reactivity /selectivity /exclude rules) from rxnfile.


  please give me some java code sample!


  rxn: [#7:1][C:2]([#7:4])=.[Cl,Br,I][C:5][C:6]=O>>[#7:4][C:2]1=[N:1][C:6]=[C:5]1 |c:9,t:7|


-->how to get this rules?-->rules: (match(ratom(1), "[#6][NH2:1]", 1)) && (match(ratom(6), "[#6][C:1](=O)[#6]", 1))


  thanks!


andy.

ChemAxon e08c317633

13-07-2009 11:51:20

Hi,


The reaction rules can be specified in different ways:
- in RDF/MRV tags (REACTIVITY, EXCLUDE, SELECTIVITY, TOLERANCE) of the reaction file; ... 


See: http://www.chemaxon.com/jchem/doc/user/Reactor.html#rules


 


The rules can be read from molecule with the Molecule.getProperty(String) method. I attached the code example and an example reaction file.


$ java ReactionRulesLister Friedel_Crafts_acylation.mrv 
REACTIVITY: charge(ratom(1), "aromaticsystem") <= -0.2
EXCLUDE: match(reactant(1), "[C:1]C=C") or
match(reactant(0), "[O,S]C=[O,S]") or
match(reactant(0), "P[H]") or
(max(pka(reactant(0), filter(reactant(0), "match('[O,S][H]')"), "acidic")) > 14.5) or (max(pka(reactant(0), filter(reactant(0), "match('[#7][H]')"), "basic")) > 0)
SELECTIVITY: -energyE(ratom(1))
TOLERANCE: 0.02


The code example works also with RXN, RDF, etc. files. I hope this helps.


Zsolt

User 05309f4af8

14-07-2009 05:42:32

thanks for your answer!


I have another question. 


Do reaction rules need to be input by users or automatically generated by Marvin Tools (or code)?

ChemAxon d76e6e95eb

14-07-2009 06:31:44

The reaction rules are not constructed automatically from reaction schemes, they are manually designed. Reaction rules are just simple properties of a reaction (like RDfile fields). They are not required at all for running virtual reactions with Reactor, you can use SMIRKS or RxnFiles without any rules. However, if you would like to benefit from the on-the-fly property calculations of reactants and products during the reaction to improve the specificity of the reaction, you can add the above mentioned rules manually. The Reaction Editor built into Reactor provides a user interface for that.


We at ChemAxon work on a synthetic reaction library that contains pre-designed organic reactions, that can be used in Reactor. Since synthetic organic chemistry is a complex science, and reaction results depend on many conditions, the results of virtual reactions are usually not perfect. However, the reactions having rules usually provide better results in many cases than those without. And the good thing is, that you can modify them any time to better reproduce experimental results.