Re: Ways to find water molecules passing through the water channel in lipid bilayer

From: Vermaas, Joshua (
Date: Fri Jan 19 2018 - 13:37:56 CST

Hi Rabeta,

Welcome to science. Lotsa problems, no easy to find solution. So you get to make your own, and take "inspiration" from others (its best if inspiration includes code!). The first thing I'd do it to remove the lipid drift from your trajectory.

set lipsel [atomselect top "same residue as name P"]
set allsel [atomselect top "all"]
for { set f 0 } { $f < [molinfo top get numframes] } { incr f } {
$allsel frame $f
$lipsel frame $f
$allsel moveby [vecscale -1 [measure center $lipsel]]

Then you'd do something similar to what Bassam suggested. What do you need to do to select the waters you are interested in? Probably something to do with abs(z) < some value, where you'd need to pick the value. The "crossing" aspect also means you likely need to keep track of those that actually cross, rather than just uselessly going in and out. I remember cooking up a list comparison for myself, to see if there were specific molecules that entered from one side ("blah and z < 20 and z > 15"), then transited through the bilayer to the other. It involved scripting to keep track of what passed through the bilayer rather than going across the periodic boundary, but it isn't conceptually difficult, just lots of bookkeeping.


On 01/19/2018 12:19 PM, Rabeta Yeasmin wrote:
Dear Haddad,

Thanks for your information. I have tried the way you suggest. But the problem is, it can find out the water which are within the range selected (lipid bilayer) that means the waters which penetrates the lipid in each frame. But when I had checked trajectory visually in VMD, I have seen that there are many waters which penetrates the lipid bilayer but they do not actually cross through the lipid bilayer rather they come out of the lipid after a while.
And also the lipid boundary changes from frame to frame. Like, in the first frame it was from -25 to 31 but after around 3000 frame it become -15 and 40.


Rabeta Yeasmin

On Thu, Jan 18, 2018 at 6:46 PM, Bassam Haddad <<>> wrote:
Hi Rabeta,

While this may not be the quickest approach, I would write a .tcl script that does the following:

1. iterates through the frames of the simulation and outputs the resid of any water molecule that penetrates the lipid bilayer, simply by selecting ...for example... set lip_wat [atomselect top "water and (z > lower_lipid_boundary and z < upper_lipid_boundary)"] then print the resid's of the selection before moving to the next frame.
2. after all penetrating water molecules are identified, your script would reiterate through the simulation and output the waters' oxygen coordinates and time-step. you can then analyse that data to find the velocity of the water molecules.

The script I attached is one I found while back for printing x,y,z coordinates, it might be of some use to you.

~ Bassam

On Thu, Jan 18, 2018 at 4:22 PM Rabeta Yeasmin <<>> wrote:
Dear NAMD users,

I want to calculate water molecules that are crossing through the channel of a lipid bilayer. It is very difficult to track water molecules visually which are passing through the channel in VMD as there are a lot of water molecules. And also I am confused about the unwrapping the water molecules to calculate the velocity at which water is passing through the channel. Because I can track an water molecule passing through the channel visually but when I check the pdb file, some of its x, y coordinate are outer side of the simulation box (in unwrapped water molecule). So I wonder if they are outer side of the simulation box how they cross the channel through the lipid.

I will be grateful if anyone can suggest me any way to calculate water molecules passing through lipid bilayer and their velocity/diffusion rate.


Rabeta Yeasmin

This archive was generated by hypermail 2.1.6 : Tue Dec 31 2019 - 23:19:37 CST