Using more than one Reactivity in a reaction

User 08b4a3b8d1

16-05-2007 19:20:57

We are currently using Jchem 3.2.5 and Marvin Sketch 4.1.7. We are trying to use two reactivity rules together in a single reaction. We have done this for exclude rules many times. However, it does not work with reactivity. It seems the reaction "picks" one reactivity or the other to follow or simply doesn't follow either. Is there any way to use two reactivities in one reaction? I have included an example reaction where we are trying to use a Reactivity to prevent it from working on the following two SMILES strings:





CC(C)(COP(O)(=O)OP(O)(=O)OCC1OC(C(O)C1OP(O)(O)=O)n2cnc3c(N)ncnc23)C(O)C(=O)NCCC(=O)NCCS





NC(CCC(=O)NC(CS)C(=O)NCC([O-])=O)C([O-])=O





The attached reaction only blocked one of the SMILES strings (the first one) despite the added Reactivity rules for each.





Code:



react -a changing -v -r ../molecules/bt0067.mrv "CC(C)(COP(O)(=O)OP(O)(=O)OCC1OC(C(O)C1OP(O)(O)=O)n2cnc3c(N)ncnc23)C(O)C(=O)NCCC(=O)NCCS"


Total running time (ms) : 1833


Reaction setting (ms)   : 1436


Reactant setting (ms)   : 9


Reaction processing (ms): 388


Code:



react -a changing -v -r ../molecules/bt0067.mrv "NC(C


CC(=O)NC(CS)C(=O)NCC([O-])=O)C([O-])=O"


NC(CCC([O-])=O)C([O-])=O


NC(CS)C(=O)NCC([O-])=O


NC(CCC(=O)NC(CS)C([O-])=O)C([O-])=O


NCC([O-])=O


Total running time (ms) : 1702


Reaction setting (ms)   : 1533


Reactant setting (ms)   : 1


Reaction processing (ms): 168



Thank you for your help.

ChemAxon e08c317633

16-05-2007 22:04:16

Hi,





Your reactivity rule looks like this:


Code:
!match(ratom(1), "CC(C)(COP(O)(=O)OP(O)(=O)OCC1OC(C(O)C1OP(O)(O)=O)n2cnc3c(N)ncnc23)C(O)C(=O)NCCC(=O)NCCS", 1) || match(ratom(1), "NC(CCC(=O)NC(CS)C(=O)NCC([O-])=O)C([O-])=O", 1)






If you want to block the reaction from acting on CoA and glutathione, then this is not the correct form. You should use this form (reactivity rule):


Code:
!match(ratom(1), "CC(C)(COP(O)(=O)OP(O)(=O)OCC1OC(C(O)C1OP(O)(O)=O)n2cnc3c(N)ncnc23)C(O)C(=O)NCCC(=O)NCCS", 1) && !match(ratom(1), "NC(CCC(=O)NC(CS)C(=O)NCC([O-])=O)C([O-])=O", 1)






Even better solution, if you specify an exclude rule, instead of reactivity:


Code:
match(reactant(0), "CC(C)(COP(O)(=O)OP(O)(=O)OCC1OC(C(O)C1OP(O)(O)=O)n2cnc3c(N)ncnc23)C(O)C(=O)NCCC(=O)NCCS") || match(reactant(0), "NC(CCC(=O)NC(CS)C(=O)NCC([O-])=O)C([O-])=O")



It (the last one) will block the reaction not only if the nitrogen with map 1 is part of the CoA or glutathione group, but also if there is a CoA or glutathione group "anywhere" in the molecule.





I have attached the corrected reaction.





Best regards,


Zsolt