Singularity with grid engine

From wiki
Jump to: navigation, search

We have been working hard in the background to allow users to be able to run Docker images. Good news you can now do this via Singularity (Don’t worry this is all installed and should just work). Try Conda to install your package of interest first. If it is not on Conda, you can try the following:

Please remember, you must run this through qsub and not directly on the head node.

Full singularity documentation is here;

https://www.sylabs.io/guides/3.2/user-guide/

where to get the images from? search here:

https://hub.docker.com/

if you search funannotate you will see the phrase: nextgenusfs/funannotate this is what you want

to download the image, simply type:

singularity pull docker:name_of_image
e.g.  singularity pull docker:nextgenusfs/funannotate

Be slightly careful about versions. Teh command may not actually pull down the laters see this below, also how to do this on Rocky Linux 8: My download command (which pulled down an old version):

singularity pull docker:docker broadinstitute/gatk  (did not pull the latest - check versions)

what did pull down the correct version (Redhat 6.9, running on centos 7):

singularity pull docker:broadinstitute/gatk:latest

Now trying on Rocky Linux 8. This worked:

singularity pull docker://broadinstitute/gatk


Please, do not run this on the head node, this must be run through the qsub system.

Example of how to run via qsub:

qsub -l singularity -b y singularity run /full_path_to/ubuntu.sif /full_path_to/test_script.sh
replace: ubuntu.sif with whatever image you are trying to run

Lets go through that command in more depth:

qsub -l singularity -b y singularity run

this is a special command so singularity will run on a specific server, you don't need to alter this, just copy it.

 /full_path_to/ubuntu.sif 

this is the image you download for the software you are interested in

 /full_path_to/test_script.sh
this needs to contain the commands you want to run


example 2, running the image with qsub:

qsub -pe multi 8 -l singularity -b y singularity run /full_path/funannotate_latest.sif /full_path/fun_singularity.sh

The shell must have the current working directory full path in it as cd /ful_path/

putting #!cwd command in your shell scripts will not work!
cd /ful_path/
-pe multi 8     this asks for 8 cores, just as normal. 

please note that in the shell script:

full paths to everything are required!


Notes for Admin: To add another node with singularity on:

qconf -me <nodename>

On the complex_values line remove NONE if present, and add "singularity=TRUE" Followed guide here: https://blogs.univa.com/2019/01/using-univa-grid-engine-with-singularity/ now a request-able resource with "-l singularity" to make sure you get a node with singularity on