From a670d6420ad586b7138326b994822ce1f6682629 Mon Sep 17 00:00:00 2001 From: Mauricio Carneiro Date: Fri, 15 Jul 2011 14:31:43 -0400 Subject: [PATCH 01/12] Refactoring Qscript utils into queue general utils package. --- .../sting/queue/qscripts/DataProcessingPipeline.scala | 4 ++-- .../sting/queue/qscripts/RecalibrateBaseQualities.scala | 4 +--- .../org/broadinstitute/sting/queue/util}/Utils.scala | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-) rename public/scala/{qscript/org/broadinstitute/sting/queue/qscripts/utils => src/org/broadinstitute/sting/queue/util}/Utils.scala (96%) diff --git a/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/DataProcessingPipeline.scala b/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/DataProcessingPipeline.scala index e62b1b926..40ac43a81 100755 --- a/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/DataProcessingPipeline.scala +++ b/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/DataProcessingPipeline.scala @@ -7,10 +7,10 @@ import org.broadinstitute.sting.queue.function.ListWriterFunction import collection.JavaConversions._ import org.broadinstitute.sting.gatk.walkers.indels.IndelRealigner.ConsensusDeterminationModel import org.broadinstitute.sting.queue.extensions.picard._ -import net.sf.samtools.{SAMFileReader} +import net.sf.samtools.SAMFileReader import net.sf.samtools.SAMFileHeader.SortOrder -import org.broadinstitute.sting.queue.qscripts.utils.Utils +import org.broadinstitute.sting.queue.util.Utils class DataProcessingPipeline extends QScript { qscript => diff --git a/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/RecalibrateBaseQualities.scala b/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/RecalibrateBaseQualities.scala index b2960f150..8ba880291 100755 --- a/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/RecalibrateBaseQualities.scala +++ b/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/RecalibrateBaseQualities.scala @@ -2,9 +2,7 @@ package org.broadinstitute.sting.queue.qscripts import org.broadinstitute.sting.queue.QScript import org.broadinstitute.sting.queue.extensions.gatk._ -import net.sf.samtools.SAMFileReader -import io.Source._ -import org.broadinstitute.sting.queue.qscripts.utils.Utils +import org.broadinstitute.sting.queue.util.Utils /** * Created by IntelliJ IDEA. diff --git a/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/utils/Utils.scala b/public/scala/src/org/broadinstitute/sting/queue/util/Utils.scala similarity index 96% rename from public/scala/qscript/org/broadinstitute/sting/queue/qscripts/utils/Utils.scala rename to public/scala/src/org/broadinstitute/sting/queue/util/Utils.scala index 1189b376c..5b80503a3 100644 --- a/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/utils/Utils.scala +++ b/public/scala/src/org/broadinstitute/sting/queue/util/Utils.scala @@ -1,4 +1,4 @@ -package org.broadinstitute.sting.queue.qscripts.utils +package org.broadinstitute.sting.queue.util import java.io.File import io.Source._ From 7b7d40d5d97461f3b4cf71bf7b6efc0695a97f91 Mon Sep 17 00:00:00 2001 From: Mauricio Carneiro Date: Fri, 15 Jul 2011 14:34:50 -0400 Subject: [PATCH 02/12] A better name for the qscript utilities. Throw here every method you find yourself repeatedly implementing in your qscripts! Refactoring appropriately. --- .../sting/queue/qscripts/DataProcessingPipeline.scala | 8 ++++---- .../sting/queue/qscripts/RecalibrateBaseQualities.scala | 6 +++--- .../sting/queue/util/{Utils.scala => QScriptUtils.scala} | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) rename public/scala/src/org/broadinstitute/sting/queue/util/{Utils.scala => QScriptUtils.scala} (98%) diff --git a/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/DataProcessingPipeline.scala b/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/DataProcessingPipeline.scala index 40ac43a81..050604b4e 100755 --- a/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/DataProcessingPipeline.scala +++ b/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/DataProcessingPipeline.scala @@ -10,7 +10,7 @@ import org.broadinstitute.sting.queue.extensions.picard._ import net.sf.samtools.SAMFileReader import net.sf.samtools.SAMFileHeader.SortOrder -import org.broadinstitute.sting.queue.util.Utils +import org.broadinstitute.sting.queue.util.QScriptUtils class DataProcessingPipeline extends QScript { qscript => @@ -123,7 +123,7 @@ class DataProcessingPipeline extends QScript { // only allow one sample per file. Bam files with multiple samples would require pre-processing of the file // with PrintReads to separate the samples. Tell user to do it himself! - assert(!Utils.hasMultipleSamples(readGroups), "The pipeline requires that only one sample is present in a BAM file. Please separate the samples in " + bam) + assert(!QScriptUtils.hasMultipleSamples(readGroups), "The pipeline requires that only one sample is present in a BAM file. Please separate the samples in " + bam) // Fill out the sample table with the readgroups in this file for (rg <- readGroups) { @@ -200,8 +200,8 @@ class DataProcessingPipeline extends QScript { def script = { // keep a record of the number of contigs in the first bam file in the list - val bams = Utils.createListFromFile(input) - nContigs = Utils.getNumberOfContigs(bams(0)) + val bams = QScriptUtils.createListFromFile(input) + nContigs = QScriptUtils.getNumberOfContigs(bams(0)) val realignedBams = if (useBWApe || useBWAse) {performAlignment(bams)} else {bams} diff --git a/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/RecalibrateBaseQualities.scala b/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/RecalibrateBaseQualities.scala index 8ba880291..56ca36925 100755 --- a/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/RecalibrateBaseQualities.scala +++ b/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/RecalibrateBaseQualities.scala @@ -2,7 +2,7 @@ package org.broadinstitute.sting.queue.qscripts import org.broadinstitute.sting.queue.QScript import org.broadinstitute.sting.queue.extensions.gatk._ -import org.broadinstitute.sting.queue.util.Utils +import org.broadinstitute.sting.queue.util.QScriptUtils /** * Created by IntelliJ IDEA. @@ -34,8 +34,8 @@ class RecalibrateBaseQualities extends QScript { def script = { - val bamList = Utils.createListFromFile(input) - nContigs = Utils.getNumberOfContigs(bamList(0)) + val bamList = QScriptUtils.createListFromFile(input) + nContigs = QScriptUtils.getNumberOfContigs(bamList(0)) for (bam <- bamList) { diff --git a/public/scala/src/org/broadinstitute/sting/queue/util/Utils.scala b/public/scala/src/org/broadinstitute/sting/queue/util/QScriptUtils.scala similarity index 98% rename from public/scala/src/org/broadinstitute/sting/queue/util/Utils.scala rename to public/scala/src/org/broadinstitute/sting/queue/util/QScriptUtils.scala index 5b80503a3..e2f1f1608 100644 --- a/public/scala/src/org/broadinstitute/sting/queue/util/Utils.scala +++ b/public/scala/src/org/broadinstitute/sting/queue/util/QScriptUtils.scala @@ -15,7 +15,7 @@ import collection.JavaConversions._ * To change this template use File | Settings | File Templates. */ -object Utils { +object QScriptUtils { /** * Takes a bam list file and produces a scala list with each file allowing the bam list From 224d373997e0f4775207654ad4e246caad6c9aac Mon Sep 17 00:00:00 2001 From: Mauricio Carneiro Date: Fri, 15 Jul 2011 15:19:10 -0400 Subject: [PATCH 05/12] No need to double overload the file constructor --- .../src/org/broadinstitute/sting/queue/util/QScriptUtils.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/scala/src/org/broadinstitute/sting/queue/util/QScriptUtils.scala b/public/scala/src/org/broadinstitute/sting/queue/util/QScriptUtils.scala index e2f1f1608..9fb4fa30d 100644 --- a/public/scala/src/org/broadinstitute/sting/queue/util/QScriptUtils.scala +++ b/public/scala/src/org/broadinstitute/sting/queue/util/QScriptUtils.scala @@ -38,7 +38,7 @@ object QScriptUtils { * Returns the number of contigs in the BAM file header. */ def getNumberOfContigs(bamFile: File): Int = { - val samReader = new SAMFileReader(new File(bamFile)) + val samReader = new SAMFileReader(bamFile) samReader.getFileHeader.getSequenceDictionary.getSequences.size() }