diff --git a/java/src/org/broadinstitute/sting/gatk/LocusContext.java b/java/src/org/broadinstitute/sting/gatk/contexts/AlignmentContext.java similarity index 69% rename from java/src/org/broadinstitute/sting/gatk/LocusContext.java rename to java/src/org/broadinstitute/sting/gatk/contexts/AlignmentContext.java index 38b3df97f..9e57c7b8b 100755 --- a/java/src/org/broadinstitute/sting/gatk/LocusContext.java +++ b/java/src/org/broadinstitute/sting/gatk/contexts/AlignmentContext.java @@ -1,4 +1,29 @@ -package org.broadinstitute.sting.gatk; +/* + * Copyright (c) 2009 The Broad Institute + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +package org.broadinstitute.sting.gatk.contexts; import net.sf.picard.reference.ReferenceSequence; import net.sf.samtools.SAMRecord; @@ -15,20 +40,19 @@ import java.util.*; * Time: 3:01:34 PM * To change this template use File | Settings | File Templates. */ -public class LocusContext { +public class AlignmentContext { private GenomeLoc loc = null; private List reads = null; private List offsets = null; - private ReferenceSequence refContig = null; /** - * Create a new LocusContext object + * Create a new AlignmentContext object * * @param loc * @param reads * @param offsets */ - public LocusContext(GenomeLoc loc, List reads, List offsets) { + public AlignmentContext(GenomeLoc loc, List reads, List offsets) { //assert loc != null; //assert loc.getContig() != null; //assert reads != null; @@ -79,30 +103,6 @@ public class LocusContext { public void setLocation(GenomeLoc loc) { this.loc = loc.clone(); } - /** - * Returns the entire reference sequence contig associated with these reads - * - * @return ReferenceSequence object, or null if unavailable - */ - public ReferenceSequence getReferenceContig() { - return refContig; - } - - /** - * @return True if reference sequence contig is available - */ - public boolean hasReferenceContig() { - return refContig != null; - } - - /** - * Sets the reference sequence for this locus to contig - * - * @param contig - */ - public void setReferenceContig(final ReferenceSequence contig) { - refContig = contig; - } public void downsampleToCoverage(int coverage) { if ( numReads() <= coverage ) diff --git a/java/src/org/broadinstitute/sting/gatk/contexts/ReferenceContext.java b/java/src/org/broadinstitute/sting/gatk/contexts/ReferenceContext.java new file mode 100644 index 000000000..ab7879b76 --- /dev/null +++ b/java/src/org/broadinstitute/sting/gatk/contexts/ReferenceContext.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2009 The Broad Institute + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +package org.broadinstitute.sting.gatk.contexts; + +/** + * The section of the reference that overlaps with the given + * read / locus. + * + * @author hanna + * @version 0.1 + */ + +public class ReferenceContext { + private char base; + + public ReferenceContext( char base ) { + this.base = base; + } + + /** + * Get the base at the given locus. + * @return The base at the given locus from the reference.§ + */ + public char getBase() { + return base; + } +} diff --git a/java/src/org/broadinstitute/sting/gatk/datasources/providers/AllLocusView.java b/java/src/org/broadinstitute/sting/gatk/datasources/providers/AllLocusView.java index f6391b926..91189c61f 100755 --- a/java/src/org/broadinstitute/sting/gatk/datasources/providers/AllLocusView.java +++ b/java/src/org/broadinstitute/sting/gatk/datasources/providers/AllLocusView.java @@ -4,7 +4,7 @@ import java.util.NoSuchElementException; import java.util.ArrayList; import org.broadinstitute.sting.gatk.iterators.GenomeLocusIterator; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.utils.GenomeLoc; import net.sf.samtools.SAMRecord; /** @@ -36,7 +36,7 @@ public class AllLocusView extends LocusView { * What's the context for the last locus accessed? * @param provider */ - private LocusContext nextLocusContext = null; + private AlignmentContext nextLocus = null; /** * Create a new queue of locus contexts. @@ -48,7 +48,7 @@ public class AllLocusView extends LocusView { locusIterator = new GenomeLocusIterator( provider.getShard().getGenomeLoc() ); if( locusIterator.hasNext() ) { nextPosition = locusIterator.next(); - nextLocusContext = hasNextLocusContext() ? nextLocusContext() : createEmptyLocusContext(nextPosition); + nextLocus = hasNextLocus() ? nextLocus() : createEmptyLocus(nextPosition); } } @@ -56,7 +56,7 @@ public class AllLocusView extends LocusView { return nextPosition != null; } - public LocusContext next() { + public AlignmentContext next() { GenomeLoc currentPosition = nextPosition; if( currentPosition == null ) throw new NoSuchElementException("No next is available in the all locus view"); @@ -65,14 +65,14 @@ public class AllLocusView extends LocusView { nextPosition = locusIterator.hasNext() ? locusIterator.next() : null; // Crank the iterator to (if possible) or past the next context. - while( nextLocusContext != null && nextLocusContext.getLocation().isBefore(currentPosition) && hasNextLocusContext() ) - nextLocusContext = nextLocusContext(); + while( nextLocus != null && nextLocus.getLocation().isBefore(currentPosition) && hasNextLocus() ) + nextLocus = nextLocus(); // If actual data is present, return it. Otherwise, return empty data. - if( nextLocusContext != null && nextLocusContext.getLocation().equals(currentPosition) ) - return nextLocusContext; + if( nextLocus != null && nextLocus.getLocation().equals(currentPosition) ) + return nextLocus; else - return createEmptyLocusContext( currentPosition ); + return createEmptyLocus( currentPosition ); } /** @@ -80,7 +80,7 @@ public class AllLocusView extends LocusView { * @param site Site at which to create the blank locus context. * @return empty context. */ - private LocusContext createEmptyLocusContext( GenomeLoc site ) { - return new LocusContext(site, new ArrayList(), new ArrayList()); + private AlignmentContext createEmptyLocus( GenomeLoc site ) { + return new AlignmentContext(site, new ArrayList(), new ArrayList()); } } diff --git a/java/src/org/broadinstitute/sting/gatk/datasources/providers/CoveredLocusView.java b/java/src/org/broadinstitute/sting/gatk/datasources/providers/CoveredLocusView.java index d9d4b365c..58c5486aa 100755 --- a/java/src/org/broadinstitute/sting/gatk/datasources/providers/CoveredLocusView.java +++ b/java/src/org/broadinstitute/sting/gatk/datasources/providers/CoveredLocusView.java @@ -1,6 +1,6 @@ package org.broadinstitute.sting.gatk.datasources.providers; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.utils.GenomeLoc; import org.apache.log4j.Logger; /** @@ -31,7 +31,7 @@ public class CoveredLocusView extends LocusView { * What's the context for the last locus accessed? * @param provider */ - private LocusContext nextLocusContext = null; + private AlignmentContext nextLocusContext = null; private static Logger logger = Logger.getLogger(CoveredLocusView.class); @@ -44,10 +44,10 @@ public class CoveredLocusView extends LocusView { } public boolean hasNext() { - return hasNextLocusContext(); + return hasNextLocus(); } - public LocusContext next() { - return nextLocusContext(); + public AlignmentContext next() { + return nextLocus(); } } diff --git a/java/src/org/broadinstitute/sting/gatk/datasources/providers/LocusView.java b/java/src/org/broadinstitute/sting/gatk/datasources/providers/LocusView.java index 49b805fcd..977baf0f9 100755 --- a/java/src/org/broadinstitute/sting/gatk/datasources/providers/LocusView.java +++ b/java/src/org/broadinstitute/sting/gatk/datasources/providers/LocusView.java @@ -1,10 +1,10 @@ package org.broadinstitute.sting.gatk.datasources.providers; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.Reads; import org.broadinstitute.sting.gatk.datasources.shards.Shard; -import org.broadinstitute.sting.gatk.iterators.LocusContextIteratorByHanger; -import org.broadinstitute.sting.gatk.iterators.LocusContextIterator; +import org.broadinstitute.sting.gatk.iterators.LocusIteratorByHanger; +import org.broadinstitute.sting.gatk.iterators.LocusIterator; import org.broadinstitute.sting.gatk.traversals.TraversalStatistics; import net.sf.samtools.SAMRecord; @@ -32,7 +32,7 @@ import net.sf.picard.filter.SamRecordFilter; * A queue of locus context entries. */ -public abstract class LocusView extends LocusContextIterator implements View { +public abstract class LocusView extends LocusIterator implements View { /** * The shard bounding this view. */ @@ -46,13 +46,13 @@ public abstract class LocusView extends LocusContextIterator implements View { /** * The actual locus context iterator. */ - private LocusContextIterator loci; + private LocusIterator loci; /** * The next locus context from the iterator. This value must always be within * the shard; if its null, there's nothing for the consumer to look at. */ - private LocusContext nextLocusContext = null; + private AlignmentContext nextLocus = null; public LocusView(ShardDataProvider provider) { this.shard = provider.getShard(); @@ -60,8 +60,8 @@ public abstract class LocusView extends LocusContextIterator implements View { Iterator reads = new FilteringIterator(provider.getReadIterator(), new LocusStreamFilterFunc()); this.sourceInfo = provider.getReadIterator().getSourceInfo(); - this.loci = new LocusContextIteratorByHanger(reads); - seedNextLocusContext(); + this.loci = new LocusIteratorByHanger(reads); + seedNextLocus(); provider.register(this); } @@ -97,7 +97,7 @@ public abstract class LocusView extends LocusContextIterator implements View { * @return Next covered locus context in the shard. * @throw NoSuchElementException if no such element exists. */ - public abstract LocusContext next(); + public abstract AlignmentContext next(); /** * Unsupported. @@ -111,8 +111,8 @@ public abstract class LocusView extends LocusContextIterator implements View { * Is there another locus context bounded by this shard. * @return True if another locus context is bounded by this shard. */ - protected boolean hasNextLocusContext() { - return nextLocusContext != null && !nextLocusContext.getLocation().isPast(shard.getGenomeLoc()); + protected boolean hasNextLocus() { + return nextLocus != null && !nextLocus.getLocation().isPast(shard.getGenomeLoc()); } /** @@ -120,41 +120,41 @@ public abstract class LocusView extends LocusContextIterator implements View { * @return Next locus context bounded by this shard. * @throw NoSuchElementException if the next element is missing. */ - protected LocusContext nextLocusContext() { - if( nextLocusContext == null || nextLocusContext.getLocation().isPast(shard.getGenomeLoc()) ) + protected AlignmentContext nextLocus() { + if( nextLocus == null || nextLocus.getLocation().isPast(shard.getGenomeLoc()) ) throw new NoSuchElementException("No more elements remain in locus context queue."); // Cache the current and apply filtering. - LocusContext current = nextLocusContext; + AlignmentContext current = nextLocus; // Find the next. if( loci.hasNext() ) { - nextLocusContext = loci.next(); + nextLocus = loci.next(); if( sourceInfo.getDownsampleToCoverage() != null ) current.downsampleToCoverage( sourceInfo.getDownsampleToCoverage() ); - if( nextLocusContext.getLocation().isPast(shard.getGenomeLoc()) ) - nextLocusContext = null; + if( nextLocus.getLocation().isPast(shard.getGenomeLoc()) ) + nextLocus = null; } else - nextLocusContext = null; + nextLocus = null; return current; } /** - * Seed the nextLocusContext variable with the contents of the next locus context (if one exists). + * Seed the nextLocus variable with the contents of the next locus (if one exists). */ - private void seedNextLocusContext() { + private void seedNextLocus() { if( loci.hasNext() ) - nextLocusContext = loci.next(); + nextLocus = loci.next(); // Iterate past cruft at the beginning to the first locus in the shard. - while( nextLocusContext != null && nextLocusContext.getLocation().isBefore(shard.getGenomeLoc()) && loci.hasNext() ) - nextLocusContext = loci.next(); + while( nextLocus != null && nextLocus.getLocation().isBefore(shard.getGenomeLoc()) && loci.hasNext() ) + nextLocus = loci.next(); - // If nothing in the shard was found, indicate that by setting nextLocusContext to null. - if( nextLocusContext != null && nextLocusContext.getLocation().isBefore(shard.getGenomeLoc()) ) - nextLocusContext = null; + // If nothing in the shard was found, indicate that by setting nextAlignmentContext to null. + if( nextLocus != null && nextLocus.getLocation().isBefore(shard.getGenomeLoc()) ) + nextLocus = null; } /** diff --git a/java/src/org/broadinstitute/sting/gatk/examples/HelloWalker.java b/java/src/org/broadinstitute/sting/gatk/examples/HelloWalker.java index 637395577..94e5187df 100644 --- a/java/src/org/broadinstitute/sting/gatk/examples/HelloWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/examples/HelloWalker.java @@ -22,7 +22,8 @@ * OTHER DEALINGS IN THE SOFTWARE. */ import org.broadinstitute.sting.gatk.walkers.LocusWalker; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; /** @@ -35,12 +36,12 @@ public class HelloWalker extends LocusWalker { * which they fall, and the base from the reference that overlaps. * @param tracker The accessor for reference metadata. * @param ref The reference base that lines up with this locus. - * @param context Information about reads overlapping this locus. + * @param locus Information about reads overlapping this locus. * @return In this case, returns a count of how many loci were seen at this site (1). */ @Override - public Integer map(RefMetaDataTracker tracker, char ref, LocusContext context) { - out.printf("Hello locus %s; your ref base is %c and you have %d reads%n", context.getLocation(), ref, context.getReads().size() ); + public Integer map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { + out.printf("Hello locus %s; your ref base is %c and you have %d reads%n", context.getLocation(), ref.getBase(), context.getReads().size() ); return 1; } diff --git a/java/src/org/broadinstitute/sting/gatk/iterators/GenomeLocusIterator.java b/java/src/org/broadinstitute/sting/gatk/iterators/GenomeLocusIterator.java index db082d700..a078d9d4e 100755 --- a/java/src/org/broadinstitute/sting/gatk/iterators/GenomeLocusIterator.java +++ b/java/src/org/broadinstitute/sting/gatk/iterators/GenomeLocusIterator.java @@ -4,6 +4,7 @@ import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; import java.util.NoSuchElementException; +import java.util.Iterator; /** * User: hanna * Date: May 12, 2009 @@ -20,7 +21,7 @@ import java.util.NoSuchElementException; /** * Iterates through all of the loci provided in the reference. */ -public class GenomeLocusIterator implements LocusIterator { +public class GenomeLocusIterator implements Iterator { /** * The entire region over which we're iterating. */ diff --git a/java/src/org/broadinstitute/sting/gatk/iterators/LocusContextIterator.java b/java/src/org/broadinstitute/sting/gatk/iterators/LocusContextIterator.java deleted file mode 100755 index bc20f1c79..000000000 --- a/java/src/org/broadinstitute/sting/gatk/iterators/LocusContextIterator.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.broadinstitute.sting.gatk.iterators; - -import net.sf.samtools.util.CloseableIterator; - -import java.util.Iterator; - -import org.broadinstitute.sting.gatk.LocusContext; - -/** - * Iterator that traverses a SAM File, accumulating information on a per-locus basis - */ -public abstract class LocusContextIterator implements Iterable, CloseableIterator { - // ----------------------------------------------------------------------------------------------------------------- - // - // constructors and other basic operations - // - // ----------------------------------------------------------------------------------------------------------------- - public Iterator iterator() { - return this; - } - - public void close() { - //this.it.close(); - } - - public abstract boolean hasNext(); - public abstract LocusContext next(); - - public void remove() { - throw new UnsupportedOperationException("Can not remove records from a SAM file via an iterator!"); - } -} diff --git a/java/src/org/broadinstitute/sting/gatk/iterators/LocusIterator.java b/java/src/org/broadinstitute/sting/gatk/iterators/LocusIterator.java index 9ca0523dd..30c1cf512 100755 --- a/java/src/org/broadinstitute/sting/gatk/iterators/LocusIterator.java +++ b/java/src/org/broadinstitute/sting/gatk/iterators/LocusIterator.java @@ -1,24 +1,32 @@ package org.broadinstitute.sting.gatk.iterators; -import org.broadinstitute.sting.utils.GenomeLoc; +import net.sf.samtools.util.CloseableIterator; import java.util.Iterator; -/** - * User: hanna - * Date: May 12, 2009 - * Time: 10:48:56 AM - * BROAD INSTITUTE SOFTWARE COPYRIGHT NOTICE AND AGREEMENT - * Software and documentation are copyright 2005 by the Broad Institute. - * All rights are reserved. - * - * Users acknowledge that this software is supplied without any warranty or support. - * The Broad Institute is not responsible for its use, misuse, or - * functionality. - */ + +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; /** - * An iterator for iterating through loci on a genome. + * Iterator that traverses a SAM File, accumulating information on a per-locus basis */ +public abstract class LocusIterator implements Iterable, CloseableIterator { + // ----------------------------------------------------------------------------------------------------------------- + // + // constructors and other basic operations + // + // ----------------------------------------------------------------------------------------------------------------- + public Iterator iterator() { + return this; + } -public interface LocusIterator extends Iterator { + public void close() { + //this.it.close(); + } + + public abstract boolean hasNext(); + public abstract AlignmentContext next(); + + public void remove() { + throw new UnsupportedOperationException("Can not remove records from a SAM file via an iterator!"); + } } diff --git a/java/src/org/broadinstitute/sting/gatk/iterators/LocusContextIteratorByHanger.java b/java/src/org/broadinstitute/sting/gatk/iterators/LocusIteratorByHanger.java similarity index 81% rename from java/src/org/broadinstitute/sting/gatk/iterators/LocusContextIteratorByHanger.java rename to java/src/org/broadinstitute/sting/gatk/iterators/LocusIteratorByHanger.java index 1e232890a..cde8cca80 100755 --- a/java/src/org/broadinstitute/sting/gatk/iterators/LocusContextIteratorByHanger.java +++ b/java/src/org/broadinstitute/sting/gatk/iterators/LocusIteratorByHanger.java @@ -1,9 +1,34 @@ +/* + * Copyright (c) 2009 The Broad Institute + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + package org.broadinstitute.sting.gatk.iterators; import net.sf.samtools.AlignmentBlock; import net.sf.samtools.SAMRecord; import org.apache.log4j.Logger; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.utils.RefHanger; @@ -14,12 +39,12 @@ import java.util.Iterator; /** * Iterator that traverses a SAM File, accumulating information on a per-locus basis */ -public class LocusContextIteratorByHanger extends LocusContextIterator { +public class LocusIteratorByHanger extends LocusIterator { /** * our log, which we want to capture anything from this class */ - private static Logger logger = Logger.getLogger(LocusContextIteratorByHanger.class); + private static Logger logger = Logger.getLogger(LocusIteratorByHanger.class); // ----------------------------------------------------------------------------------------------------------------- // @@ -39,11 +64,11 @@ public class LocusContextIteratorByHanger extends LocusContextIterator { // constructors and other basic operations // // ----------------------------------------------------------------------------------------------------------------- - public LocusContextIteratorByHanger(final Iterator samIterator) { + public LocusIteratorByHanger(final Iterator samIterator) { this.it = new PushbackIterator(samIterator); } - public Iterator iterator() { + public Iterator iterator() { return this; } @@ -80,7 +105,7 @@ public class LocusContextIteratorByHanger extends LocusContextIterator { // next() routine and associated collection operations // // ----------------------------------------------------------------------------------------------------------------- - public LocusContext next() { + public AlignmentContext next() { if ( ! currentPositionIsFullyCovered() ) expandWindow(INCREMENT_SIZE); @@ -99,7 +124,7 @@ public class LocusContextIteratorByHanger extends LocusContextIterator { //System.out.printf("***** skipping reads%n"); return next(); } else { - return new LocusContext(rhanger.loc, rhanger.data, ohanger.data); + return new AlignmentContext(rhanger.loc, rhanger.data, ohanger.data); } } @@ -186,4 +211,4 @@ public class LocusContextIteratorByHanger extends LocusContextIterator { public void remove() { throw new UnsupportedOperationException("Can not remove records from a SAM file via an iterator!"); } -} \ No newline at end of file +} diff --git a/java/src/org/broadinstitute/sting/gatk/traversals/TraverseDuplicates.java b/java/src/org/broadinstitute/sting/gatk/traversals/TraverseDuplicates.java index 6b3893ea9..96585a142 100755 --- a/java/src/org/broadinstitute/sting/gatk/traversals/TraverseDuplicates.java +++ b/java/src/org/broadinstitute/sting/gatk/traversals/TraverseDuplicates.java @@ -29,7 +29,7 @@ import net.sf.picard.filter.FilteringIterator; import net.sf.picard.filter.SamRecordFilter; import net.sf.samtools.SAMRecord; import org.apache.log4j.Logger; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.datasources.providers.ReadView; import org.broadinstitute.sting.gatk.datasources.providers.ShardDataProvider; import org.broadinstitute.sting.gatk.datasources.shards.ReadShard; @@ -177,13 +177,13 @@ public class TraverseDuplicates extends TraversalEngine { reads.size(), site.toString(), uniqueReads.size(), duplicateReads.size())); // Jump forward in the reference to this locus location - LocusContext locus = new LocusContext(site, duplicateReads, Arrays.asList(0)); + AlignmentContext locus = new AlignmentContext(site, duplicateReads, Arrays.asList(0)); // update the number of duplicate sets we've seen TraversalStatistics.nRecords++; // we still have to fix the locus context provider to take care of this problem with > 1 length contexts - // LocusContext locus = locusProvider.getLocusContext(site); + // AlignmentContext locus = locusProvider.getLocusContext(site); byte[] refBases = new byte[0]; @@ -245,7 +245,7 @@ public class TraverseDuplicates extends TraversalEngine { List duplicateReads, GenomeLoc site, byte[] refBases, - LocusContext locus, + AlignmentContext locus, T sum) { final boolean keepMeP = dupWalker.filter(site, refBases, locus, uniqueReads, duplicateReads); if (keepMeP) { diff --git a/java/src/org/broadinstitute/sting/gatk/traversals/TraverseLoci.java b/java/src/org/broadinstitute/sting/gatk/traversals/TraverseLoci.java index 5db9c23eb..436454e5d 100755 --- a/java/src/org/broadinstitute/sting/gatk/traversals/TraverseLoci.java +++ b/java/src/org/broadinstitute/sting/gatk/traversals/TraverseLoci.java @@ -1,8 +1,9 @@ package org.broadinstitute.sting.gatk.traversals; import org.apache.log4j.Logger; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.WalkerManager; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.datasources.providers.*; import org.broadinstitute.sting.gatk.datasources.shards.Shard; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; @@ -49,18 +50,18 @@ public class TraverseLoci extends TraversalEngine { // We keep processing while the next reference location is within the interval while( locusView.hasNext() ) { - LocusContext locus = locusView.next(); + AlignmentContext locus = locusView.next(); TraversalStatistics.nRecords++; // Iterate forward to get all reference ordered data covering this locus final RefMetaDataTracker tracker = referenceOrderedDataView.getReferenceOrderedDataAtLocus(locus.getLocation()); - char refBase = referenceView.getReferenceBase(locus.getLocation()); + ReferenceContext refContext = new ReferenceContext( referenceView.getReferenceBase(locus.getLocation()) ); - final boolean keepMeP = locusWalker.filter(tracker, refBase, locus); + final boolean keepMeP = locusWalker.filter(tracker, refContext, locus); if (keepMeP) { - M x = locusWalker.map(tracker, refBase, locus); + M x = locusWalker.map(tracker, refContext, locus); sum = locusWalker.reduce(x, sum); } diff --git a/java/src/org/broadinstitute/sting/gatk/traversals/TraverseLocusWindows.java b/java/src/org/broadinstitute/sting/gatk/traversals/TraverseLocusWindows.java index 037868dc8..d08fa7b28 100755 --- a/java/src/org/broadinstitute/sting/gatk/traversals/TraverseLocusWindows.java +++ b/java/src/org/broadinstitute/sting/gatk/traversals/TraverseLocusWindows.java @@ -1,7 +1,7 @@ package org.broadinstitute.sting.gatk.traversals; import net.sf.samtools.SAMRecord; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.datasources.providers.LocusReferenceView; import org.broadinstitute.sting.gatk.datasources.providers.ReadView; import org.broadinstitute.sting.gatk.datasources.providers.ReferenceOrderedView; @@ -41,7 +41,7 @@ public class TraverseLocusWindows extends TraversalEngine { LocusReferenceView referenceView = new LocusReferenceView( dataProvider ); ReferenceOrderedView referenceOrderedDataView = new ReferenceOrderedView( dataProvider ); - LocusContext locus = getLocusContext(readView.iterator(), interval); + AlignmentContext locus = getLocusContext(readView.iterator(), interval); // The TraverseByLocusWindow expands intervals to cover all reads in a non-standard way. // TODO: Convert this approach to the standard. @@ -66,7 +66,7 @@ public class TraverseLocusWindows extends TraversalEngine { return sum; } - private LocusContext getLocusContext(StingSAMIterator readIter, GenomeLoc interval) { + private AlignmentContext getLocusContext(StingSAMIterator readIter, GenomeLoc interval) { ArrayList reads = new ArrayList(); boolean done = false; long leftmostIndex = interval.getStart(), @@ -87,7 +87,7 @@ public class TraverseLocusWindows extends TraversalEngine { } GenomeLoc window = GenomeLocParser.createGenomeLoc(interval.getContig(), leftmostIndex, rightmostIndex); - LocusContext locus = new LocusContext(window, reads, null); + AlignmentContext locus = new AlignmentContext(window, reads, null); if ( readIter.getSourceInfo().getDownsampleToCoverage() != null ) locus.downsampleToCoverage(readIter.getSourceInfo().getDownsampleToCoverage()); diff --git a/java/src/org/broadinstitute/sting/gatk/traversals/TraverseReads.java b/java/src/org/broadinstitute/sting/gatk/traversals/TraverseReads.java index 0deb2a84c..71ecf8a3f 100755 --- a/java/src/org/broadinstitute/sting/gatk/traversals/TraverseReads.java +++ b/java/src/org/broadinstitute/sting/gatk/traversals/TraverseReads.java @@ -2,7 +2,7 @@ package org.broadinstitute.sting.gatk.traversals; import net.sf.samtools.SAMRecord; import org.apache.log4j.Logger; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.WalkerManager; import org.broadinstitute.sting.gatk.datasources.providers.ReadReferenceView; import org.broadinstitute.sting.gatk.datasources.providers.ReadView; @@ -98,7 +98,7 @@ public class TraverseReads extends TraversalEngine { for (SAMRecord read : reads) { // our locus context - LocusContext locus = null; + AlignmentContext locus = null; // an array of characters that represent the reference char[] refSeq = null; @@ -108,7 +108,7 @@ public class TraverseReads extends TraversalEngine { GenomeLoc site = GenomeLocParser.createGenomeLoc(read); // Jump forward in the reference to this locus location - locus = new LocusContext(site, Arrays.asList(read), Arrays.asList(0)); + locus = new AlignmentContext(site, Arrays.asList(read), Arrays.asList(0)); // get the array of characters for the reference sequence, since we're a mapped read if( dataProvider.hasReference() ) diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/CountLociWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/CountLociWalker.java index be9affc38..ba828616b 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/CountLociWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/CountLociWalker.java @@ -1,11 +1,9 @@ package org.broadinstitute.sting.gatk.walkers; -import org.broadinstitute.sting.gatk.LocusContext; -import org.broadinstitute.sting.gatk.refdata.ReferenceOrderedDatum; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import java.util.List; - /** * Created by IntelliJ IDEA. * User: mdepristo @@ -14,7 +12,7 @@ import java.util.List; * To change this template use File | Settings | File Templates. */ public class CountLociWalker extends LocusWalker implements TreeReducible { - public Integer map(RefMetaDataTracker tracker, char ref, LocusContext context) { + public Integer map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { return 1; } diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/CountReadsWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/CountReadsWalker.java index 62e3ebfa2..3703c098e 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/CountReadsWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/CountReadsWalker.java @@ -1,7 +1,7 @@ package org.broadinstitute.sting.gatk.walkers; import net.sf.samtools.SAMRecord; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; @Requires({DataSource.READS, DataSource.REFERENCE}) public class CountReadsWalker extends ReadWalker { diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/DepthOfCoverageWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/DepthOfCoverageWalker.java index 7c04829ca..d2fe8df92 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/DepthOfCoverageWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/DepthOfCoverageWalker.java @@ -24,7 +24,8 @@ package org.broadinstitute.sting.gatk.walkers; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.utils.cmdLine.Argument; import org.broadinstitute.sting.utils.Pair; @@ -36,7 +37,7 @@ public class DepthOfCoverageWalker extends LocusWalker @Argument(fullName="suppressLocusPrinting",doc="Suppress printing",required=false) public boolean suppressPrinting = false; - public Integer map(RefMetaDataTracker tracker, char ref, LocusContext context) { + public Integer map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { if ( !suppressPrinting ) out.printf("%s: %d%n", context.getLocation(), context.getReads().size() ); return context.getReads().size(); diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/DuplicateWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/DuplicateWalker.java index bc40ee85f..09edc466b 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/DuplicateWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/DuplicateWalker.java @@ -1,6 +1,6 @@ package org.broadinstitute.sting.gatk.walkers; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.utils.GenomeLoc; import java.util.List; @@ -17,7 +17,7 @@ import net.sf.samtools.SAMRecord; @Requires({DataSource.READS,DataSource.REFERENCE}) public abstract class DuplicateWalker extends Walker { // Do we actually want to operate on the context? - public boolean filter(GenomeLoc loc, byte[] refBases, LocusContext context, + public boolean filter(GenomeLoc loc, byte[] refBases, AlignmentContext context, List uniqueReads, List duplicateReads) { return true; // We are keeping all the reads @@ -31,7 +31,7 @@ public abstract class DuplicateWalker extends Walker uniqueReads, List duplicateReads); diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/LocusWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/LocusWalker.java index 799a2c569..f066da13e 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/LocusWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/LocusWalker.java @@ -1,7 +1,8 @@ package org.broadinstitute.sting.gatk.walkers; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; /** * Created by IntelliJ IDEA. @@ -14,10 +15,10 @@ import org.broadinstitute.sting.gatk.LocusContext; @Requires({DataSource.READS,DataSource.REFERENCE, DataSource.REFERENCE_BASES}) public abstract class LocusWalker extends Walker { // Do we actually want to operate on the context? - public boolean filter(RefMetaDataTracker tracker, char ref, LocusContext context) { + public boolean filter(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { return true; // We are keeping all the reads } - // Map over the org.broadinstitute.sting.gatk.LocusContext - public abstract MapType map(RefMetaDataTracker tracker, char ref, LocusContext context); + // Map over the org.broadinstitute.sting.gatk.contexts.AlignmentContext + public abstract MapType map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context); } diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/LocusWindowWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/LocusWindowWalker.java index 623116e94..80520dd76 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/LocusWindowWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/LocusWindowWalker.java @@ -1,9 +1,7 @@ package org.broadinstitute.sting.gatk.walkers; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.LocusContext; - -import net.sf.samtools.SAMRecord; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; /** * Created by IntelliJ IDEA. @@ -15,12 +13,12 @@ import net.sf.samtools.SAMRecord; @Requires({DataSource.READS,DataSource.REFERENCE, DataSource.REFERENCE_BASES}) public abstract class LocusWindowWalker extends Walker { // Do we actually want to operate on the context? - public boolean filter(RefMetaDataTracker tracker, String ref, LocusContext context) { + public boolean filter(RefMetaDataTracker tracker, String ref, AlignmentContext context) { return true; // We are keeping all the intervals } - // Map over the org.broadinstitute.sting.gatk.LocusContext - public abstract MapType map(RefMetaDataTracker tracker, String ref, LocusContext context); + // Map over the org.broadinstitute.sting.gatk.contexts.AlignmentContext + public abstract MapType map(RefMetaDataTracker tracker, String ref, AlignmentContext context); // Given result of map function public abstract ReduceType reduceInit(); diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/NullWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/NullWalker.java index 69ec4b2b7..005c8c70e 100644 --- a/java/src/org/broadinstitute/sting/gatk/walkers/NullWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/NullWalker.java @@ -1,12 +1,10 @@ package org.broadinstitute.sting.gatk.walkers; import org.broadinstitute.sting.gatk.walkers.LocusWalker; -import org.broadinstitute.sting.gatk.LocusContext; -import org.broadinstitute.sting.gatk.refdata.ReferenceOrderedDatum; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import java.util.List; - // Null traversal. For ATK performance measuring. // j.maguire 3-7-2009 @@ -15,12 +13,12 @@ public class NullWalker extends LocusWalker { } // Do we actually want to operate on the context? - public boolean filter(RefMetaDataTracker tracker, char ref, LocusContext context) { + public boolean filter(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { return true; // We are keeping all the reads } - // Map over the org.broadinstitute.sting.gatk.LocusContext - public Integer map(RefMetaDataTracker tracker, char ref, LocusContext context) + // Map over the org.broadinstitute.sting.gatk.contexts.AlignmentContext + public Integer map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { return 1; } diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/PileupWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/PileupWalker.java index 56cfc0948..587b61c9a 100644 --- a/java/src/org/broadinstitute/sting/gatk/walkers/PileupWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/PileupWalker.java @@ -24,7 +24,8 @@ package org.broadinstitute.sting.gatk.walkers; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.ReferenceOrderedDatum; import org.broadinstitute.sting.gatk.refdata.rodDbSNP; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; @@ -67,8 +68,8 @@ public class PileupWalker extends LocusWalker implements TreeR public void initialize() { } - public Integer map(RefMetaDataTracker tracker, char ref, LocusContext context) { - ReadBackedPileup pileup = new ReadBackedPileup(ref, context); + public Integer map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { + ReadBackedPileup pileup = new ReadBackedPileup(ref.getBase(), context); String bases = pileup.getBases(); if ( bases.equals("") && !IGNORE_UNCOVERED_BASES ) { diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/PileupWithContextWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/PileupWithContextWalker.java index 16d1739bd..9088b58da 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/PileupWithContextWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/PileupWithContextWalker.java @@ -1,6 +1,7 @@ package org.broadinstitute.sting.gatk.walkers; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.ReferenceOrderedDatum; import org.broadinstitute.sting.gatk.refdata.rodDbSNP; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; @@ -11,7 +12,6 @@ import org.broadinstitute.sting.utils.Utils; import org.broadinstitute.sting.utils.fasta.IndexedFastaSequenceFile; import net.sf.picard.reference.ReferenceSequence; -import java.util.List; import java.io.File; import java.io.IOException; @@ -45,8 +45,8 @@ public class PileupWithContextWalker extends LocusWalker imple } } - public Integer map(RefMetaDataTracker tracker, char ref, LocusContext context) { - ReadBackedPileup pileup = new ReadBackedPileup(ref, context); + public Integer map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { + ReadBackedPileup pileup = new ReadBackedPileup(ref.getBase(), context); String bases = pileup.getBasesWithStrand(); if ( bases.equals("") && FLAG_UNCOVERED_BASES ) { diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/PrintLocusContextWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/PrintLocusContextWalker.java index 8d630d4d0..1eac9bade 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/PrintLocusContextWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/PrintLocusContextWalker.java @@ -1,6 +1,7 @@ package org.broadinstitute.sting.gatk.walkers; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import java.util.List; @@ -15,8 +16,8 @@ import net.sf.samtools.SAMRecord; * Time: 11:23:14 AM * To change this template use File | Settings | File Templates. */ -public class PrintLocusContextWalker extends LocusWalker implements TreeReducible { - public LocusContext map(RefMetaDataTracker tracker, char ref, LocusContext context) { +public class PrintLocusContextWalker extends LocusWalker implements TreeReducible { + public AlignmentContext map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { out.printf( "In map: ref = %s, loc = %s, reads = %s%n", ref, context.getLocation(), Arrays.deepToString( getReadNames(context.getReads()) ) ); @@ -25,7 +26,7 @@ public class PrintLocusContextWalker extends LocusWalker public Integer reduceInit() { return 0; } - public Integer reduce(LocusContext context, Integer sum) { + public Integer reduce(AlignmentContext context, Integer sum) { return sum + 1; } diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/ReadWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/ReadWalker.java index 873fe45d8..587babb42 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/ReadWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/ReadWalker.java @@ -22,6 +22,6 @@ public abstract class ReadWalker extends Walker } } - public Integer map(RefMetaDataTracker tracker, String ref, LocusContext context) { + public Integer map(RefMetaDataTracker tracker, String ref, AlignmentContext context) { List reads = context.getReads(); ArrayList goodReads = new ArrayList(); for ( SAMRecord read : reads ) { diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/indels/MismatchIntervalWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/indels/MismatchIntervalWalker.java index f79fb89c2..49aea4865 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/indels/MismatchIntervalWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/indels/MismatchIntervalWalker.java @@ -4,7 +4,8 @@ package org.broadinstitute.sting.gatk.walkers.indels; import net.sf.samtools.*; import org.broadinstitute.sting.gatk.refdata.*; import org.broadinstitute.sting.gatk.walkers.LocusWalker; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.filters.Platform454Filter; import org.broadinstitute.sting.gatk.filters.ZeroMappingQualityReadFilter; import org.broadinstitute.sting.utils.*; @@ -31,8 +32,8 @@ public class MismatchIntervalWalker extends LocusWalker throw new RuntimeException("Window Size must be a positive integer"); } - public Pair map(RefMetaDataTracker tracker, char ref, LocusContext context) { - char upperRef = Character.toUpperCase(ref); + public Pair map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { + char upperRef = Character.toUpperCase(ref.getBase()); List reads = context.getReads(); List offsets = context.getOffsets(); int goodReads = 0, mismatchQualities = 0, totalQualities = 0; diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/indels/SNPClusterWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/indels/SNPClusterWalker.java index 78fe1dd1e..1f0b607b6 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/indels/SNPClusterWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/indels/SNPClusterWalker.java @@ -2,7 +2,8 @@ package org.broadinstitute.sting.gatk.walkers.indels; import org.broadinstitute.sting.gatk.refdata.*; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.utils.*; import org.broadinstitute.sting.gatk.walkers.*; import org.broadinstitute.sting.utils.cmdLine.Argument; @@ -20,7 +21,7 @@ public class SNPClusterWalker extends RefWalker { throw new RuntimeException("Window Size must be a positive integer"); } - public GenomeLoc map(RefMetaDataTracker tracker, char ref, LocusContext context) { + public GenomeLoc map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { AllelicVariant eval = (AllelicVariant)tracker.lookup("eval", null); if ( eval instanceof SNPCallFromGenotypes ) return context.getLocation(); diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/CovariateCounterWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/CovariateCounterWalker.java index eab6dd059..e994b9a33 100644 --- a/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/CovariateCounterWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/CovariateCounterWalker.java @@ -2,7 +2,8 @@ package org.broadinstitute.sting.gatk.walkers.recalibration; import net.sf.samtools.SAMRecord; import net.sf.samtools.SAMReadGroupRecord; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.rodDbSNP; import org.broadinstitute.sting.gatk.walkers.LocusWalker; @@ -77,7 +78,7 @@ public class CovariateCounterWalker extends LocusWalker { * @param context * @return */ - public Integer map(RefMetaDataTracker tracker, char ref, LocusContext context) { + public Integer map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { rodDbSNP dbsnp = (rodDbSNP)tracker.lookup("dbSNP", null); if ( dbsnp == null || !dbsnp.isSNP() ) { // We aren't at a dbSNP position that's a SNP, so update the read @@ -101,7 +102,7 @@ public class CovariateCounterWalker extends LocusWalker { if ((read.getMappingQuality() >= MIN_MAPPING_QUALITY && isSupportedReadGroup(readGroup) )) { int offset = offsets.get(i); if ( offset > 0 && offset < (read.getReadLength() - 1) ) { // skip first and last bases because they suck and they don't have a dinuc count - counted_bases += covariateCounter.updateDataFromRead(readGroupString, read, offset, ref); + counted_bases += covariateCounter.updateDataFromRead(readGroupString, read, offset, ref.getBase()); } } } diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/AlignedReadsHistoWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/AlignedReadsHistoWalker.java index 9c145378d..a9731cc64 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/AlignedReadsHistoWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/AlignedReadsHistoWalker.java @@ -3,7 +3,6 @@ package org.broadinstitute.sting.playground.gatk.walkers; import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.gatk.walkers.ReadWalker; import org.broadinstitute.sting.gatk.walkers.WalkerName; -import org.broadinstitute.sting.gatk.LocusContext; /** * Created by IntelliJ IDEA. @@ -28,7 +27,6 @@ public class AlignedReadsHistoWalker extends ReadWalker { return !read.getReadUnmappedFlag(); } - // Map over the org.broadinstitute.sting.atk.LocusContext public Integer map(char[] ref, SAMRecord read) { //System.out.println(read.getAttribute("NM")); int editDist = Integer.parseInt(read.getAttribute("NM").toString()); diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/BaseQualityDumpWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/BaseQualityDumpWalker.java index cbff5d43d..c04eae845 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/BaseQualityDumpWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/BaseQualityDumpWalker.java @@ -1,7 +1,6 @@ package org.broadinstitute.sting.playground.gatk.walkers; import net.sf.samtools.SAMRecord; -import org.broadinstitute.sting.gatk.LocusContext; import org.broadinstitute.sting.gatk.walkers.ReadWalker; import org.broadinstitute.sting.gatk.walkers.WalkerName; diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/BaseQualityHistoWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/BaseQualityHistoWalker.java index 7dd66a51b..6353f87ef 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/BaseQualityHistoWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/BaseQualityHistoWalker.java @@ -3,7 +3,6 @@ package org.broadinstitute.sting.playground.gatk.walkers; import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.gatk.walkers.ReadWalker; import org.broadinstitute.sting.gatk.walkers.WalkerName; -import org.broadinstitute.sting.gatk.LocusContext; /** * Created by IntelliJ IDEA. @@ -27,7 +26,6 @@ public class BaseQualityHistoWalker extends ReadWalker { return true; // We are keeping all the reads } - // Map over the org.broadinstitute.sting.gatk.LocusContext public Integer map(char[] ref, SAMRecord read) { for ( byte qual : read.getBaseQualities() ) { if ( qual < 0 || qual > 100 ) { diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/CoverageBySample.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/CoverageBySample.java index e5dcd3e62..0b2ba68d5 100644 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/CoverageBySample.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/CoverageBySample.java @@ -5,7 +5,8 @@ import net.sf.samtools.*; import org.broadinstitute.sting.gatk.*; import org.broadinstitute.sting.gatk.refdata.*; import org.broadinstitute.sting.gatk.walkers.LocusWalker; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.utils.Utils; import org.broadinstitute.sting.utils.BaseUtils; @@ -37,11 +38,11 @@ public class CoverageBySample extends LocusWalker } } - public String map(RefMetaDataTracker tracker, char ref, LocusContext context) + public String map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { String line = context.getLocation().getContig() + " " + context.getLocation().getStart() + " " ; - LocusContext[] contexts = filterLocusContext(context, sample_names, 0); + AlignmentContext[] contexts = filterAlignmentContext(context, sample_names, 0); HashMap counts = countReadsBySample(context); for (int i = 0; i < contexts.length; i++) @@ -84,7 +85,7 @@ public class CoverageBySample extends LocusWalker return ""; } - private HashMap countReadsBySample(LocusContext context) + private HashMap countReadsBySample(AlignmentContext context) { HashMap counts = new HashMap(); for (int i = 0; i < sample_names.size(); i++) @@ -101,7 +102,7 @@ public class CoverageBySample extends LocusWalker return counts; } - private LocusContext[] filterLocusContext(LocusContext context, List sample_names, int downsample) + private AlignmentContext[] filterAlignmentContext(AlignmentContext context, List sample_names, int downsample) { HashMap index = new HashMap(); for (int i = 0; i < sample_names.size(); i++) @@ -109,7 +110,7 @@ public class CoverageBySample extends LocusWalker index.put(sample_names.get(i), i); } - LocusContext[] contexts = new LocusContext[sample_names.size()]; + AlignmentContext[] contexts = new AlignmentContext[sample_names.size()]; ArrayList[] reads = new ArrayList[sample_names.size()]; ArrayList[] offsets = new ArrayList[sample_names.size()]; @@ -153,14 +154,14 @@ public class CoverageBySample extends LocusWalker reads[j] = downsampled_reads; offsets[j] = downsampled_offsets; - contexts[j] = new LocusContext(context.getLocation(), reads[j], offsets[j]); + contexts[j] = new AlignmentContext(context.getLocation(), reads[j], offsets[j]); } } else { for (int j = 0; j < reads.length; j++) { - contexts[j] = new LocusContext(context.getLocation(), reads[j], offsets[j]); + contexts[j] = new AlignmentContext(context.getLocation(), reads[j], offsets[j]); } } diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/CoverageEvalWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/CoverageEvalWalker.java index 7d716e210..58e73d513 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/CoverageEvalWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/CoverageEvalWalker.java @@ -1,7 +1,8 @@ package org.broadinstitute.sting.playground.gatk.walkers; import net.sf.samtools.SAMRecord; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.rodGFF; import org.broadinstitute.sting.gatk.walkers.LocusWalker; @@ -42,11 +43,11 @@ public class CoverageEvalWalker extends LocusWalker, String> { out.println("DownsampledCoverage\tAvailableCoverage\tHapmapChipGenotype\tGenotypeCallType\t"+header.substring(1)); } - public boolean filter(RefMetaDataTracker tracker, char ref, LocusContext context) { - return (BaseUtils.simpleBaseToBaseIndex(ref) != -1 && context.getReads().size() != 0); + public boolean filter(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { + return (BaseUtils.simpleBaseToBaseIndex(ref.getBase()) != -1 && context.getReads().size() != 0); } - public List map(RefMetaDataTracker tracker, char ref, LocusContext context) { + public List map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { rodGFF hapmap_chip = (rodGFF)tracker.lookup("hapmap-chip", null); String hc_genotype; @@ -75,7 +76,7 @@ public class CoverageEvalWalker extends LocusWalker, String> { List sub_reads = ListUtils.sliceListByIndices(subset_indices, reads); List sub_offsets = ListUtils.sliceListByIndices(subset_indices, offsets); - LocusContext subContext = new LocusContext(context.getLocation(), sub_reads, sub_offsets); + AlignmentContext subContext = new AlignmentContext(context.getLocation(), sub_reads, sub_offsets); GenotypeCall call = SSG.map(tracker, ref, subContext); String callType = (call.isVariation()) ? ((call.isHom()) ? "HomozygousSNP" : "HeterozygousSNP") : "HomozygousReference"; diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/CoverageHistogram.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/CoverageHistogram.java index 4db274444..73115e8a5 100644 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/CoverageHistogram.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/CoverageHistogram.java @@ -1,15 +1,14 @@ package org.broadinstitute.sting.playground.gatk.walkers; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.LocusWalker; import org.broadinstitute.sting.gatk.walkers.By; import org.broadinstitute.sting.gatk.walkers.DataSource; import java.util.*; -import java.util.zip.*; -import java.io.*; // Plot a histogram of depth of coverage // j.maguire 6-11-2009 @@ -38,9 +37,9 @@ public class CoverageHistogram extends LocusWalker num_sites = 0; } - public Integer map(RefMetaDataTracker tracker, char ref, LocusContext context) + public Integer map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { - if (ref == 'N') { return null; } + if (ref.getBase() == 'N') { return null; } int depth = context.getReads().size(); coverage_hist[depth] += 1; if (depth > max_depth) { max_depth = depth; } diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/DisplayFourBaseReadWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/DisplayFourBaseReadWalker.java index a5c99e2c0..761657370 100644 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/DisplayFourBaseReadWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/DisplayFourBaseReadWalker.java @@ -1,7 +1,6 @@ package org.broadinstitute.sting.playground.gatk.walkers; import org.broadinstitute.sting.gatk.walkers.ReadWalker; -import org.broadinstitute.sting.gatk.LocusContext; import org.broadinstitute.sting.utils.QualityUtils; import net.sf.samtools.SAMRecord; diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/FastaReferenceWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/FastaReferenceWalker.java index 5434e175c..6adfa91d5 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/FastaReferenceWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/FastaReferenceWalker.java @@ -1,6 +1,7 @@ package org.broadinstitute.sting.playground.gatk.walkers; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.RefWalker; import org.broadinstitute.sting.gatk.walkers.WalkerName; @@ -13,8 +14,8 @@ import org.broadinstitute.sting.utils.Pair; @WalkerName("FastaReferenceMaker") public class FastaReferenceWalker extends RefWalker, Pair> { - public Pair map(RefMetaDataTracker rodData, char ref, LocusContext context) { - return new Pair(context.getLocation(), ref); + public Pair map(RefMetaDataTracker rodData, ReferenceContext ref, AlignmentContext context) { + return new Pair(context.getLocation(), ref.getBase()); } public Pair reduceInit() { diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/HLAcaller/CallHLAWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/HLAcaller/CallHLAWalker.java index 560c67e00..da30d5e4a 100644 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/HLAcaller/CallHLAWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/HLAcaller/CallHLAWalker.java @@ -5,7 +5,8 @@ package org.broadinstitute.sting.playground.gatk.walkers.HLAcaller; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.utils.cmdLine.Argument; import org.broadinstitute.sting.utils.Pair; @@ -77,8 +78,8 @@ public class CallHLAWalker extends LocusWalker>{ } - public Integer map(RefMetaDataTracker tracker, char ref, LocusContext context) { - ReadBackedPileup pileup = new ReadBackedPileup(ref, context); + public Integer map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { + ReadBackedPileup pileup = new ReadBackedPileup(ref.getBase(), context); String bases = pileup.getBases(); long loc = context.getPosition(); if ( !suppressPrinting ) @@ -104,7 +105,7 @@ public class CallHLAWalker extends LocusWalker>{ out.printf("%sAs\t%sCs\t%sTs\t%sGs\t",numAs,numCs,numTs,numGs); OldAndBustedGenotypeLikelihoods G = new OldAndBustedGenotypeLikelihoods(OldAndBustedGenotypeLikelihoods.HUMAN_HETEROZYGOSITY); - SSGGenotypeCall geno = G.callGenotypes(tracker, ref, pileup); + SSGGenotypeCall geno = G.callGenotypes(tracker, ref.getBase(), pileup); double mLikelihoods[] = geno.getLikelihoods(); diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/HybSelPerformanceWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/HybSelPerformanceWalker.java index a4a665cea..a08e1420f 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/HybSelPerformanceWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/HybSelPerformanceWalker.java @@ -1,6 +1,7 @@ package org.broadinstitute.sting.playground.gatk.walkers; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.walkers.LocusWalker; import org.broadinstitute.sting.gatk.walkers.By; import org.broadinstitute.sting.gatk.walkers.DataSource; @@ -52,7 +53,7 @@ public class HybSelPerformanceWalker extends LocusWalker reads = context.getReads(); int depth = 0; diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/IOCrusherWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/IOCrusherWalker.java index b84d79c6e..06e4aa690 100644 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/IOCrusherWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/IOCrusherWalker.java @@ -1,18 +1,13 @@ package org.broadinstitute.sting.playground.gatk.walkers; -import org.broadinstitute.sting.gatk.LocusContext; import org.broadinstitute.sting.gatk.walkers.ReadWalker; import org.broadinstitute.sting.utils.cmdLine.Argument; -import org.broadinstitute.sting.utils.QualityUtils; import org.broadinstitute.sting.utils.Utils; import net.sf.samtools.SAMRecord; import net.sf.samtools.SAMFileWriter; import net.sf.samtools.SAMFileHeader; -import net.sf.picard.reference.ReferenceSequence; import java.util.ArrayList; -import java.util.Random; -import java.io.File; /** * ReadErrorRateWalker assesses the error rate per read position ('cycle') by comparing the diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/ListSampleIds.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/ListSampleIds.java index 0e3a5e58a..c04f8470c 100644 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/ListSampleIds.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/ListSampleIds.java @@ -5,7 +5,8 @@ import net.sf.samtools.SAMRecord; import net.sf.samtools.SAMFileHeader; import net.sf.samtools.SAMReadGroupRecord; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.LocusWalker; @@ -26,7 +27,7 @@ public class ListSampleIds extends LocusWalker } } - public Boolean map(RefMetaDataTracker tracker, char ref, LocusContext context) + public Boolean map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { List reads = context.getReads(); StringBuilder readNames = new StringBuilder(); diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/MendelianInheritanceWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/MendelianInheritanceWalker.java index 5986499d9..748b730ed 100644 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/MendelianInheritanceWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/MendelianInheritanceWalker.java @@ -1,27 +1,18 @@ package org.broadinstitute.sting.playground.gatk.walkers; -import java.util.Arrays; import java.util.List; import org.apache.log4j.Logger; -import org.broadinstitute.sting.gatk.LocusContext; -import org.broadinstitute.sting.gatk.refdata.GenotypeList; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.ReferenceOrderedDatum; -import org.broadinstitute.sting.gatk.refdata.BasicReferenceOrderedDatum; -import org.broadinstitute.sting.gatk.refdata.rodSAMPileup; import org.broadinstitute.sting.gatk.refdata.Genotype; import org.broadinstitute.sting.gatk.walkers.RefWalker; -import org.broadinstitute.sting.gatk.walkers.Requires; -import org.broadinstitute.sting.gatk.walkers.DataSource; -import org.broadinstitute.sting.gatk.walkers.RMD; import org.broadinstitute.sting.playground.utils.GenotypingCallStats; import org.broadinstitute.sting.playground.utils.TrioConcordanceRecord; -import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenotypeUtils; -import org.broadinstitute.sting.utils.StingException; -import org.broadinstitute.sting.utils.GenotypeUtils.VariantType; import org.broadinstitute.sting.utils.cmdLine.Argument; //@Requires(value=DataSource.REFERENCE,referenceMetaData={@RMD(name="mother",type=rodSAMPileup.class), @@ -49,7 +40,7 @@ public class MendelianInheritanceWalker extends RefWalker sample_names) + MultiSampleCallResult MultiSampleCall(RefMetaDataTracker tracker, char ref, AlignmentContext context, List sample_names) { String in_dbsnp; if (tracker.lookup("DBSNP", null) != null) { in_dbsnp = "known"; } else { in_dbsnp = "novel"; } - LocusContext[] contexts = filterLocusContextBySample(context, sample_names, 0); + AlignmentContext[] contexts = filterAlignmentContextBySample(context, sample_names, 0); double lod = LOD(contexts); double strand_score = StrandScore(context); //EM_Result em_result = EM(contexts); @@ -521,7 +521,7 @@ public class MultiSampleCaller extends LocusWalker reads = new ArrayList(); ArrayList offsets = new ArrayList(); @@ -537,11 +537,11 @@ public class MultiSampleCaller extends LocusWalker sample_names, int downsample) + private AlignmentContext[] filterAlignmentContextBySample(AlignmentContext context, List sample_names, int downsample) { HashMap index = new HashMap(); for (int i = 0; i < sample_names.size(); i++) @@ -549,7 +549,7 @@ public class MultiSampleCaller extends LocusWalker[] reads = new ArrayList[sample_names.size()]; ArrayList[] offsets = new ArrayList[sample_names.size()]; @@ -593,14 +593,14 @@ public class MultiSampleCaller extends LocusWalker working_samples = new ArrayList(); working_samples.addAll(variant_samples); working_samples.addAll(reference_samples); - LocusContext working_context = filterLocusContextBySamples(context, working_samples); + AlignmentContext working_context = filterAlignmentContextBySamples(context, working_samples); // Call. MultiSampleCallResult call_result = super.map(tracker, ref, working_context); @@ -155,7 +156,7 @@ public class MultiSampleCallerAccuracyTest extends MultiSampleCaller // Filter a locus context by sample IDs // (pulls out only reads from the specified samples, and returns them in one context). - private LocusContext filterLocusContextBySamples(LocusContext context, List sample_names) + private AlignmentContext filterAlignmentContextBySamples(AlignmentContext context, List sample_names) { HashSet index = new HashSet(); for (int i = 0; i < sample_names.size(); i++) @@ -185,7 +186,7 @@ public class MultiSampleCallerAccuracyTest extends MultiSampleCaller } } - return new LocusContext(context.getLocation(), reads, offsets); + return new AlignmentContext(context.getLocation(), reads, offsets); } // END Utility Functions diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/Pilot3CoverageWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/Pilot3CoverageWalker.java index ada637fa5..dc4ab17c9 100644 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/Pilot3CoverageWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/Pilot3CoverageWalker.java @@ -1,23 +1,13 @@ package org.broadinstitute.sting.playground.gatk.walkers; -import org.broadinstitute.sting.gatk.LocusContext; -import org.broadinstitute.sting.gatk.refdata.ReferenceOrderedDatum; -import org.broadinstitute.sting.gatk.refdata.rodDbSNP; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.refdata.HapMapAlleleFrequenciesROD; import org.broadinstitute.sting.gatk.walkers.LocusWalker; -import org.broadinstitute.sting.utils.Utils; import org.broadinstitute.sting.utils.cmdLine.Argument; import net.sf.samtools.SAMRecord; -import net.sf.samtools.SAMFileHeader; -import net.sf.samtools.SAMReadGroupRecord; import java.util.List; -import java.util.Formatter; -import static java.lang.Math.log10; - -import edu.mit.broad.picard.genotype.DiploidGenotype; -import net.sf.picard.PicardException; public class Pilot3CoverageWalker extends LocusWalker { @@ -34,13 +24,13 @@ public class Pilot3CoverageWalker extends LocusWalker { public String walkerType() { return "ByLocus"; } // Do we actually want to operate on the context? - public boolean filter(RefMetaDataTracker tracker, char ref, LocusContext context) { + public boolean filter(RefMetaDataTracker tracker, char ref, AlignmentContext context) { return true; // We are keeping all the reads } - // Map over the org.broadinstitute.sting.gatk.LocusContext + // Map over the org.broadinstitute.sting.gatk.contexts.AlignmentContext int MAPPING_QUALITY_THRESHOLD = 1; int totalSites; int tumorCovered; @@ -51,7 +41,7 @@ public class Pilot3CoverageWalker extends LocusWalker { int lastContigIndex = -1; long lastPosition = -1; - public Integer map(RefMetaDataTracker tracker, char ref, LocusContext context) { + public Integer map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { if (start ==0) { start = System.currentTimeMillis(); } List reads = context.getReads(); diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/PopPriorWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/PopPriorWalker.java index 42f07d51f..3f4b01568 100644 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/PopPriorWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/PopPriorWalker.java @@ -1,6 +1,7 @@ package org.broadinstitute.sting.playground.gatk.walkers; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.walkers.LocusWalker; import org.broadinstitute.sting.gatk.refdata.ReferenceOrderedDatum; import org.broadinstitute.sting.gatk.refdata.rodDbSNP; @@ -30,7 +31,7 @@ public class PopPriorWalker extends LocusWalker { public String walkerType() { return "ByLocus"; } // Do we actually want to operate on the context? - public boolean filter(RefMetaDataTracker tracker, char ref, LocusContext context) { + public boolean filter(RefMetaDataTracker tracker, char ref, AlignmentContext context) { return true; // We are keeping all the reads } @@ -94,9 +95,9 @@ public class PopPriorWalker extends LocusWalker { } - // Map over the org.broadinstitute.sting.gatk.LocusContext - public Integer map(RefMetaDataTracker tracker, char ref, LocusContext context) { - char upRef = Character.toUpperCase(ref); + // Map over the org.broadinstitute.sting.gatk.contexts.AlignmentContext + public Integer map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { + char upRef = Character.toUpperCase(ref.getBase()); List reads = context.getReads(); List offsets = context.getOffsets(); @@ -151,12 +152,12 @@ public class PopPriorWalker extends LocusWalker { // System.out.println(read.getReadName() + " " + base + " " + qual ); - glAll.add(ref, base, qual); + glAll.add(ref.getBase(), base, qual); if (read.getReadNegativeStrandFlag()) { - glReverse.add(ref, base, qual); + glReverse.add(ref.getBase(), base, qual); } else { - glForward.add(ref, base, qual); + glForward.add(ref.getBase(), base, qual); } } diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/PrintCoverageWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/PrintCoverageWalker.java index 21172d499..93510206d 100644 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/PrintCoverageWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/PrintCoverageWalker.java @@ -1,7 +1,8 @@ package org.broadinstitute.sting.playground.gatk.walkers; import net.sf.samtools.SAMRecord; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.By; import org.broadinstitute.sting.gatk.walkers.DataSource; @@ -17,17 +18,17 @@ public class PrintCoverageWalker extends LocusWalker { public String walkerType() { return "ByLocus"; } // Do we actually want to operate on the context? - public boolean filter(RefMetaDataTracker tracker, char ref, LocusContext context) { + public boolean filter(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { return true; // We are keeping all the reads } - public Integer map(RefMetaDataTracker tracker, char ref, LocusContext context) { + public Integer map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { int aCount = 0; int cCount = 0; int gCount = 0; int tCount = 0; - char upRef = Character.toUpperCase(ref); + char upRef = Character.toUpperCase(ref.getBase()); List reads = context.getReads(); for ( int i = 0; i < reads.size(); i++ ) diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/PrintHapmapGenotypes.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/PrintHapmapGenotypes.java index 006cc469e..cf89cca51 100644 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/PrintHapmapGenotypes.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/PrintHapmapGenotypes.java @@ -2,16 +2,9 @@ package org.broadinstitute.sting.playground.gatk.walkers; import org.broadinstitute.sting.gatk.walkers.*; import org.broadinstitute.sting.gatk.refdata.*; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.utils.*; -import org.broadinstitute.sting.utils.Utils; -import org.broadinstitute.sting.utils.BaseUtils; -import org.broadinstitute.sting.utils.StingException; -import org.broadinstitute.sting.utils.cmdLine.Argument; -import org.broadinstitute.sting.playground.gatk.walkers.varianteval.Histogram; - -import java.util.*; -import java.io.*; // Sanity check to test HapmapGenotypeROD // Compute %dbsnp and transition/transversion rate. @@ -27,7 +20,7 @@ public class PrintHapmapGenotypes extends RefWalker { } - public Integer map(RefMetaDataTracker tracker, char ref, LocusContext context) + public Integer map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { // Iterate over each analysis, and update it //rodDbSNP dbsnp = (rodDbSNP)tracker.lookup("dbsnp", null); diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/PrintRODsWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/PrintRODsWalker.java index 90de621d5..34b97f449 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/PrintRODsWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/PrintRODsWalker.java @@ -1,6 +1,32 @@ +/* + * Copyright (c) 2009 The Broad Institute + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + package org.broadinstitute.sting.playground.gatk.walkers; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.*; import org.broadinstitute.sting.gatk.walkers.*; @@ -25,7 +51,7 @@ public class PrintRODsWalker extends RefWalker { * @param context the context for the given locus * @return 1 if the locus was successfully processed, 0 if otherwise */ - public Integer map(RefMetaDataTracker tracker, char ref, LocusContext context) { + public Integer map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { ReferenceOrderedDatum variant = tracker.lookup("variant", null); if (variant != null ) diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/ReadErrorRateWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/ReadErrorRateWalker.java index eb4bb0303..671ee88c3 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/ReadErrorRateWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/ReadErrorRateWalker.java @@ -1,12 +1,10 @@ package org.broadinstitute.sting.playground.gatk.walkers; -import org.broadinstitute.sting.gatk.LocusContext; import org.broadinstitute.sting.gatk.walkers.ReadWalker; import org.broadinstitute.sting.utils.cmdLine.Argument; import org.broadinstitute.sting.utils.QualityUtils; import org.broadinstitute.sting.utils.BaseUtils; import net.sf.samtools.SAMRecord; -import net.sf.picard.reference.ReferenceSequence; import java.util.Random; diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/ReplaceQuals.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/ReplaceQuals.java index bc2f88916..d5c443ae3 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/ReplaceQuals.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/ReplaceQuals.java @@ -1,16 +1,10 @@ package org.broadinstitute.sting.playground.gatk.walkers; -import org.broadinstitute.sting.gatk.LocusContext; import org.broadinstitute.sting.gatk.walkers.ReadWalker; import org.broadinstitute.sting.utils.cmdLine.Argument; -import org.broadinstitute.sting.utils.QualityUtils; import org.broadinstitute.sting.utils.Pair; -import org.broadinstitute.sting.utils.Utils; import net.sf.samtools.*; -import net.sf.picard.reference.ReferenceSequence; -import java.util.ArrayList; -import java.util.Random; import java.util.HashMap; import java.io.File; diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/SAMToFastqAndSqWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/SAMToFastqAndSqWalker.java index af4f804aa..42994053f 100644 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/SAMToFastqAndSqWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/SAMToFastqAndSqWalker.java @@ -1,7 +1,6 @@ package org.broadinstitute.sting.playground.gatk.walkers; import org.broadinstitute.sting.gatk.walkers.ReadWalker; -import org.broadinstitute.sting.gatk.LocusContext; import org.broadinstitute.sting.utils.cmdLine.Argument; import net.sf.samtools.SAMRecord; diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/SomaticMutationFromGenotypeWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/SomaticMutationFromGenotypeWalker.java index 27f0f1ff5..4219d5723 100644 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/SomaticMutationFromGenotypeWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/SomaticMutationFromGenotypeWalker.java @@ -5,15 +5,13 @@ import java.io.FileWriter; import org.apache.log4j.Logger; import org.broadinstitute.sting.gatk.GATKArgumentCollection; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.ReferenceOrderedDatum; import org.broadinstitute.sting.gatk.refdata.Genotype; import org.broadinstitute.sting.gatk.walkers.RefWalker; -import org.broadinstitute.sting.gatk.walkers.Requires; -import org.broadinstitute.sting.gatk.walkers.DataSource; -import org.broadinstitute.sting.gatk.walkers.RMD; -import org.broadinstitute.sting.gatk.refdata.rodRefSeq; +import org.broadinstitute.sting.gatk.refdata.rodRefSeq; import org.broadinstitute.sting.playground.utils.GenotypingCallStats; import org.broadinstitute.sting.utils.GenotypeUtils; import org.broadinstitute.sting.utils.StingException; @@ -56,7 +54,7 @@ public class SomaticMutationFromGenotypeWalker extends RefWalker { */ public Integer reduceInit() { return 0; } - public Integer map(RefMetaDataTracker tracker, char ref, LocusContext context) { + public Integer map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { AllelicVariant call1 = (AllelicVariant)tracker.lookup("callset1", null); AllelicVariant call2 = (AllelicVariant)tracker.lookup("callset2", null); diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/duplicates/CombineDuplicatesWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/duplicates/CombineDuplicatesWalker.java index 6c00e5e39..894e63f1f 100644 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/duplicates/CombineDuplicatesWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/duplicates/CombineDuplicatesWalker.java @@ -1,18 +1,15 @@ package org.broadinstitute.sting.playground.gatk.walkers; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.walkers.DuplicateWalker; import org.broadinstitute.sting.utils.GenomeLoc; -import org.broadinstitute.sting.utils.Utils; import org.broadinstitute.sting.utils.duplicates.DupUtils; import org.broadinstitute.sting.utils.cmdLine.Argument; import java.util.List; -import java.io.File; import net.sf.samtools.SAMRecord; import net.sf.samtools.SAMFileWriter; -import net.sf.samtools.SAMFileHeader; /** * Created by IntelliJ IDEA. @@ -76,7 +73,7 @@ public class CombineDuplicatesWalker extends DuplicateWalker uniqueReads, List duplicateReads) { //logger.info(String.format("%s has %d duplicates and %d non-duplicates", loc, duplicateReads.size(), uniqueReads.size())); diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/duplicates/CountDuplicatesWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/duplicates/CountDuplicatesWalker.java index 78340f7b6..cb14d1e75 100644 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/duplicates/CountDuplicatesWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/duplicates/CountDuplicatesWalker.java @@ -26,7 +26,7 @@ package org.broadinstitute.sting.playground.gatk.walkers.duplicates; import net.sf.samtools.SAMRecord; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.walkers.DuplicateWalker; import org.broadinstitute.sting.utils.GenomeLoc; @@ -55,12 +55,12 @@ public class CountDuplicatesWalker extends DuplicateWalker uniqueReads, List duplicateReads) { + public DuplicateCount map(GenomeLoc loc, byte[] refBases, AlignmentContext context, List uniqueReads, List duplicateReads) { DuplicateCount dup = new DuplicateCount(); dup.count = 1; dup.undupDepth = uniqueReads.size(); diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/duplicates/DuplicateQualsWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/duplicates/DuplicateQualsWalker.java index dd72d83b1..628af8f24 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/duplicates/DuplicateQualsWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/duplicates/DuplicateQualsWalker.java @@ -26,7 +26,7 @@ package org.broadinstitute.sting.playground.gatk.walkers.duplicates; import net.sf.samtools.SAMRecord; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.walkers.DuplicateWalker; import org.broadinstitute.sting.utils.BaseUtils; import org.broadinstitute.sting.utils.GenomeLoc; @@ -160,7 +160,7 @@ public class DuplicateQualsWalker extends DuplicateWalker, Q } // Print out data for regression - public List map(GenomeLoc loc, byte[] refBases, LocusContext context, + public List map(GenomeLoc loc, byte[] refBases, AlignmentContext context, List uniqueReads, List duplicateReads) { //logger.info(String.format("%s has %d duplicates and %d non-duplicates", loc, duplicateReads.size(), uniqueReads.size())); diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/indels/CoverageGapIntervalWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/indels/CoverageGapIntervalWalker.java index a5cac9591..0c1b787da 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/indels/CoverageGapIntervalWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/indels/CoverageGapIntervalWalker.java @@ -3,7 +3,8 @@ package org.broadinstitute.sting.playground.gatk.walkers.indels; import net.sf.samtools.*; import org.broadinstitute.sting.gatk.refdata.*; import org.broadinstitute.sting.gatk.walkers.LocusWalker; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.utils.*; import org.broadinstitute.sting.gatk.walkers.WalkerName; @@ -16,7 +17,7 @@ public class CoverageGapIntervalWalker extends LocusWalker reads = context.getReads(); for (int i = 0; i < reads.size(); i++ ) { @@ -26,7 +27,7 @@ public class CoverageGapIntervalWalker extends LocusWalker= minReadsAtInterval; } - public Pair map(RefMetaDataTracker tracker, char ref, LocusContext context) { + public Pair map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { // find the probability that this locus has a statistically significant gap in coverage List reads = context.getReads(); List offsets = context.getOffsets(); diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/BasicVariantAnalysis.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/BasicVariantAnalysis.java index bb0702a76..71c31f6ca 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/BasicVariantAnalysis.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/BasicVariantAnalysis.java @@ -1,8 +1,8 @@ package org.broadinstitute.sting.playground.gatk.walkers.varianteval; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.refdata.AllelicVariant; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.LocusContext; import java.io.PrintStream; import java.util.List; @@ -62,5 +62,5 @@ public abstract class BasicVariantAnalysis implements VariantAnalysis { } - public abstract String update(AllelicVariant eval, RefMetaDataTracker tracker, char ref, LocusContext context); + public abstract String update(AllelicVariant eval, RefMetaDataTracker tracker, char ref, AlignmentContext context); } \ No newline at end of file diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/CallableBasesAnalysis.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/CallableBasesAnalysis.java index f237dfd69..e7c80fde5 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/CallableBasesAnalysis.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/CallableBasesAnalysis.java @@ -2,11 +2,9 @@ package org.broadinstitute.sting.playground.gatk.walkers.varianteval; import org.broadinstitute.sting.gatk.refdata.AllelicVariant; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; -import java.io.PrintStream; import java.util.List; -import java.util.Arrays; import java.util.ArrayList; /** @@ -38,7 +36,7 @@ public class CallableBasesAnalysis extends BasicVariantAnalysis implements Genot public long nGenotypable(int index) { return genotypable_bases[index]; } public double percentGenotypable(int index) { return (100.0*nGenotypable(index)) / nSites(); } - public String update(AllelicVariant eval, RefMetaDataTracker tracker, char ref, LocusContext context) { + public String update(AllelicVariant eval, RefMetaDataTracker tracker, char ref, AlignmentContext context) { all_bases++; if ( eval == null ) // no data here! diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/ClusterCounterAnalysis.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/ClusterCounterAnalysis.java index e4beb9c5e..4f104c935 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/ClusterCounterAnalysis.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/ClusterCounterAnalysis.java @@ -3,14 +3,12 @@ package org.broadinstitute.sting.playground.gatk.walkers.varianteval; import org.broadinstitute.sting.gatk.refdata.AllelicVariant; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.IntervalRod; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.utils.GenomeLoc; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.HashSet; -import java.io.PrintStream; /** * The Broad Institute @@ -37,7 +35,7 @@ public class ClusterCounterAnalysis extends BasicVariantAnalysis implements Geno variantsWithClusters.add(new HashSet()); } - public String update(AllelicVariant eval, RefMetaDataTracker tracker, char ref, LocusContext context) { + public String update(AllelicVariant eval, RefMetaDataTracker tracker, char ref, AlignmentContext context) { String r = null; if ( eval != null && eval.isSNP() ) { diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/GenotypeAnalysis.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/GenotypeAnalysis.java index 9ee287b56..895f552d6 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/GenotypeAnalysis.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/GenotypeAnalysis.java @@ -1,11 +1,6 @@ package org.broadinstitute.sting.playground.gatk.walkers.varianteval; -import org.broadinstitute.sting.gatk.refdata.AllelicVariant; -import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.LocusContext; - -import java.io.PrintStream; -import java.util.List; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; /** diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/GenotypeConcordance.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/GenotypeConcordance.java index d2448518e..1473dd792 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/GenotypeConcordance.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/GenotypeConcordance.java @@ -1,7 +1,7 @@ package org.broadinstitute.sting.playground.gatk.walkers.varianteval; import org.broadinstitute.sting.gatk.refdata.*; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.utils.*; import java.util.List; @@ -75,7 +75,7 @@ public class GenotypeConcordance extends BasicVariantAnalysis implements Genotyp } } - public String update(AllelicVariant eval, RefMetaDataTracker tracker, char ref, LocusContext context) { + public String update(AllelicVariant eval, RefMetaDataTracker tracker, char ref, AlignmentContext context) { AllelicVariant chip = (AllelicVariant)tracker.lookup(dbName, null); inc(chip, eval, ref); return null; diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/HardyWeinbergEquilibrium.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/HardyWeinbergEquilibrium.java index 09244162c..5863d9af8 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/HardyWeinbergEquilibrium.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/HardyWeinbergEquilibrium.java @@ -1,15 +1,12 @@ package org.broadinstitute.sting.playground.gatk.walkers.varianteval; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.refdata.AllelicVariant; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.SNPCallFromGenotypes; -import org.broadinstitute.sting.gatk.refdata.PooledEMSNPROD; -import org.broadinstitute.sting.gatk.LocusContext; -import org.broadinstitute.sting.utils.BaseUtils; import org.broadinstitute.sting.utils.MathUtils; import org.broadinstitute.sting.utils.genotype.HardyWeinbergCalculation; -import java.io.PrintStream; import java.util.ArrayList; import java.util.List; @@ -35,7 +32,7 @@ public class HardyWeinbergEquilibrium extends ViolationVariantAnalysis implement this.threshold = threshold; } - public String update(AllelicVariant eval, RefMetaDataTracker tracker, char ref, LocusContext context) { + public String update(AllelicVariant eval, RefMetaDataTracker tracker, char ref, AlignmentContext context) { String r = null; if ( eval != null && diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/IndelMetricsAnalysis.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/IndelMetricsAnalysis.java index 2e20abe23..0c599bff8 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/IndelMetricsAnalysis.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/IndelMetricsAnalysis.java @@ -1,8 +1,8 @@ package org.broadinstitute.sting.playground.gatk.walkers.varianteval; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.refdata.AllelicVariant; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.LocusContext; import java.util.List; import java.util.ArrayList; @@ -29,7 +29,7 @@ public class IndelMetricsAnalysis extends BasicVariantAnalysis implements Genoty sizes[0][i] = sizes[1][i] = 0; } - public String update(AllelicVariant eval, RefMetaDataTracker tracker, char ref, LocusContext context) { + public String update(AllelicVariant eval, RefMetaDataTracker tracker, char ref, AlignmentContext context) { if ( eval != null && eval.isIndel() ) { if ( eval.isInsertion() ) insertions++; diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/NeighborDistanceAnalysis.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/NeighborDistanceAnalysis.java index 02c4e5e8e..213722059 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/NeighborDistanceAnalysis.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/NeighborDistanceAnalysis.java @@ -3,15 +3,13 @@ package org.broadinstitute.sting.playground.gatk.walkers.varianteval; import org.broadinstitute.sting.gatk.refdata.AllelicVariant; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.IntervalRod; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.utils.GenomeLoc; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.io.PrintStream; -import java.io.File; -import java.io.FileNotFoundException; /** * The Broad Institute @@ -36,7 +34,7 @@ public class NeighborDistanceAnalysis extends ViolationVariantAnalysis implement neighborWiseDistances = new ArrayList(); } - public String update(AllelicVariant eval, RefMetaDataTracker tracker, char ref, LocusContext context) { + public String update(AllelicVariant eval, RefMetaDataTracker tracker, char ref, AlignmentContext context) { String r = null; if ( eval != null && eval.isSNP() ) { diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/PopulationAnalysis.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/PopulationAnalysis.java index d479f94a6..5e44df52b 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/PopulationAnalysis.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/PopulationAnalysis.java @@ -1,13 +1,5 @@ package org.broadinstitute.sting.playground.gatk.walkers.varianteval; -import org.broadinstitute.sting.gatk.refdata.AllelicVariant; -import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.LocusContext; - -import java.io.PrintStream; -import java.util.List; - - /** * The Broad Institute * SOFTWARE COPYRIGHT NOTICE AGREEMENT diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/TransitionTranversionAnalysis.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/TransitionTranversionAnalysis.java index 4c529caba..09a338058 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/TransitionTranversionAnalysis.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/TransitionTranversionAnalysis.java @@ -2,10 +2,9 @@ package org.broadinstitute.sting.playground.gatk.walkers.varianteval; import org.broadinstitute.sting.gatk.refdata.AllelicVariant; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.utils.BaseUtils; -import java.io.PrintStream; import java.util.ArrayList; import java.util.List; @@ -26,7 +25,7 @@ public class TransitionTranversionAnalysis extends BasicVariantAnalysis implemen super("transitions_transversions"); } - public String update(AllelicVariant eval, RefMetaDataTracker tracker, char ref, LocusContext context) { + public String update(AllelicVariant eval, RefMetaDataTracker tracker, char ref, AlignmentContext context) { if ( eval != null && eval.isSNP() ) { char refBase = eval.getRefSnpFWD(); char altBase = eval.getAltSnpFWD(); diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/VariantAnalysis.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/VariantAnalysis.java index a8b25edaf..b4625a1e3 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/VariantAnalysis.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/VariantAnalysis.java @@ -2,7 +2,7 @@ package org.broadinstitute.sting.playground.gatk.walkers.varianteval; import org.broadinstitute.sting.gatk.refdata.AllelicVariant; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import java.io.PrintStream; import java.util.List; @@ -23,7 +23,7 @@ public interface VariantAnalysis { public PrintStream getCallPrintStream(); public List getParams(); public void initialize(VariantEvalWalker master, PrintStream out, String filename); - public String update(AllelicVariant eval, RefMetaDataTracker tracker, char ref, LocusContext context); + public String update(AllelicVariant eval, RefMetaDataTracker tracker, char ref, AlignmentContext context); public void finalize(long nSites); public List done(); } diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/VariantCounter.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/VariantCounter.java index d0a32708c..2db24fc06 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/VariantCounter.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/VariantCounter.java @@ -2,9 +2,8 @@ package org.broadinstitute.sting.playground.gatk.walkers.varianteval; import org.broadinstitute.sting.gatk.refdata.AllelicVariant; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; -import java.io.PrintStream; import java.util.List; import java.util.ArrayList; @@ -26,7 +25,7 @@ public class VariantCounter extends BasicVariantAnalysis implements GenotypeAnal super("variant_counts"); } - public String update(AllelicVariant eval, RefMetaDataTracker tracker, char ref, LocusContext context) { + public String update(AllelicVariant eval, RefMetaDataTracker tracker, char ref, AlignmentContext context) { nSNPs += eval == null ? 0 : 1; return null; } diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/VariantDBCoverage.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/VariantDBCoverage.java index 11a9bab79..0124b5e47 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/VariantDBCoverage.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/VariantDBCoverage.java @@ -2,7 +2,7 @@ package org.broadinstitute.sting.playground.gatk.walkers.varianteval; import org.broadinstitute.sting.gatk.refdata.AllelicVariant; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import java.util.List; import java.util.ArrayList; @@ -48,7 +48,7 @@ public class VariantDBCoverage extends BasicVariantAnalysis implements GenotypeA return nOverlappingSites() / (1.0 * nEvalSites()); } - public String update(AllelicVariant eval, RefMetaDataTracker tracker, char ref, LocusContext context) { + public String update(AllelicVariant eval, RefMetaDataTracker tracker, char ref, AlignmentContext context) { // There are four cases here: AllelicVariant dbsnp = (AllelicVariant)tracker.lookup(dbName, null); inc(dbsnp != null, eval != null); diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/VariantEvalWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/VariantEvalWalker.java index ec68f1c32..29f5c4d2b 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/VariantEvalWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/VariantEvalWalker.java @@ -1,6 +1,7 @@ package org.broadinstitute.sting.playground.gatk.walkers.varianteval; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.AllelicVariant; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.SNPCallFromGenotypes; @@ -148,7 +149,7 @@ public class VariantEvalWalker extends RefWalker { } } - public Integer map(RefMetaDataTracker tracker, char ref, LocusContext context) { + public Integer map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { nSites++; // Iterate over each analysis, and update it @@ -166,13 +167,13 @@ public class VariantEvalWalker extends RefWalker { } // update stats about all of the SNPs - updateAnalysisSet(ALL_SNPS, eval, tracker, ref, context); + updateAnalysisSet(ALL_SNPS, eval, tracker, ref.getBase(), context); // update the known / novel set by checking whether the knownSNPDBName track has an entry here if ( eval != null ) { AllelicVariant dbsnp = (AllelicVariant)tracker.lookup(knownSNPDBName, null); String noveltySet = dbsnp == null ? NOVEL_SNPS : KNOWN_SNPS; - updateAnalysisSet(noveltySet, eval, tracker, ref, context); + updateAnalysisSet(noveltySet, eval, tracker, ref.getBase(), context); } if ( eval instanceof SNPCallFromGenotypes ) { @@ -180,7 +181,7 @@ public class VariantEvalWalker extends RefWalker { int nVarGenotypes = call.nHetGenotypes() + call.nHomVarGenotypes(); //System.out.printf("%d variant genotypes at %s%n", nVarGenotypes, calls); final String s = nVarGenotypes == 1 ? SINGLETON_SNPS : TWOHIT_SNPS; - updateAnalysisSet(s, eval, tracker, ref, context); + updateAnalysisSet(s, eval, tracker, ref.getBase(), context); } return 1; @@ -188,7 +189,7 @@ public class VariantEvalWalker extends RefWalker { public void updateAnalysisSet(final String analysisSetName, AllelicVariant eval, - RefMetaDataTracker tracker, char ref, LocusContext context) { + RefMetaDataTracker tracker, char ref, AlignmentContext context) { // Iterate over each analysis, and update it for ( VariantAnalysis analysis : getAnalysisSet(analysisSetName) ) { String s = analysis.update(eval, tracker, ref, context); diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/VariantMatcher.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/VariantMatcher.java index 14d280d63..d1eab6eb8 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/VariantMatcher.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/VariantMatcher.java @@ -2,12 +2,7 @@ package org.broadinstitute.sting.playground.gatk.walkers.varianteval; import org.broadinstitute.sting.gatk.refdata.AllelicVariant; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.LocusContext; - -import java.io.PrintStream; -import java.util.List; -import java.util.Arrays; -import java.util.ArrayList; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; /** * The Broad Institute @@ -27,7 +22,7 @@ public class VariantMatcher extends BasicVariantAnalysis implements GenotypeAnal dbName = name; } - public String update(AllelicVariant eval, RefMetaDataTracker tracker, char ref, LocusContext context) { + public String update(AllelicVariant eval, RefMetaDataTracker tracker, char ref, AlignmentContext context) { String r = null; AllelicVariant db = (AllelicVariant)tracker.lookup(dbName, null); diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/ViolationVariantAnalysis.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/ViolationVariantAnalysis.java index 479efa4b5..9354b817b 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/ViolationVariantAnalysis.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/varianteval/ViolationVariantAnalysis.java @@ -25,15 +25,6 @@ package org.broadinstitute.sting.playground.gatk.walkers.varianteval; -import org.broadinstitute.sting.gatk.refdata.AllelicVariant; -import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.refdata.IntervalRod; -import org.broadinstitute.sting.gatk.LocusContext; -import org.broadinstitute.sting.utils.GenomeLoc; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; import java.io.PrintStream; import java.io.File; import java.io.FileNotFoundException; diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/ClusteredSNPFilterWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/ClusteredSNPFilterWalker.java index 69938b12f..db1879393 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/ClusteredSNPFilterWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/ClusteredSNPFilterWalker.java @@ -1,6 +1,7 @@ package org.broadinstitute.sting.playground.gatk.walkers.variants; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.rodVariants; import org.broadinstitute.sting.gatk.walkers.DataSource; @@ -65,7 +66,7 @@ public class ClusteredSNPFilterWalker extends RefWalker { * @param context the context for the given locus * @return 1 if the locus was successfully processed, 0 if otherwise */ - public Integer map(RefMetaDataTracker tracker, char ref, LocusContext context) { + public Integer map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { rodVariants variant = (rodVariants)tracker.lookup("variant", null); if (variant != null ) { diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFBinomialStrand.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFBinomialStrand.java index 8a20ba58a..8e1a9f7e8 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFBinomialStrand.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFBinomialStrand.java @@ -1,7 +1,7 @@ package org.broadinstitute.sting.playground.gatk.walkers.variants; import net.sf.samtools.SAMRecord; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.utils.MathUtils; import org.broadinstitute.sting.utils.ReadBackedPileup; @@ -18,7 +18,7 @@ public class IVFBinomialStrand implements IndependentVariantFeature { } } - public void compute(char ref, LocusContext context) { + public void compute(char ref, AlignmentContext context) { likelihoods = new double[10]; ReadBackedPileup pileup = new ReadBackedPileup(ref, context); diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFNull.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFNull.java index d859b81cf..3986ae35c 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFNull.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFNull.java @@ -1,11 +1,11 @@ package org.broadinstitute.sting.playground.gatk.walkers.variants; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; public class IVFNull implements IndependentVariantFeature { public void initialize(String arguments) {} - public void compute(char ref, LocusContext context) { + public void compute(char ref, AlignmentContext context) { } public double[] getLikelihoods() { diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFPrimaryBases.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFPrimaryBases.java index ef12fc5bb..1f7d07826 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFPrimaryBases.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFPrimaryBases.java @@ -1,6 +1,6 @@ package org.broadinstitute.sting.playground.gatk.walkers.variants; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.utils.MathUtils; import org.broadinstitute.sting.utils.ReadBackedPileup; @@ -33,7 +33,7 @@ public class IVFPrimaryBases implements IndependentVariantFeature { * @param context the context for the given locus * @return a ten-element array of log-likelihood result of the feature applied to each genotype */ - public void compute(char ref, LocusContext context) { + public void compute(char ref, AlignmentContext context) { likelihoods = new double[10]; ReadBackedPileup pileup = new ReadBackedPileup(ref, context); diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFSecondaryBases.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFSecondaryBases.java index 611f6a2b7..f39fe1a74 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFSecondaryBases.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFSecondaryBases.java @@ -1,6 +1,6 @@ package org.broadinstitute.sting.playground.gatk.walkers.variants; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.utils.MathUtils; import org.broadinstitute.sting.utils.ReadBackedPileup; @@ -60,7 +60,7 @@ public class IVFSecondaryBases implements IndependentVariantFeature { * @param context the context for the given locus * @return a ten-element array of log-likelihood result of the feature applied to each genotype */ - public void compute(char ref, LocusContext context) { + public void compute(char ref, AlignmentContext context) { likelihoods = new double[10]; ReadBackedPileup pileup = new ReadBackedPileup(ref, context); diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IndependentVariantFeature.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IndependentVariantFeature.java index 3943c6c46..01cd630c5 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IndependentVariantFeature.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IndependentVariantFeature.java @@ -1,6 +1,6 @@ package org.broadinstitute.sting.playground.gatk.walkers.variants; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; /** * Interface for conditionally independent variant features. @@ -26,7 +26,7 @@ public interface IndependentVariantFeature { * @param ref the reference base * @param context the context for the given locus */ - public void compute(char ref, LocusContext context); + public void compute(char ref, AlignmentContext context); public double[] getLikelihoods(); diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/RatioFilter.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/RatioFilter.java index a4d4462fe..bd8089ce3 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/RatioFilter.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/RatioFilter.java @@ -1,6 +1,6 @@ package org.broadinstitute.sting.playground.gatk.walkers.variants; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.refdata.rodVariants; import org.broadinstitute.sting.gatk.refdata.TabularROD; import org.broadinstitute.sting.utils.*; @@ -13,8 +13,6 @@ import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; -import edu.mit.broad.picard.util.MathUtil; - class GenotypeFeatureData extends ArrayList { public enum Tail { LeftTailed, RightTailed, TwoTailed } @@ -257,7 +255,7 @@ public abstract class RatioFilter implements VariantExclusionCriterion { public boolean useZeroQualityReads() { return false; } - public void compute(char ref, LocusContext context, rodVariants variant) { + public void compute(char ref, AlignmentContext context, rodVariants variant) { boolean exclude = false; ReadBackedPileup pileup = new ReadBackedPileup(ref, context); diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECAlleleBalance.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECAlleleBalance.java index d79ed723a..b18264000 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECAlleleBalance.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECAlleleBalance.java @@ -1,7 +1,7 @@ package org.broadinstitute.sting.playground.gatk.walkers.variants; import org.broadinstitute.sting.gatk.refdata.rodVariants; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.utils.ReadBackedPileup; import org.broadinstitute.sting.utils.Utils; import org.broadinstitute.sting.utils.Pair; @@ -58,7 +58,7 @@ public class VECAlleleBalance implements VariantExclusionCriterion { //extends return new Pair(major, minor); } - public void compute(char ref, LocusContext context, rodVariants variant) { + public void compute(char ref, AlignmentContext context, rodVariants variant) { ReadBackedPileup pileup = new ReadBackedPileup(ref, context); Pair counts = scoreVariant(ref, pileup, variant); int n = counts.first + counts.second; diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECDepthOfCoverage.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECDepthOfCoverage.java index d3e8c8f9b..de2e564f7 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECDepthOfCoverage.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECDepthOfCoverage.java @@ -1,6 +1,6 @@ package org.broadinstitute.sting.playground.gatk.walkers.variants; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.refdata.rodVariants; /** @@ -22,7 +22,7 @@ public class VECDepthOfCoverage implements VariantExclusionCriterion { } } - public void compute(char ref, LocusContext context, rodVariants variant) { + public void compute(char ref, AlignmentContext context, rodVariants variant) { exclude = context.getReads().size() > maximum; depth = context.getReads().size(); } diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECFisherStrand.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECFisherStrand.java index 7a1ba608b..3cb62e028 100644 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECFisherStrand.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECFisherStrand.java @@ -1,6 +1,6 @@ package org.broadinstitute.sting.playground.gatk.walkers.variants; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.refdata.rodVariants; import org.broadinstitute.sting.utils.BaseUtils; import net.sf.samtools.SAMRecord; @@ -22,7 +22,7 @@ public class VECFisherStrand implements VariantExclusionCriterion { factorials.add(0.0); // add fact(0) } - public void compute(char ref, LocusContext context, rodVariants variant) { + public void compute(char ref, AlignmentContext context, rodVariants variant) { int allele1 = BaseUtils.simpleBaseToBaseIndex(variant.getBestGenotype().charAt(0)); int allele2 = BaseUtils.simpleBaseToBaseIndex(variant.getBestGenotype().charAt(1)); @@ -47,7 +47,7 @@ public class VECFisherStrand implements VariantExclusionCriterion { public boolean useZeroQualityReads() { return false; } - public boolean strandTest(char ref, LocusContext context, int allele1, int allele2, double threshold, StringBuffer out) { + public boolean strandTest(char ref, AlignmentContext context, int allele1, int allele2, double threshold, StringBuffer out) { int[][] table = getContingencyTable(context, allele1, allele2); if ( !variantIsHet(table) ) return false; @@ -185,7 +185,7 @@ public class VECFisherStrand implements VariantExclusionCriterion { * @param allele2 information for the called variant * @return a 2x2 contingency table */ - private static int[][] getContingencyTable(LocusContext context, int allele1, int allele2) { + private static int[][] getContingencyTable(AlignmentContext context, int allele1, int allele2) { int[][] table = new int[2][2]; diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECHomopolymer.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECHomopolymer.java index 03e5aadbf..230cf8677 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECHomopolymer.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECHomopolymer.java @@ -1,6 +1,6 @@ package org.broadinstitute.sting.playground.gatk.walkers.variants; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.refdata.rodVariants; import org.broadinstitute.sting.utils.BaseUtils; import org.broadinstitute.sting.utils.fasta.IndexedFastaSequenceFile; @@ -54,7 +54,7 @@ public class VECHomopolymer implements VariantExclusionCriterion { return ""; } - public void compute(char ref, LocusContext context, rodVariants variant) { + public void compute(char ref, AlignmentContext context, rodVariants variant) { char[] geno = variant.getBestGenotype().toCharArray(); int[] genotype = {-1,-1}; diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECLodThreshold.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECLodThreshold.java index c90595240..d0fee764f 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECLodThreshold.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECLodThreshold.java @@ -1,7 +1,7 @@ package org.broadinstitute.sting.playground.gatk.walkers.variants; import org.broadinstitute.sting.gatk.refdata.rodVariants; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; public class VECLodThreshold implements VariantExclusionCriterion { private double lodThreshold = 5.0; @@ -14,7 +14,7 @@ public class VECLodThreshold implements VariantExclusionCriterion { } } - public void compute(char ref, LocusContext context, rodVariants variant) { + public void compute(char ref, AlignmentContext context, rodVariants variant) { lod = variant.getLodBtr(); exclude = lod < lodThreshold; } diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECMappingQuality.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECMappingQuality.java index 021adaf7f..8ea872dba 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECMappingQuality.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECMappingQuality.java @@ -1,6 +1,6 @@ package org.broadinstitute.sting.playground.gatk.walkers.variants; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.refdata.rodVariants; import org.broadinstitute.sting.utils.MathUtils; import net.sf.samtools.SAMRecord; @@ -19,7 +19,7 @@ public class VECMappingQuality implements VariantExclusionCriterion { } } - public void compute(char ref, LocusContext context, rodVariants variant) { + public void compute(char ref, AlignmentContext context, rodVariants variant) { List reads = context.getReads(); int[] qualities = new int[reads.size()]; for (int i=0; i < reads.size(); i++) diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECNull.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECNull.java index acb2f66df..2bf786913 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECNull.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECNull.java @@ -1,13 +1,13 @@ package org.broadinstitute.sting.playground.gatk.walkers.variants; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.refdata.rodVariants; public class VECNull implements VariantExclusionCriterion { public void initialize(String arguments) { } - public void compute(char ref, LocusContext context, rodVariants variant) { + public void compute(char ref, AlignmentContext context, rodVariants variant) { } public boolean isExcludable() { diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECOnOffGenotypeRatio.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECOnOffGenotypeRatio.java index 89937470c..d48fbbf12 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECOnOffGenotypeRatio.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECOnOffGenotypeRatio.java @@ -1,7 +1,7 @@ package org.broadinstitute.sting.playground.gatk.walkers.variants; import org.broadinstitute.sting.gatk.refdata.rodVariants; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.utils.*; public class VECOnOffGenotypeRatio implements VariantExclusionCriterion { // extends RatioFilter { @@ -55,7 +55,7 @@ public class VECOnOffGenotypeRatio implements VariantExclusionCriterion { // ext return new Pair(on, off); } - public void compute(char ref, LocusContext context, rodVariants variant) { + public void compute(char ref, AlignmentContext context, rodVariants variant) { ReadBackedPileup pileup = new ReadBackedPileup(ref, context); Pair counts = scoreVariant(ref, pileup, variant); int n = counts.first + counts.second; diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VariantExclusionCriterion.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VariantExclusionCriterion.java index 41220572d..3b6c95a5a 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VariantExclusionCriterion.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VariantExclusionCriterion.java @@ -1,12 +1,12 @@ package org.broadinstitute.sting.playground.gatk.walkers.variants; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.refdata.rodVariants; public interface VariantExclusionCriterion { public void initialize(String arguments); - public void compute(char ref, LocusContext context, rodVariants variant); + public void compute(char ref, AlignmentContext context, rodVariants variant); public boolean isExcludable(); diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VariantFiltrationWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VariantFiltrationWalker.java index 48e50ea74..1303d9341 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VariantFiltrationWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VariantFiltrationWalker.java @@ -1,6 +1,7 @@ package org.broadinstitute.sting.playground.gatk.walkers.variants; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.*; import org.broadinstitute.sting.gatk.walkers.*; import org.broadinstitute.sting.utils.*; @@ -181,7 +182,7 @@ public class VariantFiltrationWalker extends LocusWalker { * @param context the context for the given locus * @return 1 if the locus was successfully processed, 0 if otherwise */ - public Integer map(RefMetaDataTracker tracker, char ref, LocusContext context) { + public Integer map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { rodVariants variant = (rodVariants) tracker.lookup("variant", null); rodGFF hapmapSite = null; @@ -193,7 +194,7 @@ public class VariantFiltrationWalker extends LocusWalker { } // Ignore places where we don't have a variant or where the reference base is ambiguous. - if (variant != null && (!TRUTH || hapmapSite != null) && BaseUtils.simpleBaseToBaseIndex(ref) != -1) { + if (variant != null && (!TRUTH || hapmapSite != null) && BaseUtils.simpleBaseToBaseIndex(ref.getBase()) != -1) { if (VERBOSE) { out.println("Original:\n " + variant); } if (LEARNING) { @@ -202,7 +203,7 @@ public class VariantFiltrationWalker extends LocusWalker { // Apply features that modify the likelihoods and LOD scores for ( IndependentVariantFeature ivf : requestedFeatures ) { - ivf.compute(ref, context); + ivf.compute(ref.getBase(), context); double[] weights = ivf.getLikelihoods(); @@ -220,10 +221,10 @@ public class VariantFiltrationWalker extends LocusWalker { // we need to provide an alternative context without mapping quality 0 reads // for those exclusion criterion that don't want them - LocusContext Q0freeContext = removeQ0reads(context); + AlignmentContext Q0freeContext = removeQ0reads(context); for ( VariantExclusionCriterion vec : requestedExclusions ) { - vec.compute(ref, (vec.useZeroQualityReads() ? context : Q0freeContext), variant); + vec.compute(ref.getBase(), (vec.useZeroQualityReads() ? context : Q0freeContext), variant); String exclusionClassName = rationalizeClassName(vec.getClass()); @@ -269,7 +270,7 @@ public class VariantFiltrationWalker extends LocusWalker { return 0; } - private LocusContext removeQ0reads(LocusContext context) { + private AlignmentContext removeQ0reads(AlignmentContext context) { // set up the variables List reads = context.getReads(); List offsets = context.getOffsets(); @@ -288,7 +289,7 @@ public class VariantFiltrationWalker extends LocusWalker { } } - return new LocusContext(context.getLocation(), Q0freeReads, Q0freeOffsets); + return new AlignmentContext(context.getLocation(), Q0freeReads, Q0freeOffsets); } /** diff --git a/java/src/org/broadinstitute/sting/utils/BasicPileup.java b/java/src/org/broadinstitute/sting/utils/BasicPileup.java index 972214a45..5d439a228 100755 --- a/java/src/org/broadinstitute/sting/utils/BasicPileup.java +++ b/java/src/org/broadinstitute/sting/utils/BasicPileup.java @@ -1,6 +1,5 @@ package org.broadinstitute.sting.utils; -import org.broadinstitute.sting.gatk.LocusContext; import net.sf.samtools.*; import java.util.List; diff --git a/java/src/org/broadinstitute/sting/utils/ReadBackedPileup.java b/java/src/org/broadinstitute/sting/utils/ReadBackedPileup.java index 31a374e0f..5ae37eb46 100755 --- a/java/src/org/broadinstitute/sting/utils/ReadBackedPileup.java +++ b/java/src/org/broadinstitute/sting/utils/ReadBackedPileup.java @@ -1,10 +1,9 @@ package org.broadinstitute.sting.utils; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import net.sf.samtools.SAMRecord; import java.util.List; -import java.util.ArrayList; /** * Created by IntelliJ IDEA. @@ -19,7 +18,7 @@ public class ReadBackedPileup extends BasicPileup { List reads; List offsets; - public ReadBackedPileup(char ref, LocusContext context ) { + public ReadBackedPileup(char ref, AlignmentContext context ) { this(context.getLocation(), ref, context.getReads(), context.getOffsets()); } diff --git a/java/src/org/broadinstitute/sting/utils/sam/ArtificialReadsTraversal.java b/java/src/org/broadinstitute/sting/utils/sam/ArtificialReadsTraversal.java index 87ab360af..d2d59c924 100644 --- a/java/src/org/broadinstitute/sting/utils/sam/ArtificialReadsTraversal.java +++ b/java/src/org/broadinstitute/sting/utils/sam/ArtificialReadsTraversal.java @@ -6,7 +6,7 @@ import org.broadinstitute.sting.gatk.walkers.Walker; import org.broadinstitute.sting.gatk.walkers.ReadWalker; import org.broadinstitute.sting.gatk.datasources.shards.Shard; import org.broadinstitute.sting.gatk.datasources.providers.ShardDataProvider; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.apache.log4j.Logger; import net.sf.samtools.SAMRecord; @@ -103,8 +103,8 @@ public class ArtificialReadsTraversal extends TraversalEngine { // while we still have more reads for (SAMRecord read : iter) { - // our locus context - LocusContext locus = null; + // our alignment context + AlignmentContext alignment = null; // an array of characters that represent the reference char[] refSeq = null; @@ -118,7 +118,7 @@ public class ArtificialReadsTraversal extends TraversalEngine { sum = readWalker.reduce(x, sum); } - if (locus != null) { printProgress("loci", locus.getLocation()); } + if (alignment != null) { printProgress("loci", alignment.getLocation()); } } return sum; } diff --git a/java/test/org/broadinstitute/sting/gatk/datasources/providers/AllLocusViewTest.java b/java/test/org/broadinstitute/sting/gatk/datasources/providers/AllLocusViewTest.java index 394ce9c3b..f7a8d56d2 100755 --- a/java/test/org/broadinstitute/sting/gatk/datasources/providers/AllLocusViewTest.java +++ b/java/test/org/broadinstitute/sting/gatk/datasources/providers/AllLocusViewTest.java @@ -3,7 +3,7 @@ package org.broadinstitute.sting.gatk.datasources.providers; import org.junit.Assert; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import net.sf.samtools.SAMRecord; import java.util.List; @@ -42,7 +42,7 @@ public class AllLocusViewTest extends LocusViewTemplate { for( long i = bounds.getStart(); i <= bounds.getStop(); i++ ) { GenomeLoc site = GenomeLocParser.createGenomeLoc("chr1",i); - LocusContext locusContext = allLocusView.next(); + AlignmentContext locusContext = allLocusView.next(); Assert.assertEquals("Locus context location is incorrect", site, locusContext.getLocation() ); int expectedReadsAtSite = 0; diff --git a/java/test/org/broadinstitute/sting/gatk/datasources/providers/CoveredLocusViewTest.java b/java/test/org/broadinstitute/sting/gatk/datasources/providers/CoveredLocusViewTest.java index d5fb19c53..fb10d2ae6 100755 --- a/java/test/org/broadinstitute/sting/gatk/datasources/providers/CoveredLocusViewTest.java +++ b/java/test/org/broadinstitute/sting/gatk/datasources/providers/CoveredLocusViewTest.java @@ -3,7 +3,7 @@ package org.broadinstitute.sting.gatk.datasources.providers; import org.junit.Assert; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; -import org.broadinstitute.sting.gatk.LocusContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import net.sf.samtools.SAMRecord; import java.util.List; @@ -57,7 +57,7 @@ public class CoveredLocusViewTest extends LocusViewTemplate { Assert.assertTrue("Incorrect number of loci in view",coveredLocusView.hasNext()); - LocusContext locusContext = coveredLocusView.next(); + AlignmentContext locusContext = coveredLocusView.next(); Assert.assertEquals("Target locus context location is incorrect", site, locusContext.getLocation() ); Assert.assertEquals("Found wrong number of reads at site", expectedReadsAtSite, locusContext.getReads().size()); diff --git a/java/test/org/broadinstitute/sting/gatk/datasources/providers/LocusViewTemplate.java b/java/test/org/broadinstitute/sting/gatk/datasources/providers/LocusViewTemplate.java index e097e2eb8..c68980708 100755 --- a/java/test/org/broadinstitute/sting/gatk/datasources/providers/LocusViewTemplate.java +++ b/java/test/org/broadinstitute/sting/gatk/datasources/providers/LocusViewTemplate.java @@ -43,7 +43,7 @@ public abstract class LocusViewTemplate extends BaseTest { } @Test - public void emptyLocusContextTest() { + public void emptyAlignmentContextTest() { SAMRecordIterator iterator = new SAMRecordIterator(); GenomeLoc shardBounds = GenomeLocParser.createGenomeLoc("chr1",1,5);