运行 集群中的奇点 docker

Run singularity docker in cluster

对于一个科学项目,我需要在这里使用奇点项目: https://github.com/Dfam-consortium/TETools

我设法 运行 它通过 运行 包装脚本:bash dfam-tetools.sh

然后我得到一个新的环境:

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

然后我可以 运行 我需要的所有软件都在 docker.

但这就是问题所在,我如何在集群中以相同的方式运行(例如slurmSGE?)

我试图创建一个 bash 文件,例如:

testrun.sh

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

但我只得到输出:

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

是否有人已经 运行 一个 docker 在集群中?

编辑

由于需要访问不在当前目录中的另一个目录,奇点命令应该是 运行 而不是 dfam-tetools.sh 脚本:

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

原采纳答案:

通过查看文档和脚本 dfam-tetools.sh,你应该写:

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

如果您需要更多命令 运行,我建议将它们写入 bash 文件,然后 运行 此文件为:

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

仔细阅读文档,因为它写得很好。

来自 chippycentra: 编辑:感谢 frodon,以下代码对我有用:

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

其中/beegfs/data/user1/是找到文件的路径