GROMACS

De MaGridWiki
Aller à : Navigation, rechercher

N.B :

  • Ce tutoriel explique un exemple d’exécution de l'application GROMACS sur la grille de calcul.
  • Ce tutoriel est adapté principalement à la VO nationale : magrid
  • L'utilisateur est supposé connecté à l'interface utilisateur (ex: ui2.cnrst.magrid.ma), authentifié (certificat valide) et autorisé (vo magrid).


Sommaire

Description de GROMACS

GROMACS (GROningen MAchine for Chemical Simulations) est un logiciel de simulation en dynamique moléculaire développé initialement par l'Université de Groningen, et à présent maintenu et étendu par différentes organisations, notamment l'Université d'Uppsala, l'Université de Stockholm et l'Institut Max-Planck de recherche sur les polymères.


Description des inputs/outputs

L'exemple expliqué ici, s'appelle Lysozyme in Water, qui est le premier tutoriel de la page : http://www.bevanlab.biochem.vt.edu/Pages/Personal/justin/gmx-tutorials/

On se propose un job qui a pour fin d’exécuter la phase finale de minimisation d'énergie mdrun sur la grille.


  • Les inputs sont: em.tpr et le script exécutable gromacs.sh.
  • Les outputs sont: em.edr, em.gro, em.log, em.trr.


Récupérer le tag de GROMACS sur le VO magrid

On fait appel au système d'information [1].

[elkharrim@ui2 gromacs]$ lcg-infosites --vo magrid tag --is bdii.magrid.ma


Le fichier du job: gromacs.jdl

Fichier: gromacs.jdl
Executable = "gromacs.sh";
 
StdOutput = "std.out";
StdError = "std.err";
 
InputSandbox = { "gromacs.sh","em.tpr"};
OutputSandbox = {"std.out", "std.err", "em.edr", "em.gro", "em.log", "em.trr"};
 
Requirements = Member("VO-magrid-gromacs_v4.5.4",other.GlueHostApplicationSoftwareRunTimeEnvironment);


Le fichier exécutable: gromacs.sh

Fichier: gromacs.sh
#!/bin/bash
source $VO_MAGRID_SW_DIR/setenv_gromacs_v4.5.4.sh
 
mdrun -v -deffnm em

Soumettre le job

[2]

Récupérer les résultats du job

[3]

Jobs de longue durée

[4]

Job MPI

En mode MPI, le fichier du job GROMACS et le script exécutable, deviennent respectivement :

Fichier: gromacs.jdl
Executable = "gromacs.sh";
CpuNumber = 4;
StdOutput = "std.out";
StdError = "std.err";
InputSandbox = {"gromacs.sh","em.tpr"};
OutputSandbox = {"std.out", "std.err", "em.edr", "em.gro", "em.log", "em.trr"};
Requirements = Member("VO-magrid-gromacs_v4.5.4",other.GlueHostApplicationSoftwareRunTimeEnvironment);
Requirements = Member("MPI-START", other.GlueHostApplicationSoftwareRunTimeEnvironment)
                && Member("MPICH2", other.GlueHostApplicationSoftwareRunTimeEnvironment);
Fichier: gromacs.sh
#!/bin/bash
source $VO_MAGRID_SW_DIR/setenv_gromacs_v4.5.4.sh
export EXE="$GMXSWDIR/bin/mdrun"
export COMMAND_FOR_MPI="${EXE} -v -deffnm em"
 
# Environment variables for MPI
export MPI_FLAVOR=MPICH2
export MPI_FLAVOR_LOWER=`echo $MPI_FLAVOR | tr '[:upper:]' '[:lower:]'`
eval MPI_PATH=`printenv MPI_${MPI_FLAVOR}_PATH`
eval I2G_${MPI_FLAVOR}_PREFIX=$MPI_PATH
export I2G_${MPI_FLAVOR}_PREFIX
export I2G_MPI_APPLICATION=${COMMAND_FOR_MPI}
export I2G_MPI_TYPE=$MPI_FLAVOR_LOWER
export I2G_MPI_START_VERBOSE=1
$I2G_MPI_START

Sur cet exemple, l’exécution se fera sur 4 cœurs de calcul.

Navigation
Administrateur
Utilisateur
Applications
Autorité de Certification