diff --git a/java/src/org/broadinstitute/sting/gatk/GenomeAnalysisTK.java b/java/src/org/broadinstitute/sting/gatk/GenomeAnalysisTK.java index bfa6c3e72..8a41163e5 100644 --- a/java/src/org/broadinstitute/sting/gatk/GenomeAnalysisTK.java +++ b/java/src/org/broadinstitute/sting/gatk/GenomeAnalysisTK.java @@ -47,7 +47,7 @@ public class GenomeAnalysisTK extends CommandLineProgram { public String pluginPathName = null; private TraversalEngine engine = null; public boolean DEBUGGING = false; - + public boolean WALK_ALL_LOCI = false; /** * our log, which we want to capture anything from this class @@ -61,7 +61,7 @@ public class GenomeAnalysisTK extends CommandLineProgram { * Flags don't take an argument, the associated Boolean gets set to true if the flag appears on the command line. */ protected void setupArgs() { - m_parser.addRequiredArg("input_file", "I", "SAM or BAM file for validation", "INPUT_FILE"); + m_parser.addRequiredArg("input_file", "I", "SAM or BAM file", "INPUT_FILE"); m_parser.addOptionalArg("maximum_reads", "M", "Maximum number of reads to process before exiting", "MAX_READS_ARG"); m_parser.addOptionalArg("validation_strictness", "S", "How strict should we be with validation", "STRICTNESS_ARG"); m_parser.addOptionalArg("reference_sequence", "R", "Reference sequence file", "REF_FILE_ARG"); @@ -73,6 +73,7 @@ public class GenomeAnalysisTK extends CommandLineProgram { m_parser.addOptionalFlag("unsafe", "U", "If set, enables unsafe operations, nothing will be checked at runtime.", "UNSAFE"); m_parser.addOptionalFlag("sort_on_the_fly", "F", "If set, enables on fly sorting of reads file.", "ENABLED_SORT_ON_FLY"); m_parser.addOptionalArg("intervals_file", "V", "File containing list of genomic intervals to operate on. line := ", "INTERVALS_FILE"); + m_parser.addOptionalArg("all_loci", "A", "Should we process all loci, not just those covered by reads", "WALK_ALL_LOCI"); } /** @@ -177,6 +178,7 @@ public class GenomeAnalysisTK extends CommandLineProgram { engine.setSafetyChecking(!UNSAFE); engine.setSortOnFly(ENABLED_SORT_ON_FLY); engine.setThreadedIO(ENABLED_THREADED_IO); + engine.setWalkOverAllSites(WALK_ALL_LOCI); engine.initialize(); Walker my_walker = null; diff --git a/java/src/org/broadinstitute/sting/gatk/TraversalEngine.java b/java/src/org/broadinstitute/sting/gatk/TraversalEngine.java index 8515a2138..82f19ee7e 100755 --- a/java/src/org/broadinstitute/sting/gatk/TraversalEngine.java +++ b/java/src/org/broadinstitute/sting/gatk/TraversalEngine.java @@ -82,6 +82,7 @@ public class TraversalEngine { public boolean beSafeP = true; public boolean SORT_ON_FLY = false; public boolean FILTER_UNSORTED_READS = false; + public boolean walkOverAllSites = false; public int MAX_ON_FLY_SORTS = 100000; public long N_RECORDS_TO_PRINT = 100000; public boolean THREADED_IO = false; @@ -134,6 +135,10 @@ public class TraversalEngine { this.THREADED_IO = threadedIO; } + public void setWalkOverAllSites(final boolean walkOverAllSites) { + this.walkOverAllSites = walkOverAllSites; + } + public void setDebugging(final boolean d) { DEBUGGING = d; } @@ -633,9 +638,7 @@ public class TraversalEngine { //System.out.format("Working at %s\n", locus.getLocation().toString()); - // Jump forward in the reference to this locus location - final ReferenceIterator refSite; - refSite = refIter.seekForward(locus.getLocation()); + ReferenceIterator refSite = refIter.seekForward(locus.getLocation()); final char refBase = refSite.getBaseAsChar(); locus.setReferenceContig(refSite.getCurrentContig()); diff --git a/java/src/org/broadinstitute/sting/gatk/iterators/ReferenceIterator.java b/java/src/org/broadinstitute/sting/gatk/iterators/ReferenceIterator.java index 0cf77412f..2a149e7b9 100755 --- a/java/src/org/broadinstitute/sting/gatk/iterators/ReferenceIterator.java +++ b/java/src/org/broadinstitute/sting/gatk/iterators/ReferenceIterator.java @@ -50,6 +50,7 @@ public class ReferenceIterator implements Iterator { public char getBaseAsChar() { return getBaseAsString().charAt(0); } public ReferenceSequence getCurrentContig() { return currentContig; } public long getPosition() { return offset + 1; } + public GenomeLoc getLocation() { return new GenomeLoc( getCurrentContig().getName(), getPosition() ); } // -------------------------------------------------------------------------------------------------------------- // diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/PileupWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/PileupWalker.java index e8a2b906b..260fa2d2a 100644 --- a/java/src/org/broadinstitute/sting/gatk/walkers/PileupWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/PileupWalker.java @@ -54,9 +54,9 @@ public class PileupWalker extends LocusWalker { if ( rodString != "" ) rodString = "[ROD: " + rodString + "]"; - if ( context.getLocation().getStart() % 1 == 0 ) { - System.out.printf("%s: %s %s %s %s%n", context.getLocation(), ref, bases, quals, rodString); - } + //if ( context.getLocation().getStart() % 1 == 0 ) { + System.out.printf("%s: %s %s %s %s%n", context.getLocation(), ref, bases, quals, rodString); + //} return 1; }