-2

コマンドラインで問題なく動作するパイプラインがあります

snakemake -l --snakefile snakemake_example/sankefile_test9.txt

クラスターで使用できるようにしたいと思います。パイプラインはサンプル (構成ファイルで指定) を取得し、いくつかの処理ステップを実行します。これが RNA-Seq パイプラインです。これらの2つの異なる方法を使用してクラスターに送信しようとしました

初挑戦

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

2 回目の試行

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 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
ルールcluster_fastq/WT_M_DT_T_393.R2.fastq ワイルドカード: sample=cluster_fastq/WT_M_DT_T_393 メモリ予約は (MB): 2048 メモリ制限は (MB): 2048 不足しているファイルを最大 5 秒間待機しています。 スレッド スレッド 1 の例外: トレースバック (最新の呼び出しが最後): ファイル "/apps/RH6U4/python/3.5.2/lib/python3.5/site-packages/snakemake/dag.py"、257 行目、check_and_touch_output 内 wait_for_files(expanded_output, 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

上記の例外の処理中に、別の例外が発生しました:

トレースバック (最新の呼び出しが最後):
ファイル "/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", line 426, in 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 /WT_M_DT_T_393.R2.fastq

この時点で、プログラムがスタックしているように見えます (「^C^H^C休憩」を参照)。 を使用して (別のセッションで) ジョブをチェックするとbjobs、キューにジョブがありません。

なぜこれが起こっているのか、それをデバッグする方法はありますか?

4

1 に答える 1

1

私たちのクラスターでも同様の問題が発生しました。BitBucket の問題についてはこちらを参照してください。また、Google グループのこのスレッドの情報も参考になりました。

一般に、 --latency-wait パラメーターを 90 または 100 に設定する (Eric C の提案による) ことで、私のワークフローでは十分です。

于 2016-12-30T18:35:52.603 に答える