ファイル名とパスを含む2つのリストを取得し、gnu-parallelを使用して両方のリストのファイルを処理します。ただし、出力を確認すると、コマンドは2番目のリストではなく最初のリストのファイルのみを使用できます。私はこれについてさまざまなオプションを試しました。たとえば、ファイル形式が与えられた場合--readFilesIn
(ここでエラーが発生します)
reads_list=/comb_fastq/fq1.list
reads_list2=/comb_fastq/fq2.list
for fastq in `cat $reads_list`;do
rsync -av $fastq $TMPDIR/input/
done
for fastq in `cat $reads_list2`;do
rsync -av $fastq $TMPDIR/input2/
done
parallel -j $NSLOTS --xapply \
"STAR \
--genomeDir $TMPDIR/reference_genome \
--genomeLoad LoadAndKeep \
--runThreadN 4 \
--readFilesIn ../input/{1} ../input2/{1}
ベストアンサー1
GNU Parallelは$reads_listと$reads_list2を教えてくれませんでした。それで、私はGNU Parallelがこれらのものを使用する必要があるとどう推測するのかを期待しているのが混乱しています。
(最初のタスクの前にすべてを実行する代わりに)並列に同期すると、速度が速くなる可能性があります。私の考えにはこの程度で十分だろう。
parallel -j $NSLOTS --xapply \
"rsync {1} $TMPDIR/input/{1};\
rsync {2} $TMPDIR/input2/{2};\
STAR \
--genomeDir $TMPDIR/reference_genome \
--genomeLoad LoadAndKeep \
--runThreadN 4 \
--readFilesIn ../input/{1} ../input2/{2}" :::: $reads_list $reads_list2
このチュートリアルを完了してくださいhttp://www.gnu.org/software/parallel/parallel_tutorial.htmlこれにはより多くの内容が含まれています。あなたのコマンドラインはあなたを愛するでしょう。