Finding the Center of Mass coordinate for a lipid molecule

GROMACS version: 2018.1
GROMACS modification: Yes/No
Here post your question: I wish to calculate the Centre of Mass of each lipid present in the lipid bilayer to analyse the MSD of Lipids COM, not the bilayer COM. Please suggest to me how can I calculate the COM by indexing.

I’m not an expert, but I would suggest that you may have to write out individual frames from the trajectory as, say, pdb files (using trjconv -dump). You can then use any analysis tools you like on the pdb files.

That will be tedious but should give you the flexibility you are looking for.

Hi @samapika,

it is not entirely clear for me what you want to analyze. Usually, people calculate the MSD for lipids in a membrane to determine the magnitude of their diffusion. However, the GROMACS utility gmx msd is often used for that. The flag -mol should help you to calculate the msd for the COM of each lipid in a index group. Index groups can be created with gmx make_ndx.


Thanks, @gvigers surely I will try out this approach.

Thanks, @Marius I have used the flag -mol in the gmx msd command line to calculate lipid COM MSD. But was curious to know if the approach would yield MSD COM for each lipid or the entire lipid bilayer??

from the documentation of gmx msd:

If -mol is set, gmx msd plots the MSD for individual molecules (including making molecules whole across periodic boundaries): for each individual molecule a diffusion constant is computed for its center of mass. The chosen index group will be split into molecules.

So it seems that with the -mol flag GROMACS handles each lipid individually. However, it returns only the diffusion coefficient per molecule and not each single MSD (at least for my test case with GMX 2021.4). It seems for me that if you are interested in each MSD plot (e.g. you want to fit it yourself) you have to call GROMACS multiple times or you use more flexible tools like MDAnalysis or such.


It’s maybe worth also noting here that if you’re wanting to calculate the diffusion constants for individual lipids, you are unlikely to be able to accurately get this from the individual lipid MSDs. This is because you will likely be unable to fit to a linear part of the MSD (as required to get the diffusion constant) when the MSD is calculated for an individual lipid.

If you really want to calculate individual lipid diffusivity, you should have a look at what people do to calculate the diffusion of individual molecules using autocorrelation functions (e.g. when combining diffusivity with a PMF to determine soulte-membrane permeation rates).



Totally agree! Good point! :)