From 355be5753934eb34cdd18293e00ddd378d5771eb Mon Sep 17 00:00:00 2001 From: carneiro Date: Thu, 2 Jun 2011 19:32:28 +0000 Subject: [PATCH] fixing the pipeline so that it still works while I'm adding support for BWA. git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@5921 348d0f76-0448-11de-a6fe-93d51630548a --- .../oneoffs/carneiro/dataProcessingV2.scala | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/scala/qscript/oneoffs/carneiro/dataProcessingV2.scala b/scala/qscript/oneoffs/carneiro/dataProcessingV2.scala index b89a02dd7..bfc1f91e9 100755 --- a/scala/qscript/oneoffs/carneiro/dataProcessingV2.scala +++ b/scala/qscript/oneoffs/carneiro/dataProcessingV2.scala @@ -9,8 +9,6 @@ import net.sf.samtools.{SAMFileReader,SAMReadGroupRecord} import scala.io.Source._ import collection.JavaConversions._ -import org.broadinstitute.sting.queue.function.scattergather.ScatterFunction -import org.broadinstitute.sting.gatk.filters.ReadGroupBlackListFilter class dataProcessingV2 extends QScript { @@ -106,7 +104,7 @@ class dataProcessingV2 extends QScript { /**************************************************************************** - * Helper functions + * Helper classes and methods ****************************************************************************/ @@ -163,7 +161,7 @@ class dataProcessingV2 extends QScript { return samReader.getFileHeader.getSequenceDictionary.getSequences.size() } - + // Rebuilds the Read Group string to give BWA def buildReadGroupString(samReader: SAMFileReader): String = { val readGroups = samReader.getFileHeader.getReadGroups var s = "" @@ -183,14 +181,14 @@ class dataProcessingV2 extends QScript { // Takes a list of processed BAM files and realign them using the BWA option requested (bwase or bwape). // Returns a list of realigned BAM files. - def performAlignment(bamMap: Map[String, File]) { - for (key <- bamMap.keysIterator) { - val bam: File = bamMap(key) + def performAlignment(sampleBams: Map[String, File]) { + for (key <- sampleBams.keysIterator) { + val bam: File = sampleBams(key) val saiFile1 = swapExt(bam, ".bam", "1.sai") val saiFile2 = swapExt(bam, ".bam", "2.sai") val realignedSamFile = swapExt(bam, ".bam", ".realigned.sam") val realignedBamFile = swapExt(bam, ".bam", ".realigned.bam") - val readGroupString: String = buildReadGroupString(new SAMFileReader()) + val readGroupString: String = buildReadGroupString(new SAMFileReader(bam)) if (useBWAse) { add(bwa_aln_se(bam, saiFile1), bwa_sam_se(bam, saiFile1, realignedSamFile, readGroupString), @@ -202,7 +200,7 @@ class dataProcessingV2 extends QScript { bwa_sam_pe(bam, saiFile1, saiFile2, realignedSamFile, readGroupString), to_bam(realignedSamFile, realignedBamFile)) } - bamMap(key) = realignedBamFile + sampleBams(key) = realignedBamFile } } @@ -231,7 +229,6 @@ class dataProcessingV2 extends QScript { // Generate a BAM file per sample joining all per lane files if necessary val sampleBamFiles: Map[String, File] = createSampleFiles(bams) - //todo -- (option - BWA) run BWA on each bam file (per lane bam file) before performing per sample processing if (useBWApe || useBWAse) { performAlignment(sampleBamFiles) } @@ -328,7 +325,6 @@ class dataProcessingV2 extends QScript { this.useOnlyKnownIndels = knownsOnly this.doNotUseSW = !useSW this.compress = 0 -// this.U = org.broadinstitute.sting.gatk.arguments.ValidationExclusion.TYPE.NO_READ_ORDER_VERIFICATION // todo -- update this with the last consensus between Tim, Matt and Eric. This is ugly! this.scatterCount = nContigs this.analysisName = queueLogDir + outBam + ".clean" this.jobName = queueLogDir + outBam + ".clean" @@ -353,7 +349,6 @@ class dataProcessingV2 extends QScript { this.out = outBam if (!qscript.intervalString.isEmpty()) this.intervalsString ++= List(qscript.intervalString) else if (qscript.intervals != null) this.intervals :+= qscript.intervals -// this.U = org.broadinstitute.sting.gatk.arguments.ValidationExclusion.TYPE.NO_READ_ORDER_VERIFICATION // todo -- update this with the last consensus between Tim, Matt and Eric. This is ugly! this.scatterCount = nContigs this.isIntermediate = false this.analysisName = queueLogDir + outBam + ".recalibration"