Singularity with grid engine
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;
where to get the images from? search here:
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.
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