We recommend using either module or conda environnement to manage your softwares.
Module Environment
Usage
Module environment is useful to load specific software environment.
module --help
module list #list loaded tools
module avail #list available tools
module load modulename #to load a tool
module load modulename/version #to load a specific version of a tool
module remove modulename #to remove a tool from your environment
module whatis modulename #show description of a tool
Each user can load automatically a module at login :
module initadd modulename
Create a module
Users can create their own modules.
Ex for samtools :
cd /SCRATCH-BIRD/users/mylogin
mkdir -p modules/samtools
nano samtools/1.4.lua
1.4.lua file content (add samtools paths) :
whatis("Name: samtools")
whatis("Version: 1.4")
local pkgName = myModuleName()
local pkgVersion = myModuleVersion()
local pkgNameVer = myModuleFullName()
local base = pathJoin("/SCRATCH-BIRD/users/mylogin/mypath/binaries",pkgName,pkgVersion)
prepend_path("PATH", pathJoin(base,"bin"))
Use aliases with module
Users can define alias with module, for example to launch a Java command :
Il est possible de définir des alias dans l'environement module.
Exemple de l'utilisation de GATK (programme java sous forme de jar):
whatis("Name: gatk")
whatis("Version: 3.8")
always_load(atleast("java","1.8.0_131"))
local pkgName = myModuleName()
local pkgVersion = myModuleVersion()
local pkgNameVer = myModuleFullName()
local base = pathJoin("/sandbox/apps/bioinfo/binaries",pkgName,pkgVersion)
prepend_path("PATH", pathJoin(base,"bin"))
set_alias("gatk", "java -Xmx2g -jar /sandbox/apps/bioinfo/binaries/gatk/3.8/GenomeAnalysisTK.jar")
Then, you can simply use
gatk [-T DepthOfCoverage]
instead of
java -Xmx2g -jar /sandbox/apps/bioinfo/binaries/gatk/GenomeAnalysisTK-3.3.0/GenomeAnalysisTK.jar [-T DepthOfCoverage]
Add a local directory in module PATH
module use -a /home/monlogin/modules
echo $MODULEPATH
module load samtools
module list
This command add the new directory in MODULEPATH environment variable. Then, module
command will search for modules in this local directory, additionally to the system directory.
Installed modules
Three main paths for module locations are set on the BiRD Cluster:
- "/sandbox/apps/systeme/modulefiles" # modules of programming langages and other tools which are not specific to bioinformatics
- "/sandbox/apps/bioinfo/modulefiles" # modules of bioinformatics tools
- "/LAB-DATA/BiRD/apps/ifb-nncr/modulesfiles" # modules of tools installed on the IFB core cluster
IFB modules note
Loading a tool from the a IFB module implies adding a conda environment installation path into your environment. Since most tools on the IFB core cluster are installed with conda, this behavior is mandatory. Please note that if you are using your own conda installation (installed in /LAB-DATA or /SCRATCH-BIRD), the IFB conda installation path will be prepended into your PATH environment variable when loading a module. Thus, it is not advised to use at the same time modules and conda environment installed in your personal space.
Conda Environment
Conda environments allow to easly create, use and share software environments.
Use conda environments
We recommend using your own installation of conda.The fastest way to obtain conda is to install Miniconda, a mini version of Anaconda that includes only conda and its dependencies. If you prefer to have conda plus over 720 open source packages, install Anaconda. Conda must not be installed in your /home folder since there is only little space. Specify a folder in your /CONDAS/users/<login> where to install conda.
The installers for miniconda and anaconda can be found here:
List the available environments
conda env list
Load an environment
source activate rnaseq
List binaries in an environment
conda list
Leave an environment
source deactivate
Create an environment
From a file
conda env create -f environment.yml
From scratch
conda create --name rnaseq python
Install a new tool
conda install multiqc
Search for a tool
conda search bwa -c bioconda
Export an environment
conda env export > environnement.yml
Remove a tool
conda remove multiqc
Add a Channel (package repository)
conda config --add channels r
Remove an environment
conda-env remove -n rnaseq