# Area per lipid error

From: Andres Morales N (andresmoralesn2_at_hotmail.com)
Date: Mon Oct 17 2011 - 21:12:33 CDT

Dear NAMD and VMD users:

Is there anyone here to know how to calculate the area per lipid and thickness for a lipid bilayer in a membrane system?
Or, could anyone share the scripts to calculate them?

I was looking at VMD and NAMD mailing lists, and I found some suggestions to calculate a crude aproximation for area per lipid and thickness of a lipid bilayer .
Acording with those suggestions I wrote some simple scripts to calculate them. But I have some problems.

First, the area per lipid calculated for each frame was around ~130 A^2 per lipid. It is a too large value since I am workin with a DPPC bilayer (~62 A^2 per lipid).
Second, the thickness calcualed was good for the 50 first frames, but for the other ones, it took too large values (~1000 A).

I calculated :
Average area per lipid: "box size X * box size Y / no. of lipids" (lipids are in the XY plane)
Thickness: I brought the membrane center of mass at origin (0,0,0), calculated average positive Z coordinates and average negative Z coordinates, substracted the negative from the positive
average.
The scripts I use was (lipids 1 to 36 formed the monolayer above z=0 and lipids 37 to 72 formed the monolayer beneath z=0 ):

###################Protocol to calculate average Z coordinates ##########################
proc prom_z {sel} {
set sumz 0
foreach atom [\$sel get index] {
set pos [lindex [[atomselect top "index \$atom"] get {x y z}] 0]
set z1 [lindex \$pos 2]
set sumz [expr abs(\$sumz )+ abs(\$z1)]
}
set promz [expr \$sumz / 36]
return \$promz
}
##############################################################################################

set mol [mol new dppc.psf type psf]
mol addfile dppc_eq.dcd type dcd waitfor all

set outfile [open Analysis_DPPC.txt w];
puts \$outfile "Frame Area per lipid Thickness (N) Thickness (P)"

set nf [molinfo top get numframes]
set sel [atomselect top "lipids"]
set sel1 [atomselect top all]
set sel2 [atomselect top "lipids and resid 1 to 36 and element N"]
set sel3 [atomselect top "lipids and resid 37 to 72 and element N"]
set sel4 [atomselect top "lipids and resid 1 to 36 and element P"]
set sel5 [atomselect top "lipids and resid 37 to 72 and element P"]

for {set i 0 } {\$i < \$nf } { incr i } {
\$sel frame \$i

\$sel1 moveby [vecinvert [measure center \$sel weight mass]]

## Area per lipid
set min [lindex [measure minmax \$sel] 0]
set max [lindex [measure minmax \$sel] 1]
set minx "[lindex \$min 0]"
set miny "[lindex \$min 1]"
set maxx "[lindex \$max 0]"
set maxy "[lindex \$max 1]"
set lenght_x [expr \$maxx - \$minx]
set lenght_y [expr \$maxy - \$miny]
set area_por_lipido [expr (\$lenght_x * \$lenght_x) / 36]

## Thicknes
set z1 [prom_z \$sel2]

set z2 [prom_z \$sel3]
set thinckness1 [expr abs(\$z1) + abs(\$z2)]

set z3 [prom_z \$sel4]

set z4 [prom_z \$sel5]
set thinckness2 [expr abs(\$z3) + abs(\$z4)]

puts \$outfile "\$i \$area_por_lipido \$thinckness1 \$thinckness1"
}
close \$outfile

Hernán Andrés Morales Navarrete

Biophysics and Molecular Modeling Group
Physics Department
Escuela Politécnica Nacional, Quito - Ecuador