Amber

From oldwiki.scinet.utoronto.ca
Revision as of 14:08, 19 December 2013 by Ejspence (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

WARNING: The last edit of this page is over two years old. The information on this page may be out-of-date.

Download and general information: http://ambermd.org and for AMBER Tutorials please refer to http://ambermd.org/tutorials/

The Amber 10 molecular dynamics package has been installed on the SciNet GPC cluster, together with the amber tools package. In order to have access to this package, you need to "module load intel intelmpi fftw amber10" (best included in your .bashrc). This installation includes both serial and parallel (MPI) versions of amber. It was compiled with the Intel compilers, and uses the Intel MPI libraries. The pmemd program was compiled with fftw3, Intel compilers, and Intel MPI.

A typical workflow with amber, as exemplified in the Amber 10 Users Manual, is:

Step 1. Generate some starting coordinates. The first step is to obtain starting coordinates. We begin with the bovine pancreatic trypsin inhibitor, and consider the file 6pti.pdb, exactly as distributed by the Protein Data Bank. This file (as with most PDB files) needs some editing before it can be used by Amber. First, alternate conformations are provided for residues 39 and 50, so we need to figure out which one we want. For this example, we choose the "A" conformation, and manually edit the file to remove the alternate conformers. Second, coordinates are provided for a phosphate group and a variety of water molecules. These are not needed for the calculation we are pursuing here, so we also edit the file to remove these. Third, the cysteine residues are involved in disulfide bonds, and need to have their residue names changed in an editor from CYS to CYX to reflect this. Finally, since we removed the phosphate groups, some of the CONECT records now refer to non-existent atoms; if you are not sure that the CONECT records are all correct then it may be safest to remove all of them, as we do for this example. Let’s call this modified file 6pti.mod.pdb. Note: These example files are in the directory $AMBERHOME/examples/bpti. Although Amber tries hard to understand pdb-format files, it is typical to have to do some manual editing before proceeding. A general prescription is: "keep running the loadPdb step in LEaP (see step 2, below), and editing the pdb file, until there are no error messages."

Step 2. Run LEaP to generate the parameter and topology file. This is a fairly straightforward exercise in loading in the pdb file, adding the disulfide cross links, and saving the resulting files. Typing the following commands should work in either tleap or xleap: source leaprc.ff03 bpti = loadPdb 6pti.mod.pdb bond bpti.5.SG bpti.55.SG bond bpti.14.SG bpti.38.SG bond bpti.30.SG bpti.51.SG saveAmberParm bpti prmtop prmcrd quit

Step 3. Perform some minimization. Use this script (I call it "bpti.pbs"), appropriate for the SciNet systems, to run parallel sander (sander.MPI) in the batch queue of the GPC machine:

<source lang="bash">

  1. !/bin/bash
  2. PBS -l nodes=1:ppn=8,walltime=1:30:00
  1. consider changing the name below to something more explanatory
  2. PBS -N sander
  1. the following line should NOT be in the user's .bashrc

module load intel openmpi fftw amber10

  1. change to the submission directory

cd $PBS_O_WORKDIR

  1. Running minimization for BPTI
  1. Create the input control file

cat << eof > min.in

  1. 200 steps of minimization, generalized Born solvent model

&cntrl maxcyc=200, imin=1, cut=12.0, igb=1, ntb=0, ntpr=10, / eof

  1. Run the parallel version of sander, using all 8 cores in the node

mpirun -r ssh -np 8 $AMBERHOME/bin/sander.MPI -i min.in -o 6pti.min1.out -c prmcrd -r 6pti.min1.xyz

  1. This can also be done using pmemd (faster than sander)
  1. first get the number of nodes

setenv NP `wc -l ${PBS_NODEFILE} | cut -d'/' -f1`

  1. now run pmemed

mpirun_rsh -ssh -np ${NP} -hostfile $PBS_NODEFILE \ $AMBERHOME/exe/pmemd -O -i NAME.in \

                    -o NAME.out \
                    -p NAME.prmtop \
                    -c NAME.inpcrd \
                    -r NAME.rst \
                    -x NAME.mdcrd 


</source>


Note: The basic usage for sander is as follows:

   sander [-O] -i mdin -o mdout -p prmtop -c inpcrd -r restrt
   [-ref refc] [-x mdcrd] [-v mdvel] [-e mden] [-inf mdinfo]
   * Arguments in []'s are optional
   * If an argument is not specified, the default name will be used.
   * -O    overwrite all output files (the default behavior is to quit if any output files already exist)
   * -i    the name of the input file (which describes the simulation options), mdin by default.
   * -o    the name of the output file, mdout by default.
   * -p    the parameter/topology file, prmtop by default.
   * -c    the set of initial coordinates for this run, inpcrd by default.
   * -r    the final set of coordinates from this MD or minimization run, restrt by default.
   * -ref  reference coordinates for positional restraints, if this option is specified in the input file, refc by default.
   * -x    the molecular dynamics trajectory file (if running MD), mdcrd by default.
   * -v    the molecular dynamics velocities file (if running MD), mdvel by default.
   * -e    a summary file of the energies (if running MD), mden by default.
   * -inf  a summary file written every time energy information is printed in the output file for the current step of the minimization of MD, useful for checking on the progress of a simulation, mdinfo by default.

For more complicated simulations, it might be easier to have a separate file with simulation details. examples to follow..