diff --git a/java/src/org/broadinstitute/sting/gatk/executive/HierarchicalMicroScheduler.java b/java/src/org/broadinstitute/sting/gatk/executive/HierarchicalMicroScheduler.java index c5acce291..afb7a62f5 100755 --- a/java/src/org/broadinstitute/sting/gatk/executive/HierarchicalMicroScheduler.java +++ b/java/src/org/broadinstitute/sting/gatk/executive/HierarchicalMicroScheduler.java @@ -1,6 +1,7 @@ package org.broadinstitute.sting.gatk.executive; import org.broadinstitute.sting.gatk.traversals.TraverseLoci; +import org.broadinstitute.sting.gatk.traversals.TraversalEngine; import org.broadinstitute.sting.gatk.walkers.Walker; import org.broadinstitute.sting.gatk.walkers.TreeReducible; import org.broadinstitute.sting.gatk.dataSources.shards.ShardStrategy; @@ -42,8 +43,6 @@ public class HierarchicalMicroScheduler extends MicroScheduler implements Reduce */ private static final int MAX_OUTSTANDING_OUTPUT_MERGES = 50; - private TraverseLoci traversalEngine = null; - /** * Manage currently running threads. */ @@ -62,8 +61,6 @@ public class HierarchicalMicroScheduler extends MicroScheduler implements Reduce protected HierarchicalMicroScheduler( Walker walker, Reads reads, File refFile, List> rods, int nThreadsToUse ) { super( walker, reads, refFile, rods ); this.threadPool = Executors.newFixedThreadPool(nThreadsToUse); - if( !(traversalEngine instanceof TraverseLoci) ) - throw new UnsupportedOperationException("Traversal engine supports only traverse loci by reference at this time."); } public Object execute( Walker walker, List intervals ) { @@ -211,7 +208,7 @@ public class HierarchicalMicroScheduler extends MicroScheduler implements Reduce Shard shard = traverseTasks.remove(); OutputMerger outputMerger = new OutputMerger(); - ShardTraverser traverser = new ShardTraverser( traversalEngine, + ShardTraverser traverser = new ShardTraverser( getTraversalEngine(), walker, shard, getShardDataProvider(shard), diff --git a/java/src/org/broadinstitute/sting/gatk/executive/ShardTraverser.java b/java/src/org/broadinstitute/sting/gatk/executive/ShardTraverser.java index 19e2a5f99..93601e267 100755 --- a/java/src/org/broadinstitute/sting/gatk/executive/ShardTraverser.java +++ b/java/src/org/broadinstitute/sting/gatk/executive/ShardTraverser.java @@ -2,7 +2,7 @@ package org.broadinstitute.sting.gatk.executive; import org.broadinstitute.sting.gatk.dataSources.providers.ShardDataProvider; import org.broadinstitute.sting.gatk.dataSources.shards.Shard; -import org.broadinstitute.sting.gatk.traversals.TraverseLoci; +import org.broadinstitute.sting.gatk.traversals.TraversalEngine; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import org.broadinstitute.sting.gatk.OutputTracker; import org.broadinstitute.sting.gatk.walkers.Walker; @@ -25,12 +25,12 @@ import java.util.concurrent.Callable; */ public class ShardTraverser implements Callable { private Walker walker; - private TraverseLoci traversalEngine; + private TraversalEngine traversalEngine; private Shard shard; private ShardDataProvider dataProvider; private OutputMerger output; - public ShardTraverser( TraverseLoci traversalEngine, + public ShardTraverser( TraversalEngine traversalEngine, Walker walker, Shard shard, ShardDataProvider dataProvider, diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/ValidatingPileupWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/ValidatingPileupWalker.java index dade5f8f3..7115a2580 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/ValidatingPileupWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/ValidatingPileupWalker.java @@ -8,6 +8,7 @@ import org.broadinstitute.sting.utils.Utils; import org.broadinstitute.sting.utils.Pileup; import org.broadinstitute.sting.utils.BasicPileup; import org.broadinstitute.sting.utils.ReadBackedPileup; +import org.broadinstitute.sting.utils.StingException; /** * Created by IntelliJ IDEA. @@ -17,14 +18,14 @@ import org.broadinstitute.sting.utils.ReadBackedPileup; * To change this template use File | Settings | File Templates. */ @Requires(value={DataSource.READS,DataSource.REFERENCE},referenceMetaData=@RMD(name="pileup",type=rodSAMPileup.class)) -public class ValidatingPileupWalker extends LocusWalker { +public class ValidatingPileupWalker extends LocusWalker implements TreeReducible { @Argument(fullName="continue_after_error",doc="Continue after an error",required=false) public boolean CONTINUE_AFTER_AN_ERROR = false; public Integer map(RefMetaDataTracker tracker, char ref, LocusContext context) { Pileup pileup = new ReadBackedPileup(ref, context); Pileup truePileup = (Pileup)tracker.lookup("pileup", null); - + if ( truePileup == null ) { System.out.printf("No truth pileup data available at %s%n", pileup.getPileupString()); if ( ! CONTINUE_AFTER_AN_ERROR ) { @@ -51,6 +52,13 @@ public class ValidatingPileupWalker extends LocusWalker