Slurm ジョブ配列の実行 [閉じる]

Slurm ジョブ配列の実行 [閉じる]

23のジョブを含むjob_array.shがあります。

> angsd -i ./realigned_RSFV1A.bam -anc ./BF_genome.fa -gl 1 -doSaf 1 -doSnpStat 1 -doMajorMinor 1 -doMaf 1 -doGeno 6 -doCounts 1 -doPost 1 -nThreads 24 -out ./RSFV1A -sites ./beng_wbm_par15_varcal.pos
> angsd -i ./realigned_RSFV1B.bam -anc ./BF_genome.fa -gl 1 -doSaf 1 -doSnpStat 1 -doMajorMinor 1 -doMaf 1 -doGeno 6 -doCounts 1 -doPost 1 -nThreads 24 -out ./RSFV1B -sites ./beng_wbm_par15_varcal.pos
> angsd -i ./realigned_RSFV1C.bam -anc ./BF_genome.fa -gl 1 -doSaf 1 -doSnpStat 1 -doMajorMinor 1 -doMaf 1 -doGeno 6 -doCounts 1 -doPost 1 -nThreads 24 -out ./RSFV1C -sites ./beng_wbm_par15_varcal.pos

...

slurmスクリプトを使用して並列に実行します。

努力しています:

#!/bin/bash
#SBATCH --mail-user 
#SBATCH --mail-type=ALL
#SBATCH -p std.q
#SBATCH --exclusive
#SBATCH --oversubscribe
#SBATCH --time=24:00:00     # 24 hours
#SBATCH --output=./HET.stdout
#SBATCH --job-name=HET
#SBATCH --array=1-23
#SBATCH --export=ALL

inds="$(seq -s ' ' 1 23)"
ind=${inds[$SLURM_ARRAY_TASK_ID]}
$ind

しかし、うまくいきません

私も次のことを試しました。

eval $(sed "${SLURM_ARRAY_TASK_ID}q;d" ./job_array.sh)

それはうまくいきますが、タスクを並列ではなく1つずつ呼び出します。だから時間もかかります。

ベストアンサー1

おすすめ記事