---title: lipid thickness and areadate: 2016-04-02 21:11:08tags:
MD,GPCR---- [4.3 Bilayer Thickness](#43--bilayer-thickness) - [4.3.1
Script 1, Parameter File
param_example](#431-script-1-parameter-file--param_example) - [4.3.2
Script 2, split trajectory files \(.xtc\) to a time series of gro
files](#432-script-2--split-trajectory-files-xtc-to-a-time-series-of-gro-files)
- [4.3.3 Script 3, modify the input .gro file name in the
param_example file, run GridMAT-MD and rename output
files](#433-script-3-modify-the-input-gro-file-name-in-the-param_example-file-run-gridmat-md-and-rename-output-files)
- [4.3.4 Calculate the mean and the variance of the average
thickness of the
meanbrane](#434--calculate-the-mean-and-the-variance-of-the-average-thickness-of-the-meanbrane)-
[4.4 Area per Lipid Headgroup](#44--area-per-lipid-headgroup) -
[4.4.1 Script 1, Parameter File
param_example](#441-script-1-parameter-file--param_example) - [4.4.2
Script 2: modify the input .gro file name in the param_example file, run
GridMAT-MD and rename output
files](#442-script-2-modify-the-input-gro-file-name-in-the-param_example-file-run-gridmat-md-and-rename-output-files)
- [4.4.3 Calculate the mean and the variance of the top area of the
meanbrane](#443-calculate-the-mean-and-the-variance-of-the-top-area-of-the-meanbrane)#####
4.3 Bilayer ThicknessThere is no GROMACS tool capable of calculating
area per lipid headgroup in the presence of a membrane protein. For a
pure membrane, this quantity is simply (Box-X * Box-Y)/(# of lipids).
The box vectors can be easily extracted from the .edr file using gmx
energy. In the case of an embedded protein, such as KALP15, how much
space does the protein occupy? We have run a program that addresses this
problem, GridMAT-MD. It measures area per lipid headgroup, as well as
bilayer thickness as a projection across the 2-D bilayer plane
(ref).Analyzing area per lipid headgroup is a valuable parameter when
verifying that your membrane did not inappropriately enter a gel phase
during the simulation.###### 4.3.1 Script 1, Parameter File
param_example```###########################################################################################
- This is the parameter file for GridMAT-MD.pl
## - arguments and values must be separated by white
space (tab or space, any amount) ## - comments must be preceeded by
a '#' sign ## - run this
program by typing: "perl GridMAT-MD.pl param_example"
#################################################################################################
Input file and input file parameterscoord_file
step7_9.grofile_type gronum_frames
1num_lipid_types 1resname1 DMPCatomname1
Psolvent TIP3 # solvent /ion name must be
the same as the .gro fileions CLA,SOD ####### Define
the size and shape of the gridbox_size vectors#
override_vectors 8.2,8.2,13.5grid
20conserve_ratio yes###### Define whether there is a protein
embedded in the bilayerprotein noprecision
1.3P_value 5.0###### Define the desired output files
and formatoutput_prefix outputoutput_format
columnthickness yesarea no```######
4.3.2 Script 2, split trajectory files (.xtc) to a time series of gro
filesThis script splits trajectory files (.xtc) to a time series of gro
files.```bashexpect split2gro.sh``````expect#!/usr/bin/expectset
timeout 20puts ""puts "Split Trajectoies into Seperate Structure
Files(.gro format)"puts ""puts
"=================================================="set command "gmx
trjconv";set structure_file
"/home/wangy0727/Desktop/CXCR1_tleap/step7_1.gro";set trajectory_file
"/home/wangy0727/Desktop/CXCR1_tleap/step19_fit_skip.xtc";set t0 1;set
t1 400;set delta_t 1;puts "Structure File: $structure_file"puts
"Trajectory File: $trajectory_file"puts
"==================================================="spawn bashsend
"source ~/.profile\n"; # set environmentfor {set t $t0} {$t < $t1}
{incr t $delta_t} { puts "" puts
"-----------------$t-----------------------" puts "time: $t ns"
set time [expr {$t * 1000}] send "$command -s $structure_file -f
$trajectory_file -dump $time -o frames/$t.gro\n" #send "ls -l\n"
expect "Select a group:" send "0\n" expect "bash-3.2"}#expect
eofexit```###### 4.3.3 Script 3, modify the input .gro file name in the
param_example file, run GridMAT-MD and rename output filesThis scipt
could be run by```bashsh GriMaTrj_ave.sh``````bashbegin=1end=400for
((i=begin;i$i #modify the input .gro file name in the param_example
file perl GridMAT-MD.pl $i # run GridMAT-MD.pl mv
output.frame1.20x20.average_thickness.dat $i.dat #rename output
filesdone```###### 4.3.4 Calculate the mean and the variance of the
average thickness of the meanbrane```bashsh
meanvar.sh``````bashbegin=1end=400for ((i=begin;i> output_file,
np.mean(data),np.var(data)```Plot error bar files.```bashpython
plterrobar.py 2_400.dat average.png``````python"""Simple demo of a
horizontal bar chart.""""""Demo of the errorbar function."""import numpy
as npimport matplotlib.pyplot as pltimport matplotlib.patches as
patchesimport matplotlib.path as pathfrom StringIO import StringIOimport
argparseimport sysimport re parser =
argparse.ArgumentParser()parser.add_argument('infile',
nargs='?',help="the name of the input
file")parser.add_argument('outfile', nargs='?',help="the name of the
input file")args=
parser.parse_args()infile=args.infileoutfile=args.outfileinput_file=infileprint
input_filex1=np.genfromtxt(input_file,dtype =float)data = x1print data#
example datax = np.arange(len(data[:,0]))y = data[:,0]plt.errorbar(x,
y,xerr=0,yerr=data[:,1])plt.xlabel('time(ns)')plt.ylabel('thickness(A)')plt.savefig(outfile)plt.show()```Average
thickness![Average
thickness](/home/wangy0727/Desktop/CXCR1_tleap/GridMAT-MD_v2.0/frames/average_thick.png)#####
4.4 Area per Lipid Headgroup###### 4.4.1 Script 1, Parameter File
param_example```bash###########################################################################################
- This is the parameter file for GridMAT-MD.pl
## - arguments and values must be separated by white
space (tab or space, any amount) ## - comments must be preceeded by
a '#' sign ## - run this
program by typing: "perl GridMAT-MD.pl param_example"
#################################################################################################
Input file and input file parameterscoord_file
step7_9.grofile_type gronum_frames
1num_lipid_types 1resname1 DMPCatomname1
Psolvent TIP3 # solvent /ion name must be
the same as the .gro fileions CLA,SOD ####### Define
the size and shape of the gridbox_size vectors#
override_vectors 8.2,8.2,13.5grid
20conserve_ratio yes###### Define whether there is a protein
embedded in the bilayerprotein noprecision
1.3P_value 5.0###### Define the desired output files
and formatoutput_prefix outputoutput_format
columnthickness noarea yes # output
area```###### 4.4.2 Script 2: modify the input .gro file name in the
param_example file, run GridMAT-MD and rename output filesThis script
could be run by```bashsh GriMaTrj_ave.sh``````bashbegin=2end=400for
((i=begin;i$i perl GridMAT-MD.pl $i sed '1,3d'
output.frame1.20x20.top_areas.dat > $i.dat done```######
4.4.3 Calculate the mean and the variance of the top area of the
meanbraneThis script could be run by```bashsh
meanvar_area.sh``````bashbegin=2end=400for ((i=begin;i> output_file,
np.mean(data),np.var(data)
```
Top area
![Top area](/home/wangy0727/Desktop/CXCR1_tleap/GridMAT-MD_v2.0/frames/top_area.png)