Beagle
を使用して LSF に送信するために、約 3,500 のジョブを実行していbsub
ます。私が使用しているサーバーはフェア シェア キューイング システムで動作しているため、各ジョブを個別に実行することによってキューイングの優先度が低下するのは気が進まない。
そのため、単一のbsub
コマンド内で for ループを使用してコマンドを実行しようとしました...
cbsub -G cichlid -e beagle_e_%J -o beagle_o_%J
-R'select[mem>10000] rusage[mem=10000]' -M10000 -n 8 -q long sh -c
'for sc in {014444451..014448004}; do
/nfs/users/nfs_m/mm21/programs/jre1.7.0_71/bin/java -Xmx10000m -jar
/nfs/users/nfs_m/mm21/programs/beagle4.0/beagle.r1398.jar
gl=Passed_filtered_snps_round2_per_scaff/NW_${sc}_2.vcf nthreads=8
ibd=true ibdtrim=200 phase-its=8 impute-its=8
out=Passed_filtered_snps_round2_per_scaff/beagle_output_NW_${sc};done'
...しかし、エラーメッセージが表示されます:
予期しないトークン「do」付近の構文エラー
私が理解しているように、すべてのジョブを取得し、1 つのジョブ ID で送信する blaunch コマンドについて聞いたことがありますが、同じエラー メッセージを受信せずにそれをコマンドに統合する方法がわかりません。私が知る限り、for ループの直前に挿入する必要があります。
構文のどこが間違っているのか、または1つのジョブIDでバッチタスクを送信する別の方法を提案できる人はいますか?
どうもありがとう、
イアン