-
Notifications
You must be signed in to change notification settings - Fork 250
Account for enantiomers in entropy #1179
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
Conversation
|
@goldmanm, thanks for your PR! By analyzing the history of the files in this pull request, we identified @jwallen, @nickvandewiele and @bbuesser to be potential reviewers. |
Codecov Report
@@ Coverage Diff @@
## master #1179 +/- ##
=======================================
Coverage 46.52% 46.52%
=======================================
Files 152 152
Lines 27553 27553
Branches 5416 5416
=======================================
Hits 12818 12818
Misses 13860 13860
Partials 875 875
Continue to review full report at Codecov.
|
| center, defined by 4 different groups attached to a carbon, and halves the symmetry | ||
| for each chiral center. | ||
|
|
||
| THe effect of cis-trans isomers is currently not accounted for in RMG. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
THe --> The
| symmetryNumber *= calculateAtomSymmetryNumber(molecule, atom) | ||
| self.assertEqual(symmetryNumber, 9) | ||
|
|
||
| def testAtomSymmetryNumberEthanewithDeuteriumTritium(self): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
more complicated molecules (based on RMG's imagination) might need to be tested. Can we justify the entropy changes for the molecules from eg1 in RMG-tests (https://travis-ci.org/ReactionMechanismGenerator/RMG-tests/builds/268177870?utm_source=github_status&utm_medium=notification)? They seem to differ by R*ln2. But I'm not fully clear about why the chiral center will half the symmetry number on top of previous symmetry calculation. Do you foresee any potential issues with kinetic estimation for a reaction with one side having chiral center?
|
Review comments on things to be done before merging:
|
Reasons regarding the changing of symmetry number to account for enantiomers:Separately, each enantiomer should have the thermo value that RMG currently gives it. RMG, however, lumps all the enantiomers together. Since there are now 2 different forms of the species that RMG represents as one, the entropy should be increased by Rln(2), since otherwise RMG would get the equilibrium of the following reaction wrong (where s and r are the enantiomeric forms and sr is the lumped form): in reality: A <-> B(s) in RMG: A <-> B(sr) For there to be the same concentration of s and r forms in RMG as in the separated representation (at equilibrium), the entropy of B(sr) needs to be Rln2 higher than that of B(s) or B(r). RMG can accomplish this by modifying the symmetry number because accounting for symmetry and enantiomer relationship separately can be accomplished by halving the symmetry number This explination is already partially discussed in RMG documentation but RMG currently does not account for it, added by Nick. This implementation makes the assumption that all enantiomeric centers have additive effects, which is made in GENYSIS source examples from RMG-testsone chiral centerThe molecule from RMG-tests, [CH2]C(C)C=C, has 1 chiral center. Labeling the centes looks like [CH2]C*(C)C=C. This molecule should have an increase of (ln2), and indeed RMG tests shows that the entropy is increased by 1.37 ~ R(ln2). calculation two chiral centersThe molecule from RMG-tests, [CH2]CC([CH2])C(C)C=C, has two chiral centers. Labeling the centes looks like [CH2]CC*([CH2])C*(C)C=C. This molecule should have an increase of 2R(ln2), and indeed RMG tests shows that the entropy increased by 2.76kcal/mol ~ 2R(ln2). calculation I can write an example like this for RMG unittests molecule on a symmetric ring.Another case of interest is a chiral center on a symmetric ring. I will write a unittest for this too. Bear in mind that RMG's symmetry (and non-existent) enantiomer corrections are ad-hoc heuristics and no one is going get perfect values in all cases since it isn't possible to go from a 2D graph to 3D representation infaliably even with force-field like methods. kinetics with enantiomersYou asked a good question. RMG does not take enantiomers into account when doing kinetics. It doesn't take symmetry into account either. In both these cases, some effect is captured by reaction path degeneracy, and some is probably not. Fixing that is a very different beast and might be a later pull request. |
|
@KEHANG, I added a unittest for the case of multiple chiral centers in a molecule. There are already tests ( Is there anything I missed? Let me know when I should rebase for you to merge. |
|
BTW, one typo I mentioned in |
07f6d94 to
e89852d
Compare
|
|
appears very similar. rebasing to master (for you to merge) |
Since symmetry encompases chirality effects when modifying symmetry number, and does it by halfing the symmetry, non-integer values are possible. This change makes symmetry a float value.
When four different groups are found, the symmetry number should be halved to account for chirality (which will increase entropy by Rln2)
Explain in the documentation that chirality is incorportated into symmetry number. This should clarify user concerns about the symmetry value.
e89852d to
88679b1
Compare
|
@KEHANG, could you merge the pull request now that you accepted it? |
This PR is meant to solve issue #1177. It implements:
Since unittests were written, all the review need to do is understand the theory written above and check for any differences in RMG-tests