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)
작동하지만 작업을 병렬이 아닌 하나씩 호출합니다. 그래서 시간도 많이 걸립니다.