Difference between revisions of "Singularity with grid engine"

From wiki
Jump to: navigation, search
 
(7 intermediate revisions by 2 users not shown)
Line 8: Line 8:
 
  https://www.sylabs.io/guides/3.2/user-guide/
 
  https://www.sylabs.io/guides/3.2/user-guide/
  
Example:
+
where to get the images from? search here:
  qsub -l singularity -b y singularity run /full_path_to/ubuntu.sif ./test_script.sh
+
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
 
  replace: ubuntu.sif with whatever image you are trying to run
  
Line 15: Line 39:
 
  qsub -l singularity -b y singularity run
 
  qsub -l singularity -b y singularity run
  
this is a special command so singularity will run on a specific server
+
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  
 
   /full_path_to/ubuntu.sif  
 
this is the image you download for the software you are interested in
 
this is the image you download for the software you are interested in
  
   ./test_script.sh
+
   /full_path_to/test_script.sh
 
  this needs to contain the commands you want to run
 
  this needs to contain the commands you want to run
  
  
example 2:
+
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
 
  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/   
 
The shell must have the current working directory full path in it as cd /ful_path/   
Line 30: Line 54:
 
  -pe multi 8    this asks for 8 cores, just as normal.  
 
  -pe multi 8    this asks for 8 cores, just as normal.  
  
 
+
please note that in the shell script:
where to get the images from?
+
  full paths to everything are required!
  to get an image: (search here: https://hub.docker.com/)
 
if you search funannotate you will see the phrase: nextgenusfs/funannotate
 
this is what you want
 
 
 
to get the image
 
singularity pull docker:nextgenusfs/funannotate
 
 
 
Please, do not run this on the head node, this must be run through the qsub system.
 
 
 
  
  
 +
Notes for Admin:
 
To add another node with singularity on:
 
To add another node with singularity on:
  
 
+
qconf -me <nodename>
qconf -me <nodename>
 
  
 
On the complex_values line remove NONE if present, and add "singularity=TRUE"
 
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/
 
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
 
now a request-able resource with "-l singularity" to make sure you get a node with singularity on

Latest revision as of 09:21, 21 January 2022

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