South Green Logo

South Green Trainings pages

Description Utiliser des modules Environnement avec des conteneurs Singularity
Cours lié HPC Administration Module2
Auteur Ndomassi TANDO (ndomassi.tando@ird.fr)
Date de création 27/09/2019
Date de modification 27/09/2019

Summary


Objectifs

La création d’un modulefile va nous permettre de créer des alias de commandes pour lancer des singularity run ou des singularity exec.

Ainsi, les utilisateurs ne se rendront pas compte qu’ils utilisent un conteneur Singularity et cela facilitera l’installation des logiciels pour les administrateurs systèmes.


Créer son modulefile:

Comme vu au Module1: https://southgreenplatform.github.io/trainings/hpc/installationmodule/#part-5

Nous pouvons créer nos propres environnements logiciels en créant des modulefiles.

Pour utiliser les conteneurs singularity dans ces modulefiles, nous allons créer un modulefile classique et cére des alias de commandes singularity avec le mot clé set-alias

Par exemple si l’on veut utiliser le conteneur singularity bwa-0.7.17.simg créé précédemment, on va créer un modulefile de ce type:

#%Module1.0#####################################################################
##
## modules modulefile
##
## modulefiles/modules.  Generated from modules.in by configure.
##
proc ModulesHelp { } {
        global version modroot
        puts stderr "module [module-info name]"
}
module-whatis   "load the module [module-info name]
BWA is a program for aligning sequencing reads against a large reference genome (e.g. human genome)
Use the bwa-0.7.17.simg singularity container"
conflict bwa
# On charge le module singularity    
module load system/singularity/2.4
# for Tcl script use only
set     version         0.7.17
# on préciser comme répertoire de travail l'endroit où sont stockés les conteneurs
set     topdir          /usr/local/singularity/conteneurs/
set-alias bwa "singularity run $topdir/bwa-0.7.17.simg "

Charger le module environment pour lancer des commandes depuis un Conteneur Singularity :

Une fois le modulefile créer avec l’alias de commande, il suffit de le charger avec la commande

$ module load logiciel/version

Puis de lancer l’alias de la commande.

Par exemple pour lancer un bwa, on charge l’envrionnement

$ module load bwa/0.7.17

Puis on lance le bwa:

$ bwa + argument

La commande lancée est en fait:

$ singularity run /usr/local/singularity/conteneurs/bwa-0.7.17.simg + argument


License

The resource material is licensed under the Creative Commons Attribution 4.0 International License (here).