简体   繁体   中英

Run singularity docker in cluster

for a sientific projet I need to use the singularity project here: https://github.com/Dfam-consortium/TETools

I manage to run it by running the Wrapper script: bash dfam-tetools.sh

then I get a new environment:

(dfam-tetools /beegfs/data/TOOLS/TETools)$ 

and then I can run all the software I need inside the docker.

But here is the problem, how can I run the same way in a cluster (exemple with slurm or SGE ? )

I tried to create a bash file such as:

testrun.sh

#!/bin/bash
bash /beegfs/data/TOOLS/TETools/dfam-tetools.sh
RepeatModeler -h
echo "test"

But I only get as output:

/var/spool/slurmd/job2055108/slurm_script: line 3: RepeatModeler: command not found
test

Does someone have already ran a docker in a cluster?

Edit

Since it is necessary to have access to another directory not in the current one, the singularity command should be run instead of the dfam-tetools.sh script:

singularity run -B /data:/data docker://dfam/tetools:latest RepeatModeler -h

Original accepted answer:

By looking at the documentation and the script dfam-tetools.sh , you should write:

#!/bin/bash
bash /beegfs/data/TOOLS/TETools/dfam-tetools.sh -- RepeatModeler -h

If you need more commands to be run, I suggest to write them into a bash file and to run this file as:

#!/bin/bash
bash /beegfs/data/TOOLS/TETools/dfam-tetools.sh -- bash myscript.sh

Read carefully the documentation as it is well written.

from chippycentra: Edit: Thanks to frodon the following code worked for me:

singularit y run -B //beegfs/data/user1/://beegfs/data/user1/ docker://dfam/tetools:latest BuildDatabase -name $Sp_name.DB -engine rmblast $ASSEMBLY

where /beegfs/data/user1/ is the path where are found the files

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM