Ilya Balabin

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.