Simulated Tempering Strange Ion Behavior

The functionality of OpenMM will (eventually) include everything that one would need to run modern molecular simulation.
POST REPLY
User avatar
Kyle Kihn
Posts: 29
Joined: Mon Apr 01, 2019 8:18 am

Simulated Tempering Strange Ion Behavior

Post by Kyle Kihn » Fri Jul 10, 2020 7:13 am

Hi All,
We have been attempting to implement the enhanced sampling method of simulated tempering (simulated_tempering.txt). We noticed that in all of the runs we have performed, about half way through, some of the ions form a lattice structure. Is this a product of the simulated tempering method? How do we prevent this from happening in openMM? Is this an issue if we are just concerned about protein?
Thank you,
Kyle
Attachments
simulated_tempering.txt
(14.32 KiB) Downloaded 9 times

User avatar
Peter Eastman
Posts: 2593
Joined: Thu Aug 09, 2007 1:25 pm

Re: Simulated Tempering Strange Ion Behavior

Post by Peter Eastman » Fri Jul 10, 2020 11:19 am

Simulated tempering just modifies the temperature to improve sampling. If the ions are forming a lattice, that suggests it's a lower energy configuration, and simulated tempering is just helping it to discover that configuration more quickly.

By the way, these lines in your script aren't doing what you intend them to:

Code: Select all

pdb.addSolvent(forcefield, padding=1.0*unit.nanometers, model='tip3p')
pdb.addSolvent(forcefield, ionicStrength=0.15*unit.molar, positiveIon='K+')
pdb.addSolvent(forcefield, ionicStrength=0.15*unit.molar, negativeIon='Cl-')
The first line builds a water box using the default parameters (positiveIon='Na+', negativeIon='Cl-', ionicStrength=0*molar). The next two lines do nothing at all. The box is entirely filled with water, so there's no room for it to add anything else, and it doesn't modify the water and ions that are already there. Instead you want to call addSolvent() only once:

Code: Select all

pdb.addSolvent(forcefield, padding=1.0*unit.nanometers, ionicStrength=0.15*unit.molar, positiveIon='K+', negativeIon='Cl-')

POST REPLY