snakemake群集脚本ImportError snakemake.utils

问题描述 投票:2回答:1

我有一个随机出现的奇怪问题,我真的不知道何时何地。我正在像这样运行snakemake管道:

conda activate $myEnv    
snakemake -s $snakefile --configfile test.conf.yml --cluster "python $qsub_script" --latency-wait 60 --use-conda -p -j 10 --jobscript "$job_script"

我在conda环境中安装了snakemake 5.9.1(也尝试降级到5.5.4)。如果我只运行此命令,此方法就很好,但是当我将此命令qsub到我正在使用的PBS群集时,会出现错误。我的qsub脚本如下所示:

#PBS stuff...

source ~/.bashrc
hostname
conda activate PGC_de_novo

cd $workDir
snakefile="..."
qsub_script="pbs_qsub_snakemake_wrapper.py"
job_script="..."
snakemake -s $snakefile --configfile test.conf.yml --cluster "python $qsub_script" --latency-wait 60 --use-conda -p -j 10 --jobscript "$job_script" >out 2>err

我收到的错误消息是:

...
Traceback (most recent call last):
  File "/path/to/pbs_qsub_snakemake_wrapper.py", line 6, in <module>
    from snakemake.utils import read_job_properties
ImportError: No module named snakemake.utils
Error submitting jobscript (exit code 1):
...

因此,尽管已明确安装了蛇make,但由于某种原因,我的集群脚本似乎找不到snakemake。就像我说的那样,这个问题不断出现。它会待几个小时,然后由于某种原因现在就消失了。我想这表明环境问题,但是我真的不知道该怎么办,并且用尽了所有想法。我已经尝试过:

  • 不同的conda版本
  • 不同的snakemake版本
  • 集群上的不同节点
  • ssh到它刚刚失败的节点并尝试重现该错误

但没有。有什么想法在哪里看?谢谢!

python hpc snakemake pbs
1个回答
0
投票

[可能是某些群集节点未找到snakemake软件包的路径,因此当作业提交到那些节点时,您会得到错误。

我不知道是否/如何发生,但是如果是这种情况,您可以找到类似以下内容的隐含节点:

for node in pbsnodes
do
    echo $node
    ssh $node 'python -c "from snakemake.utils import read_job_properties"'
done

([for nodes in pbsnodes遍历可用的节点-我现在没有确切的语法,但希望您能理解)。至少这将使问题缩小一点...

© www.soinside.com 2019 - 2024. All rights reserved.