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:
...