Cross sectional area calculation

Usage

We propose here gromacs tool that can be used to calculate the cross sectional area of membrane protein (or similar inclusion) in membrane. Schematically illustrated in the next figure:

For more details, see paper (please cite it if you use this code):

Compile it as any tool done with gromacs template. Then just run it normally:

g_density3Darea -f traj.trr -s topol.tpr

Two groups are required in this calculation (2 is the answer to the "How many groups?" question): the first one involves all non-protein beads, the second the protein beads. With -sl you can change the 3D density grid size. You need to have the electrons.dat in your directory even thought it is not used (this is stupid and should be fixed!).

The area profile is obtained in area.xvg (three columns have the same number for historical reasons, this should be fixed as well). It can be visualized in 3D by opening the proteinformDENS.dat with rasmol, choosing Colors > Temperature and Slab mode.

If you want to calculate the mechanical energy change of a bilayer due to the inclusion, as done in the publication, you need to calculate the pressure profile outside inclusion. This can be done by using script similar to this:

paste proteinformDENS.dat 3Dpp.dat | awk '{if($10>0){pp[$13]+= $14+$18)/2; sum[$13]++;}}END{for(i=0;i0){print i" "pp[i]/sum[i]} else{print i" 0"}}}' > test.dat

The line above calculates the average lateral pressure profile outside the protein (this idea should be described in the publication).

proteinformDENS.dat and 3Dpp.dat (3D pressure field, ascii format) should be the output from g_density3Darea. Grid spacing must be exactly the same.

 

For more information contact Samuli Ollila (This email address is being protected from spambots. You need JavaScript enabled to view it.).

Remark

The code DOES NOT remove rotation or translation and the protein should be whole inside the box in all frames. This can be done by the following way (to be adapted to each system of course):

trjconv -pbc nojump
trjconv -fit transxy
trjconv -pbc mol
trjconv -fit rotxy+transxy