私のバイオインフォマティクス ワークフローは、 makeのオプション '-j' を使用してデータを並列処理します。
mutations.tsv : file1.data file2.data file3.data
find-mutations $^ > $@
file1.data: raw1.txt
(....)
(...)
Mutations.tsvはボトルネックですが、
1) file1.data file2.data で異なる染色体の数を見つけることができました
2) 各染色体に対して「find-mutations」を実行します
3) すべての結果を「mutations.tsv」にマージします
何かのようなもの:
mutations.tsv : file1.data file2.data file3.data
for CHROM in `cut -d ' ' -f 1 $< | sort -u` ; do grep $${CHROM} $^| find-mutations - >> $@ ; done
これを変更して並列化されたワークフローを作成するにはどうすればよいですか?
注: この makefile 自体はオンザフライで生成されます。Makefile を作成する前に染色体の数がわからないため、次の解決策を使用できません。
mutations.tsv : chr1.tsv chr2.tsv chr3.tsv chr4.tsv
cat $^ > $@
chr1.tsv: file1.data file2.data file3.data
grep chr1 $^| find-mutations - > $@
chr2.tsv: ....