From 86573177d18b10d7688f64a53a617011740eac00 Mon Sep 17 00:00:00 2001 From: depristo Date: Thu, 29 Oct 2009 01:04:37 +0000 Subject: [PATCH] Reverting rod walkers to use underlying refwalker implementation while we work on ROD2 and reenable the system. Added some serious sparse file parsing to variant eval tests git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@1929 348d0f76-0448-11de-a6fe-93d51630548a --- ivy.xml | 3 ++- .../gatk/datasources/providers/RodLocusView.java | 3 +++ .../sting/gatk/traversals/TraverseLoci.java | 7 ++++--- .../VariantEvalWalkerIntegrationTest.java | 16 ++++++++++++++++ 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/ivy.xml b/ivy.xml index 84297424b..b4c8fa590 100644 --- a/ivy.xml +++ b/ivy.xml @@ -10,7 +10,8 @@ - + + diff --git a/java/src/org/broadinstitute/sting/gatk/datasources/providers/RodLocusView.java b/java/src/org/broadinstitute/sting/gatk/datasources/providers/RodLocusView.java index 5e438b559..743a938a4 100644 --- a/java/src/org/broadinstitute/sting/gatk/datasources/providers/RodLocusView.java +++ b/java/src/org/broadinstitute/sting/gatk/datasources/providers/RodLocusView.java @@ -6,6 +6,7 @@ import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.MergingIterator; import org.broadinstitute.sting.utils.GenomeLocParser; +import org.broadinstitute.sting.utils.StingException; import java.util.*; @@ -85,6 +86,8 @@ public class RodLocusView extends LocusView implements ReferenceOrderedView { } rodQueue = new MergingIterator>(iterators); + + throw new StingException("RodLocusView currently disabled"); } public RefMetaDataTracker getReferenceOrderedDataAtLocus( GenomeLoc loc ) { diff --git a/java/src/org/broadinstitute/sting/gatk/traversals/TraverseLoci.java b/java/src/org/broadinstitute/sting/gatk/traversals/TraverseLoci.java index 01614cbcb..0c6b7a301 100755 --- a/java/src/org/broadinstitute/sting/gatk/traversals/TraverseLoci.java +++ b/java/src/org/broadinstitute/sting/gatk/traversals/TraverseLoci.java @@ -21,6 +21,7 @@ import java.util.ArrayList; */ public class TraverseLoci extends TraversalEngine { final private static String UNIT_STRING = "sites"; + final private static boolean ENABLE_ROD_TRAVERSAL = false; /** @@ -56,7 +57,7 @@ public class TraverseLoci extends TraversalEngine { //ReferenceOrderedView referenceOrderedDataView = new ReferenceOrderedView( dataProvider ); ReferenceOrderedView referenceOrderedDataView = null; - if ( WalkerManager.getWalkerDataSource(walker) != DataSource.REFERENCE_ORDERED_DATA ) + if ( ! ENABLE_ROD_TRAVERSAL || WalkerManager.getWalkerDataSource(walker) != DataSource.REFERENCE_ORDERED_DATA ) referenceOrderedDataView = new ManagingReferenceOrderedView( dataProvider ); else referenceOrderedDataView = (RodLocusView)locusView; @@ -91,7 +92,7 @@ public class TraverseLoci extends TraversalEngine { // We have a final map call to execute here to clean up the skipped based from the // last position in the ROD to that in the interval - if ( WalkerManager.getWalkerDataSource(walker) == DataSource.REFERENCE_ORDERED_DATA ) { + if ( ENABLE_ROD_TRAVERSAL && WalkerManager.getWalkerDataSource(walker) == DataSource.REFERENCE_ORDERED_DATA ) { RodLocusView rodLocusView = (RodLocusView)locusView; long nSkipped = rodLocusView.getLastSkippedBases(); if ( nSkipped > 0 ) { @@ -124,7 +125,7 @@ public class TraverseLoci extends TraversalEngine { DataSource dataSource = WalkerManager.getWalkerDataSource(walker); if( dataSource == DataSource.READS ) return new CoveredLocusView(dataProvider); - else if( dataSource == DataSource.REFERENCE ) + else if( dataSource == DataSource.REFERENCE || ! ENABLE_ROD_TRAVERSAL ) return new AllLocusView(dataProvider); else if( dataSource == DataSource.REFERENCE_ORDERED_DATA ) return new RodLocusView(dataProvider); diff --git a/java/test/org/broadinstitute/sting/playground/gatk/walkers/varianteval/VariantEvalWalkerIntegrationTest.java b/java/test/org/broadinstitute/sting/playground/gatk/walkers/varianteval/VariantEvalWalkerIntegrationTest.java index b9c7c2141..8f072c837 100644 --- a/java/test/org/broadinstitute/sting/playground/gatk/walkers/varianteval/VariantEvalWalkerIntegrationTest.java +++ b/java/test/org/broadinstitute/sting/playground/gatk/walkers/varianteval/VariantEvalWalkerIntegrationTest.java @@ -171,5 +171,21 @@ public class VariantEvalWalkerIntegrationTest extends WalkerTest { md5); List result = executeTest("testEvalMarksGenotypingExample", spec).getFirst(); } + + @Test + public void testEvalRuntimeWithLotsOfIntervals() { + List md5 = new ArrayList(); + md5.add("bfdc82c3fd8a286f5855d3932ede3124"); + WalkerTest.WalkerTestSpec spec = new WalkerTest.WalkerTestSpec( + "-T VariantEval -R /broad/1KG/reference/human_b36_both.fasta " + + "-B eval,Variants,/humgen/gsa-scr1/GATK_Data/Validation_Data/NA12878.pilot_3.all.geli.calls " + + "-D /humgen/gsa-scr1/GATK_Data/dbsnp_129_b36.rod " + + "--supressDateInformation " + + "-L /humgen/gsa-scr1/GATK_Data/thousand_genomes_alpha_redesign.targets.b36.interval_list " + + "--outerr %s", + 1, // just one output file + md5); + List result = executeTest("testEvalRuntimeWithLotsOfIntervals", spec).getFirst(); + } }