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

How to deal with systems that require neutralizing counter ions? #11

Closed
gregoryross opened this issue Jun 2, 2017 · 3 comments
Closed

Comments

@gregoryross
Copy link
Collaborator

Most systems will require neutralizing counter ions, or may already have ions present. The topology of the ions in the Swapper class, which drives the MCMC exchanges, is the same as the topology as the water model. Currently, the ion parameters are hard-coded as the Joung and Cheatham models. To proceed, there are a couple of routes we could take depending on what we expect from users:

  1. Users supply Swapper with a solvated system, possibly with salt already present. Swapper would then
  • Read in the parameters of Na+ and Cl- from the supplied system (easy: this functionality is already possible, but not used) and
  • Change the topologies of the salt ions to match the water model, and
  • For each ion, add the positions of the hydrogens and any additional charge sites to the system coordinates.
  1. Users supply Swapper with a solvated system without any Na+ and Cl- present. Swapper would then:
  • Calculate the net charge of the system (easy)
  • Convert the non-bonded parameters of enough water molecules to neutralize the system (also easy).

Given its simplicity, my preference is with option 2, but I’m open to suggestions. Option 2 has the benefit of ensures that the chemical potential is already calibrated for the ion parameters.

@gregoryross
Copy link
Collaborator Author

Tagging @jchodera and @bas-rustenburg.

@jchodera
Copy link
Member

jchodera commented Jun 2, 2017

Option 2 sounds like the best approach. Even if the user supplies minimal neutralizing salt, it will still work fine as long as the same ion parameters are used, which we can add a sanity check for later.

When we convert this into an MCMC move down the road, we can reassess.

@gregoryross
Copy link
Collaborator Author

Option 2 was implemented in PR #12. Closing.

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

No branches or pull requests

2 participants