2017-06-29 3 views
2

私は、多数のサンプルに以下のコマンドの実行をしようとしています。Linuxに並行して多数のサンプルを供給するには?

java -jar GenomeAnalysisTK.jar     \ 
    -R scaffs_HAPSgracilaria92_50REF.fasta \ 
    -T HaplotypeCaller       \ 
    -I assembled_reads/{sample_name}.sorted.bam \ 
    --emitRefConfidence GVCF      \ 
    -ploidy 1          \ 
    -nt {number of cores}       \ 
    -nct {number of threds}       \ 
    -o {sample_name}.raw.snps.indels.g.vcf 

私が持っている:

3312 cores, 
    20 PB RAM of memory, 
110 TFLOPS of compute power 

を私はこれらのサンプルの数千人が処理しなければなりません。

各サンプルは、自分のローカルコンピュータ上で完了するために一日か二日ほどかかります。

共有LinuxクラスタとSlurmというジョブスケジューリングシステムを使用しています。

答えて

0

は、次のような提出のスクリプトを作成し、sbatchコマンドでそれを提出します。

#!/bin/bash 
#SBATCH --ntasks=1 
#SBATCH --cpus-per-task=<nb of threads your Java application is able to use> 
#SBATCH --mem=<number of MB of RAM your job needs> 
#SBATCH --time=<duration of your job> 
#SBATCH --array=1-<number of samples> 

FILES=(assembled_reads/*.sorted.bam) 

INFILE=${FILES[$SLURM_TASK_ARRAY_ID]} 
OUTFILE=$(basename $INFILE .sorted.bam).raw.snps.indels.g.vcf 

srun java -jar GenomeAnalysisTK.jar -R scaffs_HAPSgracilaria92_50REF.fasta -T HaplotypeCaller -I $INFILE --emitRefConfidence GVCF -ploidy 1 -nt 1-nct $SLURM_CPUS_PER_TASK -o $OUTFILE 

これは完全にテストされておらず、最初の方向を示すことのみを目的としています。

私はあなたが使用したクラスタの管理者は、いくつかのドキュメントを書かれていると確信して、最初のステップは、それがカバーするためにカバー読むことであろう。

+0

返信用のおかげで、あなたが始めるために多くのドキュメントがありません。 – user1952312

関連する問題