Utiliser module

Environment modules et lmod sont des systèmes qui permettent de changer rapidement d'un environnement à un autre pour des programmes ou des librairies. Pour celà, on utilise des "modulefiles". Pour l'instant, les modulefiles disponibles sont accessibles par la commande :

module avail

Warning Les modules dans deprecated/ correspondent aux modulefiles des anciens clusters et n'ont pas été testé...

Comment l'utiliser ?

$ module add R/3.5.3
$ R --version
R version 3.5.3 (2019-03-11) -- "Great Truth"
Copyright (C) 2019 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
...
$ which R
/share/apps/sing-images/3.1/R
$ module list
Currently Loaded Modules:
  1) R/3.5.3
$ module rm R/3.5.3
$ module list
No modules loaded

A noter qu'un module peut charger et décharger plusieurs autres modules. Pensez à utiliser régulièrement module list et consulter votre variable $PATH pour voir l'état de votre environnement actuel.

echo $PATH
# ou, pour afficher toutes les variables d'environnement :
env

Dans le cadre de librairies, la variable d'environnement modifiée, est, le plus souvent $LD_LIBRARY_PATH.

Caution Dans vos scripts de soumission sbatch, pensez à précéder la ligne d'exécution de votre script par le chargement de la version que vous souhaitez utiliser avec module.

Exemple :

sbatch mon_script.sbatch

# avec mon_script.sbastch qui contient, par ex. :
#!/bin/bash
#SBATCH --job-name=myRscript
#SBATCH --output=myRscript.o
module load R/3.5.3
R CMD BATCH my_script.R

Rafraichir la liste des modules

Régulièrement, des nouveaux modules sont installés ou supprimés; pensez donc à rafraichir la liste des modules avec module spider.

Vous pourrez ensuite de nouveau lister les modules disponibles avec module avail. N'hésitez pas à filtrer la sortie de cette commande avec | grep <pattern> ou directement avec module keyword <pattern>; par exemple :

module keyword bed

Sortie :

----------------------------------------------------------------------------

The following modules match your search criteria: "bed"
----------------------------------------------------------------------------

  quay.io/biocontainers/bedtools: ...

----------------------------------------------------------------------------

Pour en savoir davantage sur un module exécutez :

   $ module spider Foo

où "Foo" est le nom d'un module.

S'il existe plusieurs version d'un module, vous devez spécifier la version
afin d'avoir l'information détaillée :

   $ module spider Foo/11.1

----------------------------------------------------------------------------

Afficher le contenu d'un modulefile

module show quay.io/biocontainers/bedtools