markovmodel / PyEMMA

🚂 Python API for Emma's Markov Model Algorithms 🚂
http://pyemma.org
GNU Lesser General Public License v3.0
307 stars 118 forks source link

When to use periodic=False #1529

Closed Seral17 closed 2 years ago

Seral17 commented 2 years ago

Hello, When I am doing feature extraction, sometimes I need to remove the periodicity, e.g. feat.add_backbone_torsions(periodic=False), and sometimes don't, e.g. feat.add_selection(). How periodic should be considered?

Thanks!

clonker commented 2 years ago

Periodicity is with respect to space. Often in MD the bulk behavior is simulated, ie, the space is assumed to be infinite and tiled with the simulated system. If the trajectory contains unitcell information, then this information is used (in conjunction with minimum image convention) to evaluate features if periodic=True. For example: Assume the simulation box is [0,1] x [0, 1] x [0, 1] and you wanted the distance between two atoms as feature. If one atom was at (0, 0, 0) and the other atom at (0, 0, 0.9) then the distance with periodicity is 0.1. On the other hand add_selection yields raw cartesian coordinates as features, not distances or angles. We assume that all particles are within the simulation box and therefore we don't have to do anything with periodicity.

thempel commented 2 years ago

I'm not sure why you would disable the periodicity flag with backbone torsions? If your protein is always "in one piece" and not broken at the periodic boundary, it shouldn't have an effect, but in case it is?

Generally, the periodic flag should be chosen according to the MD setup that you are using. On the one hand, if you're using explicit water in a periodic box, it's a periodic system, and therefore that flag should be turned on (unless there's something special that requires it to be disabled, of course). On the other hand, if you have an implicit solvent simulation with no periodicity, that flag should be turned off.

Seral17 commented 2 years ago

Understood, thank you both very much for your comments.