Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

...

  • Docker or singularity image file (.img, .sif, etc)

  • Definition file(s) for installing containers (<spec>), or a link to container repository. These can be built using the commands:

    Code Block
    singularity build <container-name>.sif docker://path/to/containername
    #or
    singularity build <container-name>.sif <spec>
  • nf-core modules: a path to the directory containing nf-core images created from a command like:

    Code Block
    nf-core download -x none --container-system singularity --parallel-downloads 8 nf-core/<package-name>

How to run Singularity containers in O2

...

Code Block
#!/bin/bash
#SBATCH -p short 
#SBATCH -t 2:00:00
#SBATCH -c 1 
#SBATCH --mem=4G


singularity exec /n/app/singularity/containers/$USER/your_container.sif tool_to_run



Note 1:

By default only /tmp and /home/$USER are available inside the singularity container. 

...

Access permissions for those filesystem is preserved inside the container.

Note 2:

By default not all env variables might be ported inside the singularity container. If a variable defined outside Singularity needs to be ported inside the container and it is not available by default, it can be pre-set  outside the container with the prefix SINGULARITYENV_.  For example the variable FOO can be ported inside the singularity container by presetting it as SINGULARITYENV_FOO

Code Block
compute-a-16-21:~ FOO="something"
compute-a-16-21:~ export SINGULARITYENV_FOO=$FOO 


Note 3:

If you plan to use one or more GPU cards inside the container you need to submit the O2 job to a partition that supports GPU computing and add the flag --nv to your singularity command, for example:

...