我有一个随机出现的奇怪问题,我真的不知道何时何地。我正在像这样运行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。就像我说的那样,这个问题不断出现。它会待几个小时,然后由于某种原因现在就消失了。我想这表明环境问题,但是我真的不知道该怎么办,并且用尽了所有想法。我已经尝试过:
但没有。有什么想法在哪里看?谢谢!
[可能是某些群集节点未找到snakemake软件包的路径,因此当作业提交到那些节点时,您会得到错误。
我不知道是否/如何发生,但是如果是这种情况,您可以找到类似以下内容的隐含节点:
for node in pbsnodes
do
echo $node
ssh $node 'python -c "from snakemake.utils import read_job_properties"'
done
([for nodes in pbsnodes
遍历可用的节点-我现在没有确切的语法,但希望您能理解)。至少这将使问题缩小一点...