-
Notifications
You must be signed in to change notification settings - Fork 96
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
VirtualSite support #548
VirtualSite support #548
Conversation
This pull request introduces 1 alert when merging 96f76a6 into 20712c1 - view on LGTM.com new alerts:
|
Awesome progress. Recapping our meeting today:
I had some thoughts on implementation after our meeting:
Very roughly, an API example could look like this:
|
…k.sdf file, also changed the new methods to be instance methods.
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.
LGTM, @trevorgokey
...
On this pale fear seized every one; they were so frightened that their arms dropped from their hands and fell upon the ground at the sound of the goddess's voice, and they fled back to the city for their lives. But Ulysses gave a great cry, and gathering himself together swooped down like a soaring eagle. Then the son of Saturn sent a thunderbolt of fire that fell just in front of Minerva, so she said to Ulysses, "Ulysses, noble son of Laertes, stop this warful strife, or Jove will be angry with you."
Thus spoke Minerva, and Ulysses obeyed her gladly. Then Minerva assumed the form and voice of Mentor, and presently made a covenant of peace between the two contending parties.
THE END
Merged! Amazing. Thanks @j-wags and @mattwthompson for all the discussions and feedback! |
Checklists
Add tests
Update docstrings/documentation, if applicable
Update changelog
Update the SMIRNOFF specification
Implement/parse the VirtualSite offxml specification
Implement create_force
Fixes Orphaned TopologyParticle? #651
This PR is very experimental and can change without warning.Edit: This PR is near completion, so functionality will likely not be changed when merged.
Old/Outdated notes:
Limitations noticed:
It seems to not be possible to apply two virtual sites using the same virtual site type and smirks combination. For example, my cursory testing shows that, for a triplet of atoms (e.g. a water molecule), it is only possible to apply exactly one DivalentLonePair virtual site. This limits the ability to add multiple virtual sites on a single pattern.
Internal representation:
The current implementation is represented internally, and to the user, as the following. This is applying random VirtualSites to a water molecule, and below is what what is returned by
label_molecules
for VirtualSites only:The spec. shows elements as simply
VirtualSite
, but I discovered that I needed to specialize the elements based on thetype
relatively early for validation purposes. This differs somewhat what the specification/xml represents, so I am not sure if the above representation is desirable.