The latest useable versions of some of the molecular dynamics scripts I have written will be uploaded to this site. They mainly involve working with lipid bilayers and transmembrane proteins. Most of the scripts are written in Perl 5.6.0 or greater (hopefully with a Java front end so as to run across a server) and must execute on a machine with Gromacs along with all required modelling files (.gro, .itp, .top, etc).
The help and version data can be displayed by using -h or -v as the first command line argument.
Creating a lipid bilayer solvated with water.
Uses a DPPC lipid Gromacs coordinate file along with the lipid.itp Force Field from the Tielman (Calgry) website.
To execute at a Unix/Linux/Mac terminal type: perl dppc_create.pl z1 z2 Xlipids Ylipids destination.gro topology.top, where z1 and z2 refer to the water-lipid boundary coordinate for preserving water molecules, e.g., keep water between [0 to z1] and [z2 to boundary-edge], the hydrocarbon lipid tails fall within the region (z1,z2). The Xlipids and Ylipids specify how many lipids are in a single monolayer e.g., 9 9 would mean a monolayer of 81 lipids. The destination.gro argument is the location of the solvated lipid bilayer. A topology file containing a single DPPC molecule entry (provided with the package download) must be supplied. A new topology file is generated (keeping the original intact), it is named filename_working.top.
Inserting holes into a solvated (water) bilayer.
Places a hole through either side of a DPPC lipid bilayer of a given radius. It takes the centre of mass of each lipid molecule to determine whether it falls within the given circle. This is then used for the insertion of protein helices.
To execute at a Unix/Linux/Mac terminal type: perl borehole.pl input.gro output.gro radius topology.top xLocation yLocation. The script generates a topology file with an identical file name to the output.gro file.
Calculating the distance between lipid phosphate heads between two monolayers (for DPPC only).
Works only for DPPC lipids. Calculates the average distance between the phosphate heads of one side to the other side of a DPPC bilayer.
To execute at a Unix/Linux/Mac terminal type: perl zdistance_bilayer.pl coordinate.gro topology.top numberOfAtoms. The number of atoms in a single DPPC molecule must be supplied.
Calculates the length of an alpha helix (along the Z axes).
Prints the length of an alpha helix. If the alpha helix has just been created by TINKER then this script can also orientate the helix along the Z axes i.e., across the bilayer. For example:
perl helix_length.pl polymeth_helix.gro - will return the length of the helix along the Z axes.
perl helix_length.pl polymeth_helix.gro -orientate orientated_polymeth_helix.gro - will orientate the helix along the principal axes (x), the helix is then rotated 90 degrees around the y axes to orientate the helix length-ways along the Z axes. The box is adjusted to fit the protein by centering the helix. The adjustments are put into the orientated_polymeth_helix.gro. The length of the helix along the Z axes is printed to the screen.
Combine two GROMACS .gro files.
Takes two GROMACS .gro files as input, inserts the second at the bottom of the first, recalculates the number of atoms and output into a third .gro file.
perl combine_gro.pl lipid_bilayer.gro helix.gro helix_bilayer.gro