Connecting Infrastructure, Connecting Research

Gromacs

Description
Gromacs Logo

Gromacs is a versatile package to perform molecular dynamics, i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles.

Site Version (Latest: v4.0.6) Notes
ngs.rl.ac.uk v3.3.1 v4.0 64 bit
ngs.leeds.ac.uk v3.3.1 v4.0 64 bit
ngs.wmin.ac.uk v3.3 v3.3.3 v4.0.5 64 bit

    On this page:

  1. License
  2. Running on the NGS (general)
  3. Compilation Information
  4. Further Information

License

GROMACS is free software, licensed under the GNU General Public License. The authors insist that any published work based on the use of Gromacs should credit the use of Gromacs, using references included in the output files and on the Gromacs web site.

Running Gromacs on the NGS (General)

There a multiple ways in which jobs can be launched on the NGS. The following examples use an example of running grompp_d with the following files:

conf.gro  grompp.mdp  index.ndx  spc216.pdb  topol.top 

which can be copied from :

 gsisftp://ngs.rl.ac.uk:2811/apps/Gromacs/examples/...
  • Submission Using the UI/WMS

    To submit a serial Gromacs job via the WMS, login to the UI and create a JDL file as below (gromacs.jdl), replacing your ngs ID on the UI for "ngsxxxx" and your working directory on ngsui03 for "/home/ngsxxxx/gromacs", then submit using:

    glite-wms-job-submit -o jobIDs -a gromacs.jdl

    Type = "Job";
    JobType = "normal";
    Executable = "/usr/ngs/GROMACS_3_3_1";
    Arguments = "grompp_d -np 8 -shuffle -sort -f grompp.mdp -p topol.top -c conf.gro  -o testgr.tpr";
    StdOutput = "std.out";
    StdError = "std.err";
    Myproxyserver= "myproxy.ngs.ac.uk";
    InputSandbox = { "conf.gro","grompp.mdp","index.ndx","spc216.pdb","topol.top"};
    InputSandboxBaseURI = "gsiftp://ngsui03.ngs.ac.uk:2811/home/ngsxxxx/gromacs";
    OutputSandbox = {"std.err","testgr.tpr","std.out"};
    OutputSandboxBaseDestURI = "gsiftp://ngsui03.ngs.ac.uk:2811/home/ngsxxxx/gromacs";
    Requirements = (
         member("NGS-UEE-GROMACS_3_3_1", other.GlueHostApplicationSoftwareRunTimeEnvironment)
    );
    Rank = other.GlueCEStateFreeCPUs;
    ShallowRetryCount = -1;
    
    • This runs the 3.3.1 version of gromacs. For v4 substitute "GROMACS_4_0" for "GROMACS_3_3_1" in the above in both executable and Requirements lines

    To submit a parallel MPI job, for example the gmxdemo provided by the Gromacs 4 distribution, use a JDL file similar to the below. Note the use of CpuNumber to specify the number of processors rater than the mdrun_mpi -np option.

    Type = "Job";
    JobType = "mpich";
    Executable = "/usr/ngs/GROMACS_4_0";
    CpuNumber = 8;
    Arguments = "mdrun_mpi -nice 4 -s cpeptide_em.tpr -o cpeptide_em.trr -c cpeptide_b4pr.gro -v";
    StdOutput = "std.out";
    StdError = "std.err";
    Myproxyserver= "myproxy.ngs.ac.uk";
    InputSandbox = { "cpeptide_b4em.gro","cpeptide.gro","cpeptide.top","output.genbox","posre.itp","cpeptide_em.tpr","cpeptide.pdb","em.mdp","mdout.mdp","output.pdb2gmx"};
    InputSandboxBaseURI = "gsiftp://ngsui03.ngs.ac.uk:2811/home/ngsxxxx/gromacs/gmxdemo";
    OutputSandbox = {"std.err","md.log","std.out","ener.edr","cpeptide_em.trr","cpeptide_b4pr.gro"};
    OutputSandboxBaseDestURI = "gsiftp://ngsui03.ngs.ac.uk:2811/home/ngsxxxx/gromacs/gmxdemo";
    Requirements = (
         member("NGS-UEE-GROMACS_4_0", other.GlueHostApplicationSoftwareRunTimeEnvironment)
    );
    Rank = other.GlueCEStateFreeCPUs;
    ShallowRetryCount = -1;
        
  • NGS Web Portal Submission
    After logging in to the NGS Portal, select the "Gromacs" template under the " Chemistry" category and make the amendments appropriate for your specific job. Read the description page of the template for further details.
  • Submission Using Globus
    The available Gromacs utility executables (pdb2gmx, editconf etc) can be loaded into your environmental path using the command 'module load Gromacs/3.3.1' or Gromacs/4.0. Double precision binaries are labelled with _d e.g. grompp_d, mdrun_d_mpi. Both single and double precision binaries are available for v4.0. Only double precision are available for v3.3.1.
    • Example-run of 3.3.1 grompp_d on ngs.rl.ac.uk
    • The string 'xxx' in the subsequent commands is to be replaced with your id on NGS.

      You can also create a directory within your home directory (named water in the following examples) which will be the working directory.

      To submit a grompp_d job use the following command (one line excluding the '\' characters):

      globusrun -b -r ngs.rl.ac.uk/jobmanager-lsf \
      '&(jobtype=single)(executable=/usr/ngs/GROMACS_3_3_1) \
      (arguments= grompp_d -np 8 -shuffle -sort -f grompp.mdp -p topol.top -c conf.gro -o testgr.tpr) \
      (directory=/home/xxx/water)(stderr=err.er)'

    • Example-run of 4.0 grompp on ngs.rl.ac.uk
    • V4.0 of grompp takes slightly different arguments and directives than v3.3.1. An example from the Gromacs supplied gmxdemo is provided at /apps/Gromacs/examples/gmxdemo. Copy all the files in that directory except the .trr file then submit using the following globus command

      globusrun -b -r ngs.rl.ac.uk/jobmanager-lsf \
      '&(jobtype=single)(executable=/usr/ngs/GROMACS_4_0) \
      (arguments= grompp -f em.mdp -p cpeptide.top -c cpeptide_b4em.gro -o cpeptide_em.tpr) \
      (directory=/home/xxx/gmxdemo)(stderr=err.er)'

    • Example-run of 3.3.1 mdrun_d_mpi on ngs.rl.ac.uk :
    • Since the aprropriate file tpr file exists the mdrun job can be submitted as follows (in one line excluding the backslashes):

      globusrun -b -r ngs.rl.ac.uk/jobmanager-lsf
      '&(jobtype=mpi)(executable=/usr/ngs/GROMACS_3_3_1)
      (arguments= mdrun_d_mpi -deffnm testgr)(directory=/home/ngsxxx/water)
      (stderr=errmd.er)(count=8)'

      where the output files has been chosen to begin with the basename testgr and the number of processors has to be the same with the argument given when grompp was used i.e., 8 in our example

    • Example-run of 4.0 grompp on ngs.rl.ac.uk
    • V4.0 of mdrun_mpi takes slightly different arguments and directives than v3.3.1. An example from the Gromacs supplied gmxdemo is provided at /apps/Gromacs/examples/gmxdemo. Copy all the files in that directory then submit using the following globus command

      globusrun -b -r ngs.rl.ac.uk/jobmanager-lsf \
      '&(jobType=mpi)(count = 4)(executable=/usr/ngs/GROMACS_4_0) \
      (arguments= mdrun_mpi -nice 4 -s cpeptide_em.tpr -o cpeptide_em.trr -c cpeptide_b4pr.gro -v) \
      (directory=/home/xxx/gmxdemo)(stdout=stdout.out)(stderr=stderr.err)'

Compilation Information

  • ngs.rl.ac.uk:

    Gromacs 4.0 has been compiled with gnu64 compilers and Scali-MPI and fftw 3.1.2 in both single and double precision versions. Double precision versions have binary names with '_d'.

    Gromacs 3.3.1 has been compiled with gnu64 compilers, SCaliMPI and acml 3.6.0 math libraries.

Further Information

 

Applications Support

The NGS cannot offer scientific support for applications. However if you require further information or believe there is something wrong with the installation, please contact the NGS support centre.

Acknowledgements

Please note: When publishing work based on use of the NGS, users should acknowledge both the authors of any programs used (see the individual program web sites, or contact the authors directly) and the NGS directly using the following line:
"The authors would like to acknowledge the use of the UK National Grid Service in carrying out this work"
This line must also accompany any use of the NGS logos.