私はSLURMを使用するように切り替えましたsbatch
。転送変数をsbatch
使用してこれを実行しようとしましたが、--export
標準エラー/出力ファイル名の変数を挿入できませんでした。職業名(-J
)や部品に効果があるようです--wrap
。
for i in *fastq.gz; do sbatch \
--export=i=$i --error='$i.eo%j' --output='$i.eo%j' \
-J trim_`basename ${i}` \
--wrap="fastq_trim_single.sh ${i}" \
; done
名前に$ iを含む出力ファイル($ i.eo68065)を生成します。私が望むようにすることができますか?
注:理想的には、出力ファイル名のbasename $i
代わりに使用したいと思います。$i
答え1
これがあなたのユースケースに適しているかどうかはわかりませんが、さまざまなタスクの使用を検討しましたか?作業配列を使用すると、変数はコマンドSLURM_ARRAY_TASK_ID
で使用できる作業配列の現在のインデックスに割り当てられます。--error
--output
以下はいくつかの便利な例です。https://slurm.schedmd.com/job_array.html