Why membrane structure generating? The increase in the computational
power over the past few years has allowed for all-atom molecular dynamics
(MD) modeling of large biological molecules. Many of these molecules are membrane
proteins, which function may (and often does) critically depend on the structure
of the surrounding lipid membrane. The membrane plugin implements
a simple, yet efficient, algorithm to instantly generate biological membrane
structures for all-atom MD simulations of membrane proteins.
Generating algorithm. The membrane plugin builds a rectangular
matrix of the required size out of pre-built membrane square patches. Since
biological membranes are lipid bilayers, the patches included two lipid
layers, either layer being a 2-dimensional hexagonal lattice of lipids.
The lipid tails were (almost) fully extended, allowing for easy inserting
proteins (most of which have nearly cylindric shape) into the membrane and,
therefore, reducing the required equilibration time. The distance between
the layers was set to fit the actual membrane thickness, and the lattice
period was set to fit the actual surface density of lipid molecules. Both
parameters depended on the lipid type; for many commonly used lipids, these
parameters are available from experiments (see, e.g., P. R. Rand's page).
To make the generated structure closer to the actual ones, some disorder
was introduced into the patches: random orientation of each lipid in the
membrane plane, and truncated Gaussian spread in the perpendicular direction.
More disorder was caused by a short (1ps) equilibration in vacuum, which
eliminated steric collisions among the lipid atoms but left most of lipid
tails extended. These features do not complicate inserting proteins into
the membrane but additionally reduce the required equilibration time.
Proper head group hydration may be critical for membrane properties and,
therefore, for function of membrane proteins. To properly hydrate the lipid
head groups, water shells are built around the lipids one by one. Since
the VMD solvate plugin makes use of a pre-equilibrated water box,
shell-by-shell solvating was done using the Solvate
program by H. Gruebmuller. Later, water molecules outside the lipid
dimensions and inside the hydrophobic layer (there usually are only a few)
are deleted. Thus, the final patch structure is a slightly disordered lipid
bilayer with the lipid head groups solvated.
Plugin usage. The command syntax is simple and consistent with the
solvate plugin syntax. Run the following commands in the VMD console:
package require membrane
Running membrane
with no arguments gives a short overview
of the syntax. For actual generating a membrane, run membrane
as follows:
membrane -l <lipid_name> -x <size_in_X> -y <size_in_Y>
{-o <output_prefix>}
Replace the contents of the angular brackets with the corresponding parameters:
- lipid_name can only be POPC or POPE at the moment. Other lipid
structures will be generated too.
- size_in_X and size_in_Y are the required membrane dimensions
in A. (The membrane is built in the XY plane).
- output_prefix is an optional parameter, which is simple the
output file name. By default, the generated files are named membrane.psf
and membrane.pdb.
It takes about 20 seconds to generate an about 100x100A size membrane on
a PIII 766MHz laptop.
Embedding proteins in membrane. First, you need a coordinate file
(protein.pdb) and a structure file (protein.psf) for the protein. The PSF
file can be easily generated using the psfgen plugin. Load the both
protein and membrane into VMD and align the protein to the proper position
and orientation in the membrane. Aligning can be easily done using the VMD
GUI front end (hit "9" key to switch VMD in the "move molecule" mode, see
more details in the VMD manual) or
the console (using commands "move", "moveby", "moveto"). Make sure to use
all available experimental data to align the protein in the most accurate
way possible. Then, save the protein coordinates in another PDB file (protein_aligned.pdb).
The last step is merging the protein and the membrane and removing lipids
that overlap with the protein groups. The Tcl script combine.tcl does that for you:
vmd -dispdev text < combine.tcl | tee
combine.log
The protein-membrane complex coordinate and structure files are "protein-mem.psf/pdb".
Note that the script requires the topology file top_all27_prot_lipid.inp (or a symbolic
link to it) to be present in the working directory.