Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

intra_substitutionCS_isomerization not working #382

Closed
connie opened this issue May 12, 2015 · 4 comments · Fixed by ReactionMechanismGenerator/RMG-database#64
Closed

intra_substitutionCS_isomerization not working #382

connie opened this issue May 12, 2015 · 4 comments · Fixed by ReactionMechanismGenerator/RMG-database#64

Comments

@connie
Copy link
Member

connie commented May 12, 2015

This family template uses the reversible reaction template XSYJ -> XSYJ

However, the head node requires a reactant that fits a group such as this XSR3J:

1 *3 R!H u1 {2,[S,D]}
2 *2 Ss  u0 {1,[S,D]} {3,S}
3 *1 C   u0 {2,S}

And the reaction recipe states

recipe(actions=[
['BREAK_BOND', '*1', 'S', '*2'],
['FORM_BOND', '*1', 'S', '*3'],
['GAIN_RADICAL', '*2', '1'],
['LOSE_RADICAL', '*3', '1'],
])

We see that the Sulfur atom gains a radical, and the R!H group loses a radical in the process. When we then try to reverse this template, it no longer works because the Sulfur now contains a radical and is no longer isomorphic to the XSYJ group. So does this mean that this family is not reversible?

Some investigation shows that in RMG-Java using the PopulateReactions module the reaction only shows up when the reactant is present in the forward direction, but not when the product is present. This also shows that the template is not reversible as is. Maybe all we need is to write in a reverse template?

@rwest
Copy link
Member

rwest commented May 12, 2015

Yes, it looks to me like it is not its own reverse; the product cannot match the reacting template, and It should be something like XSYJ -> XYSJ.

Can our database tests be made to catch this type of error?

@connie
Copy link
Member Author

connie commented May 12, 2015

It's pretty bad how we only detect this type of error when the appropriate reactants that work for the family are put in an input file... at least Py is throwing an error, whereas Java pretty much stealth hides it.

i.e.

1 C 0 {6,S}
2 C 0 {6,S}
3 C 0 {6,S}
4 C 0 {7,S}
5 C 0 {7,S}
6 C 0 {1,S} {2,S} {3,S} {8,S}
7 C 0 {4,S} {5,S} {8,S} {9,S}
8 S 0 {6,S} {7,S}
9 C 1 {7,S}

connie added a commit to ReactionMechanismGenerator/RMG-database that referenced this issue May 12, 2015
Closes ReactionMechanismGenerator/RMG-Py#382

Also must reorder the tree since the rules are listed
in terms of templates that go

XSRJ;C;YJ

The tree must also obey this order in order for kinetics
to be determined correctly.

We should probably have a database test for this.
connie added a commit to ReactionMechanismGenerator/RMG-database that referenced this issue May 12, 2015
Closes ReactionMechanismGenerator/RMG-Py#382

Also must reorder the tree since the rules are listed
in terms of templates that go

XSRJ;C;YJ

The tree must also obey this order in order for kinetics
to be determined correctly.

We should probably have a database test for this.
@rwest
Copy link
Member

rwest commented May 12, 2015

This problem is fixed by ReactionMechanismGenerator/RMG-database#64, but before closing this issue, could we add something to RMG-Py/databaseTest.py to prevent it reoccurring undetected?

@rwest
Copy link
Member

rwest commented May 12, 2015

It was closed automatically by github when I pushed the commit to RMG-database. I'm reopening until unit test added.

@rwest rwest reopened this May 12, 2015
connie added a commit to ReactionMechanismGenerator/RMG-Java that referenced this issue May 13, 2015
@connie connie closed this as completed May 13, 2015
bslakman pushed a commit to bslakman/RMG-database that referenced this issue Jul 1, 2016
Closes ReactionMechanismGenerator/RMG-Py#382

Also must reorder the tree since the rules are listed
in terms of templates that go

XSRJ;C;YJ

The tree must also obey this order in order for kinetics
to be determined correctly.

We should probably have a database test for this.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants