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

Add support for more CHARMM force fields #1157

Merged
merged 10 commits into from May 31, 2022

Conversation

swails
Copy link
Contributor

@swails swails commented Mar 7, 2021

  • Adds support for Drude force fields
  • Adds support for lone pairs (virtual sites) in PSF parsing

These enhancements were made to an earlier version of the source code found in OpenMM, and this PR is aimed at transferring those enhancements so that ParmEd is capable of every feature supported by OpenMM.

@wiederm
Copy link

wiederm commented Oct 6, 2021

I am super excited to see these enhancements for LP CHARMM support. Are there any plans for a timely merge?

I noticed that when I write a psf using the code in this branch for a system with lone pairs the psf section for lone pairs is missing:

         0         0 !NUMLP NUMLPH

That leads to lone pairs without bonds to their heavy atoms.
I attached a short example to reproduce this issue.
lp_charmm.zip
I will leave this comment here since I am not sure if this issue is due to the draft status of the PR or a potential future issue.

@swails
Copy link
Contributor Author

swails commented Oct 6, 2021

I think I'm close -- I'm basically working to make sure that OpenMM and CHARMM yield the same OpenMM system from the same files (the OpenMM code is an old version of the ParmEd code, so it's not super straightforward to translate the changes there to here).

I just have to find the time to work on it. Examples help.

* Adds support for LP (lone pairs) in CHARMM PSF files
* Adds a LocalCoordinatesFrame to support the CHARMM LP types
* Starts to add Drude parsing to CHARMM psf parser
This is especially possible in water where a H-H bond may be added for
constraints, but that may exist alongside a H-O-H angle. If both exist,
the current code will add the same constraint twice which could cause
problems. Now the angle constraint only adds a distance constraint if
those two atoms are not *already* constrained.

This fix is inspired from an OpenMM commit for the CHARMM files.
Properly parses the drude anisotropies with relevant tests.
@swails swails marked this pull request as ready for review May 31, 2022 01:54
@swails swails merged commit 11cab11 into ParmEd:master May 31, 2022
@swails swails deleted the feature/charmm-enhancements branch May 31, 2022 02:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants