2016-07-29 7 views
0

パート1を終了した後にパート2を実行したいところで、このビットのPBSコードを実行しようとしていますが、何らかの理由でパート1を終了してもパート2が実行されません。どのようにしてこれをパート2を一度に実行させることができますか?任意のプログラムと同様にPBSスクリプトの連鎖方法は?

#!/bin/bash -l 
#PBS -N AOGC_Contest 
#PBS -l walltime=10:00:00 
#PBS -l mem=10gb 
#PBS -J 0-2 

cd /mypath 

##module load java ##AN commented out 
##module load gatk ##AN commented out 


SNP=/mypath/file.vcf 
TMPDIR=/mypath/Contest/data/test_tmpdir/ 
FASTA=/mypath/Contest/data/hg19.fasta 
CONTAMINATION=/mypath/Contest/data/test_contamination/ 
POPFILE=/mypath/Contest/data/hg19_CHR_FIXED.vcf 

BAMS=(/mypath//S05-F13-P01_C06A1ACXX-1-13.ReCal.sort.bam /mypath//S08-F10-P01_C06A1ACXX-2-13.ReCal.sort.bam /mypath//AOGC-02-0010_C0J43ACXX-4-13.ReCal.sort.bam) 

SAMPS=(S05-F13-P01 S08-F10-P01 AOGC-02-0010) 

BAM=${BAMS[$PBS_ARRAY_INDEX]} 
SAM=${SAMPS[$PBS_ARRAY_INDEX]} 

#BAM=${BAMS[1]} 
#SAM=${SAMPS[1]} 

echo "$SAM" 

part1を

java -jar GenomeAnalysisTK.jar \ 
-T SelectVariants \ 
-U ALLOW_SEQ_DICT_INCOMPATIBILITY \ 
-R ${FASTA} \ 
-V $SNP \ 
-o ${TMPDIR}/${SAM}_${PBS_ARRAY_INDEX}.vcf \ 
-nt 4 \ 
--excludeNonVariants \ 
--removeUnusedAlternates \ 
--keepOriginalAC \ 
--keepOriginalDP \ 
-sn ${SAM} 

その2

java -jar GenomeAnalysisTK.jar \ 
-T ContEst \ 
-U ALLOW_SEQ_DICT_INCOMPATIBILITY \ 
-I ${BAM} \ 
-R ${FASTA} \ 
--popfile ${POPFILE} \ 
--genotypes:VCF4 ${TMPDIR}/${SAM}_$PBS_ARRAY_INDEX.vcf \ 
-o ${CONTAMINATION}/contamination_${SAM}_${PBS_ARRAY_INDEX}.txt 
+2

2番目のコマンドが開始しなかった理由(完了に失敗しました)を調査しようとしましたか?あなたがした場合は、結果を共有してください。それが立っているので、不必要な詳細がたくさんあり、この記事では多くの重要な情報が欠落しています。 –

+0

いいえ、私はまだそれを理解することができませんでした。 – MAPK

答えて

0

意思と実際の間にいくつかの違いがあるとき、シェルスクリプトは、 "動作しません"。あなたの場合、変数が意図したとおりに設定されていないように見えます。

$ SAMPS=(S05-F13-P01 S08-F10-P01 AOGC-02-0010) 
$ echo $SAMPS 
S05-F13-P01 

あなたはSAMPSは空白を含む文字列全体を、持っているしたい場合は

、引用それ:

$ SAMPS='S05-F13-P01 S08-F10-P01 AOGC-02-0010' 
$ echo $SAMPS 
S05-F13-P01 S08-F10-P01 AOGC-02-0010 

(私は先頭と末尾の空白を含めてお勧めしませんそれはあなたが使用するときに追加することは簡単です。変数)。

一般的なデバッグ手法として、$ bash -x scriptnameは変数の展開方法を示します。また、スクリプトにset -xset +xを振りかけることで、問題のある箇所でさらに冗長にすることができます。

HTH。

関連する問題