-2

我有一个在命令行中运行良好的管道

snakemake -l --snakefile snakemake_example/sankefile_test9.txt

我希望能够在集群上使用它。该管道采集样本(在配置文件中指定),并运行几个处理步骤 - 这是一个 RNA-Seq 管道。我尝试使用这两种不同的方式提交到集群

第一次尝试

snakemake --snakefile sankefile_test9_config.txt --jobs 999 --cluster 'bsub -q bio -R "rusage[mem=4000]"'

第二次尝试

snakemake --snakefile sankefile_test9_config.txt --cluster 'bsub -q bio' -j

产生以下输出

提供的集群节点:48
作业计数:
count jobs
1 all
2 collat​​e_barcodes 2
correct_counts
2 count_reads
2 dedup_counts
2 extract_gz_samples
2 mark_duplicaticates
2 move_bc
2 run_cutadapt
2 star_mapping
19
rule extract_gz_samples:
输入:cluster_fastq/Zelzer_M_Spindle_M_1.R1.fastq.gz/Spindle_Mq_M R2.fastq.gz
输出:cluster_fastq/Zelzer_M_Spindle_M_1.R1.fastq、cluster_fastq/Zelzer_M_Spindle_M_1.R2.fastq
通配符:sample=cluster_fastq/Zelzer_M_Spindle_M_1
内存预留为(MB):2048
内存限制为(MB):2048
规则extract_gz_samples:
输入:cluster_fastq/WT_M_DT_T_393.R1.fastq.gz,cluster_fastq/WT_M_DT_T_393.R2.fastq.gz
输出:cluster_fastq/WT_M_DT_T_393.R1.fastq, cluster_fastq/WT_M_DT_T_393.R2.fastq
通配符:sample=cluster_fastq/WT_M_DT_T_393
内存预留为 (MB):2048
内存限制为 (MB):2048
最多等待 5 秒丢失文件。
线程 Thread-1 中的异常:
回溯(最后一次调用):
文件“/apps/RH6U4/python/3.5.2/lib/python3.5/site-packages/snakemake/dag.py”,第 257 行,在 check_and_touch_output
wait_for_files(扩展输出,latency_wait=wait)
文件“/apps/RH6U4/python/3.5.2/lib/python3.5/site-packages/snakemake/io.py”,第 341 行,在 wait_for_files
latency_wait,“\n”.join(get_missing())))
OSError:5 秒后丢失文件:
cluster_fastq/Zelzer_M_Spindle_M_1.R1.fastq
cluster_fastq/Zelzer_M_Spindle_M_1.R2.fastq

在处理上述异常的过程中,又出现了一个异常:

Traceback(最近一次调用最后):
文件“/apps/RH6U4/python/3.5.2/lib/python3.5/threading.py”,第 914 行,在 _bootstrap_inner
self.run()
文件“/apps/RH6U4/python /3.5.2/lib/python3.5/threading.py”,第 862 行,在运行 self._target(*self._args, **self._kwargs)
文件“/apps/RH6U4/python/3.5.2/lib /python3.5/site-packages/snakemake/executors.py”,第 517 行,在 _wait_for_jobs self.finish_job(active_job.job)
文件“/apps/RH6U4/python/3.5.2/lib/python3.5/site- packages/snakemake/executors.py”,第 426 行,finish_job
super().finish_job(job, upload_remote=False) 文件“/apps/RH6U4/python/3.5.2/lib/python3.5/site-packages/snakemake /executors.py”,第 153 行,在 finish_job 中
super().finish_job(job, upload_remote=upload_remote) 文件“/apps/RH6U4/python/3.5.2/lib/python3.5/site-packages/snakemake/executors.py”,第 111 行,在 finish_job
self.dag .check_and_touch_output(job, wait=self.latency_wait)
文件“/apps/RH6U4/python/3.5.2/lib/python3.5/site-packages/snakemake/dag.py”,第 259 行,在 check_and_touch_output 中
引发 MissingOutputException(str (e), rule=job.rule)
snakemake.exceptions.MissingOutputException:5秒后丢失文件:
cluster_fastq/Zelzer_M_Spindle_M_1.R1.fastq
cluster_fastq/Zelzer_M_Spindle_M_1.R2.fastq

^C^H^C根据用户请求终止进程。
完成当前正在运行的作业后将退出。
删除失败作业 extract_gz_samples 的输出文件,因为它们可能已损坏:
cluster_fastq/Zelzer_M_Spindle_M_1.R1.fastq、cluster_fastq/Zelzer_M_Spindle_M_1.R2.fastq
删除失败作业 extract_gz_samples 的输出文件,因为它们可能已损坏:
cluster_fastq/WT_M_DT_T_393.R1.fastq、cluster_fastq /WT_M_DT_T_393.R2.fastq

此时,程序似乎卡住了(请参阅^C^H^C,我的休息) - 如果我使用 (在另一个会话中)检查作业bjobs,队列中没有作业。

知道为什么会发生这种情况以及如何调试它吗?

4

1 回答 1

1

我们在集群上也遇到过类似的问题——请在此处查看有关 BitBucket 的问题。我还在Google Group 上的这个帖子中找到了有用的信息。

一般来说,将 --latency-wait 参数设置为 90 或 100(根据 Eric C 的建议)对于我的工作流程来说已经足够了。

于 2016-12-30T18:35:52.603 回答