GROMACS
De e-Ciencia
GROMACS is a molecular dynamics simulation package originally developed in the University of Groningen.
[editar]
How to use GROMACS on int.eu.grid
Create a JDL file for your job, e.g. gromacs.jdl. If you are not familiar with JDL see first our page about submitting jobs to the Grid. In this example we are submitting a MPI job requesting 4 processors:
JobType = "Parallel";
SubJobType = "OpenMPI";
NodeNumber = 4;
VirtualOrganisation = "icompchem";
Executable = "mdrun";
Arguments ="-v -s full -e full-o full -c after_full -g flog -N 4";
StdOutput = "std.out";
StdError = "std.err";
InputSandbox = {"speptide.top","after_pr.gro","full.mdp","gromacs_hooks.sh"};
OutputSandbox = {"std.out","std.err"};
Environment = {"I2G_MPI_PRE_RUN_HOOK=./gromacs_hooks.sh","I2G_MPI_POST_RUN_HOOK=./gromacs_hooks.sh"};
Now we create the shell script, gromacs_hooks.sh, containing the pre- and post- run actions of the simulation with GROMACS.
#!/bin/sh
export OUTPUT_ARCHIVE=output.tar.gz
export OUTPUT_HOST=se.i2g.cesga.es
export OUTPUT_SE=lfn:/grid/icompchem/test
export OUTPUT_VO=icompchem
pre_run_hook()
{
echo "pre_run_hook called"
# Here comes the pre-mpirun actions of gromacs
export PATH=$PATH:/$VO_ICOMPCHEM_SW_DIR/gromacs-3.3/bin
grompp -v -f full -o full -c after_pr -p speptide -np 4
return 0
}
post_run_hook()
{
echo "post_run_hook called"
if [ "x$MPI_START_SHARED_FS" == "x0" ] ; then
echo "Gather output from remote hosts"
mpi_start_foreach_host copy_from_remote_node
fi
echo "Pack the data and bring it to an Storage Element"
tar -cvzf $OUTPUT_ARCHIVE *
echo "Upload the data"
lcg-cr --vo $OUTPUT_VO -d $OUTPUT_HOST -l $OUTPUT_SE/$OUTPUT_ARCHIVE file://$PWD/$OUTPUT_ARCHIVE
return 0
}
Finally submit it to our testbed by typing:
i2g-job-submit gromacs.jdl
If you are interested in using GROMACS or similar Computational Chemistry software on the Grid contact the support to applications team.
[editar]
