In the HPC we have
Check if a software is already installed:
module avail samtools
this will print something like:
-----------------------/nbi/software/modulefiles/sci -----------------------
samtools/1.10 samtools/1.12 samtools/1.15.1 samtools/1.18 (D)
Where:
D: Default Module
So we have four versions of samtools available, and 1.18 is the default. To activate the latest (default) version simply:
module load samtools
to load a specific version:
module load ssamtools/1.12
Some modules are not yet available campus wide. For example:
module avail seqfu
will probably return no hits.
Core Bioinformatics can create new images for users, and to enable our catalogue please run (once) this command:
echo -e '\n# Enable Core Bioinformatics modules\nmodule use /qib/research-projects/bioboxes/lua' >> ~/.bashrc
source ~/.bashrc
then you will see that
module avail seqfu
will work.
Load our nbi-slurm package and then just type
# Activate NBI slurm if not done already
source package /nbi/software/testing/bin/nbi-slurm
# Search for a package
shelf samtools
to see the list of available packages and the command to “activate”.
Most package are in fact Singularity containers. For example if you
source package /nbi/software/testing/seqfu__1.20.0
you are in fact adding to your path this directory:
ls -l /nbi/software/testing/seqfu__1.20.0//last/x86_64/bin/
lrwxrwx--- 1 telatina QIB_FR009 68 Jan 21 12:40 fu-cov -> /nbi/software/testing/seqfu__1.20.0/last/x86_64/bin/singularity.exec
lrwxrwx--- 1 telatina QIB_FR009 68 Jan 21 12:40 fu-homocomp -> /nbi/software/testing/seqfu__1.20.0/last/x86_64/bin/singularity.exec
lrwxrwx--- 1 telatina QIB_FR009 68 Jan 21 12:40 fu-index -> /nbi/software/testing/seqfu__1.20.0/last/x86_64/bin/singularity.exec
lrwxrwx--- 1 telatina QIB_FR009 68 Jan 21 12:40 fu-msa -> /nbi/software/testing/seqfu__1.20.0/last/x86_64/bin/singularity.exec
lrwxrwx--- 1 telatina QIB_FR009 68 Jan 21 12:40 fu-multirelabel -> /nbi/software/testing/seqfu__1.20.0/last/x86_64/bin/singularity.exec
lrwxrwx--- 1 telatina QIB_FR009 68 Jan 21 12:40 fu-orf -> /nbi/software/testing/seqfu__1.20.0/last/x86_64/bin/singularity.exec
lrwxrwx--- 1 telatina QIB_FR009 68 Jan 21 12:40 fu-primers -> /nbi/software/testing/seqfu__1.20.0/last/x86_64/bin/singularity.exec
lrwxrwx--- 1 telatina QIB_FR009 68 Jan 21 12:40 fu-rename -> /nbi/software/testing/seqfu__1.20.0/last/x86_64/bin/singularity.exec
lrwxrwx--- 1 telatina QIB_FR009 68 Jan 21 12:40 fu-shred -> /nbi/software/testing/seqfu__1.20.0/last/x86_64/bin/singularity.exec
lrwxrwx--- 1 telatina QIB_FR009 68 Jan 21 12:40 fu-split -> /nbi/software/testing/seqfu__1.20.0/last/x86_64/bin/singularity.exec
lrwxrwx--- 1 telatina QIB_FR009 68 Jan 21 12:40 fu-sw -> /nbi/software/testing/seqfu__1.20.0/last/x86_64/bin/singularity.exec
lrwxrwx--- 1 telatina QIB_FR009 68 Jan 21 12:40 fu-tabcheck -> /nbi/software/testing/seqfu__1.20.0/last/x86_64/bin/singularity.exec
lrwxrwx--- 1 telatina QIB_FR009 68 Jan 21 12:40 fu-virfilter -> /nbi/software/testing/seqfu__1.20.0/last/x86_64/bin/singularity.exec
lrwxrwx--- 1 telatina QIB_FR009 68 Sep 11 2023 seqfu -> /nbi/software/testing/seqfu__1.20.0/last/x86_64/bin/singularity.exec
-rwxrwxr-x 1 telatina QIB_FR009 191 Sep 11 2023 singularity.exec
In practice we have a script called singularity.exec and then a set of links to it with different names.
The script is:
#!/bin/bash
# Launcher for seqfu__1.20.0 made by Core Bioinformatics
singularity exec "/qib/platforms/Informatics/transfer/outgoing/singularity/core/seqfu__1.20.0.simg" $(basename "$0") "$@"
Which means that if I type seqfu I will run the script, that will execute the name of the link (seqfu) from the container with all the parameters the user passes ($@).