From e7f5c93fe5c0760cba808223b365f455917e8e17 Mon Sep 17 00:00:00 2001 From: hanna Date: Fri, 29 Jan 2010 19:13:36 +0000 Subject: [PATCH] Cleaning up the inheritance hierarchy from the previous commit. git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@2738 348d0f76-0448-11de-a6fe-93d51630548a --- java/src/net/sf/samtools/BAMFileReader2.java | 2 +- java/src/net/sf/samtools/SAMFileReader2.java | 12 +---- .../shards/BAMFormatAwareShard.java | 19 ++++++++ .../shards/BlockDelimitedReadShard.java | 2 +- .../shards/IndexDelimitedLocusShard.java | 47 ++++++++----------- .../IndexDelimitedLocusShardStrategy.java | 2 +- .../gatk/datasources/shards/LocusShard.java | 21 +++------ .../shards/LocusShardStrategy.java | 5 +- .../BlockDrivenSAMDataSource.java | 30 +++++------- .../providers/LocusReferenceViewTest.java | 8 ++-- .../providers/LocusViewTemplate.java | 24 +++++----- .../providers/ReferenceOrderedViewTest.java | 6 +-- 12 files changed, 84 insertions(+), 94 deletions(-) create mode 100644 java/src/org/broadinstitute/sting/gatk/datasources/shards/BAMFormatAwareShard.java diff --git a/java/src/net/sf/samtools/BAMFileReader2.java b/java/src/net/sf/samtools/BAMFileReader2.java index f41b46998..54a23b090 100644 --- a/java/src/net/sf/samtools/BAMFileReader2.java +++ b/java/src/net/sf/samtools/BAMFileReader2.java @@ -41,7 +41,7 @@ import java.net.URL; * Internal class for reading and querying BAM files. */ class BAMFileReader2 - extends SAMFileReader2.ReaderImplementation2 { + extends SAMFileReader.ReaderImplementation { // True if reading from a File rather than an InputStream private boolean mIsSeekable = false; // For converting bytes into other primitive types diff --git a/java/src/net/sf/samtools/SAMFileReader2.java b/java/src/net/sf/samtools/SAMFileReader2.java index 6aa9e6470..06ecd083a 100644 --- a/java/src/net/sf/samtools/SAMFileReader2.java +++ b/java/src/net/sf/samtools/SAMFileReader2.java @@ -62,14 +62,6 @@ public class SAMFileReader2 implements Iterable { private ReaderImplementation mReader = null; private File samFile = null; - /** - * Internal interface for SAM/BAM file reader implementations. - * Implemented as an abstract class to enforce better access control. - */ - static abstract class ReaderImplementation2 extends SAMFileReader.ReaderImplementation { - abstract CloseableIterator getIterator(List chunks); - } - /** * Prepare to read a SAM or BAM file. Indexed lookup not allowed because reading from InputStream. */ @@ -200,14 +192,14 @@ public class SAMFileReader2 implements Iterable { public CloseableIterator iterator(List chunks) { // TODO: Add sanity checks so that we're not doing this against a BAM file. if(!(mReader instanceof BAMFileReader2)) - throw new PicardException("This call requires a ReaderImplementation2-compliant interface"); + throw new PicardException("This call cannot be performed without a backing BAMFileReader2"); return ((BAMFileReader2)mReader).getIterator(chunks); } public List getOverlappingFilePointers(final String sequence, final int start, final int end) { // TODO: Add sanity checks so that we're not doing this against a BAM file. if(!(mReader instanceof BAMFileReader2)) - throw new PicardException("This call requires a ReaderImplementation2-compliant interface"); + throw new PicardException("This call cannot be performed without a backing BAMFileReader2"); return ((BAMFileReader2)mReader).getOverlappingFilePointers(sequence,start,end); } diff --git a/java/src/org/broadinstitute/sting/gatk/datasources/shards/BAMFormatAwareShard.java b/java/src/org/broadinstitute/sting/gatk/datasources/shards/BAMFormatAwareShard.java new file mode 100644 index 000000000..4de0cf0b6 --- /dev/null +++ b/java/src/org/broadinstitute/sting/gatk/datasources/shards/BAMFormatAwareShard.java @@ -0,0 +1,19 @@ +package org.broadinstitute.sting.gatk.datasources.shards; + +import net.sf.samtools.Chunk; + +import java.util.List; + +/** + * A common interface for shards that natively understand the BAM format. + * + * @author mhanna + * @version 0.1 + */ +public interface BAMFormatAwareShard extends Shard { + /** + * Get the list of chunks delimiting this shard. + * @return a list of chunks that contain data for this shard. + */ + public List getChunks(); +} diff --git a/java/src/org/broadinstitute/sting/gatk/datasources/shards/BlockDelimitedReadShard.java b/java/src/org/broadinstitute/sting/gatk/datasources/shards/BlockDelimitedReadShard.java index 8d9b1b287..b076dc197 100644 --- a/java/src/org/broadinstitute/sting/gatk/datasources/shards/BlockDelimitedReadShard.java +++ b/java/src/org/broadinstitute/sting/gatk/datasources/shards/BlockDelimitedReadShard.java @@ -10,7 +10,7 @@ import java.util.List; * @author mhanna * @version 0.1 */ -public class BlockDelimitedReadShard extends ReadShard { +public class BlockDelimitedReadShard extends ReadShard implements BAMFormatAwareShard { /** * The list of chunks to retrieve when loading this shard. */ diff --git a/java/src/org/broadinstitute/sting/gatk/datasources/shards/IndexDelimitedLocusShard.java b/java/src/org/broadinstitute/sting/gatk/datasources/shards/IndexDelimitedLocusShard.java index 7e02c55d2..3a73e2812 100755 --- a/java/src/org/broadinstitute/sting/gatk/datasources/shards/IndexDelimitedLocusShard.java +++ b/java/src/org/broadinstitute/sting/gatk/datasources/shards/IndexDelimitedLocusShard.java @@ -2,6 +2,7 @@ package org.broadinstitute.sting.gatk.datasources.shards; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocSortedSet; +import org.broadinstitute.sting.utils.StingException; import net.sf.samtools.Chunk; import java.util.List; @@ -35,29 +36,30 @@ import java.util.List; /** * A shard that's delimited based on the index rather than */ -public class IndexDelimitedLocusShard implements Shard { - - /** - * a collection of genomic locations to interate over - */ - private final GenomeLocSortedSet intervals; - +public class IndexDelimitedLocusShard extends LocusShard implements BAMFormatAwareShard { /** * A list of the chunks associated with this shard. */ private final List chunks; - IndexDelimitedLocusShard(GenomeLocSortedSet intervals, List chunks) { - this.intervals = intervals; - this.chunks = chunks; - } + /** + * An IndexDelimitedLocusShard can be used either for LOCUS or LOCUS_INTERVAL shard types. + * Track which type is being used. + */ + private final ShardType shardType; /** - * The locations represented by this shard. - * @return the genome location represented by this shard + * Create a new locus shard, divided by index. + * @param intervals List of intervals to process. + * @param chunks Chunks associated with that interval. + * @param shardType Type of the shard; must be either LOCUS or LOCUS_INTERVAL. */ - public List getGenomeLocs() { - return intervals.toList(); + IndexDelimitedLocusShard(List intervals, List chunks, ShardType shardType) { + super(intervals); + this.chunks = chunks; + if(shardType != ShardType.LOCUS && shardType != ShardType.LOCUS_INTERVAL) + throw new StingException("Attempted to create an IndexDelimitedLocusShard with invalid shard type: " + shardType); + this.shardType = shardType; } /** @@ -69,19 +71,10 @@ public class IndexDelimitedLocusShard implements Shard { } /** - * returns the type of shard, LOCUS_INTERVAL. - * @return LOCUS_INTERVAL, indicating the shard type - */ - public ShardType getShardType() { - return ShardType.LOCUS_INTERVAL; - } - - /** - * String representation of this shard. - * @return A string representation of the boundaries of this shard. + * returns the type of shard. */ @Override - public String toString() { - return intervals.toString(); + public ShardType getShardType() { + return shardType; } } \ No newline at end of file diff --git a/java/src/org/broadinstitute/sting/gatk/datasources/shards/IndexDelimitedLocusShardStrategy.java b/java/src/org/broadinstitute/sting/gatk/datasources/shards/IndexDelimitedLocusShardStrategy.java index 17d74b192..cea179ae2 100755 --- a/java/src/org/broadinstitute/sting/gatk/datasources/shards/IndexDelimitedLocusShardStrategy.java +++ b/java/src/org/broadinstitute/sting/gatk/datasources/shards/IndexDelimitedLocusShardStrategy.java @@ -78,7 +78,7 @@ public class IndexDelimitedLocusShardStrategy implements ShardStrategy { List filePointers = locations.get(loc); locations.remove(loc); - return new IndexDelimitedLocusShard(GenomeLocSortedSet.createSetFromList(Arrays.asList(loc)),filePointers); + return new IndexDelimitedLocusShard(Collections.singletonList(loc),filePointers,Shard.ShardType.LOCUS_INTERVAL); } /** we don't support the remove command */ diff --git a/java/src/org/broadinstitute/sting/gatk/datasources/shards/LocusShard.java b/java/src/org/broadinstitute/sting/gatk/datasources/shards/LocusShard.java index 7c5c75610..14efe8e48 100755 --- a/java/src/org/broadinstitute/sting/gatk/datasources/shards/LocusShard.java +++ b/java/src/org/broadinstitute/sting/gatk/datasources/shards/LocusShard.java @@ -1,6 +1,7 @@ package org.broadinstitute.sting.gatk.datasources.shards; import org.broadinstitute.sting.utils.GenomeLoc; +import org.broadinstitute.sting.utils.Utils; import java.util.Collections; import java.util.List; @@ -34,17 +35,16 @@ import java.util.List; * in place so it's easier to change guts later. */ public class LocusShard implements Shard { - // currently our location - final GenomeLoc mLoc; + final List loci; - public LocusShard(GenomeLoc loc) { - this.mLoc = loc; + public LocusShard(List loci) { + this.loci = loci; } /** @return the genome location represented by this shard */ public List getGenomeLocs() { - return Collections.singletonList(mLoc); + return loci; } /** @@ -56,21 +56,12 @@ public class LocusShard implements Shard { return ShardType.LOCUS; } - /** - * return a shard representing the passed in GenomeLoc - * - * @return - */ - public static LocusShard toShard(GenomeLoc loc) { - return new LocusShard(loc); - } - /** * String representation of this shard. * @return A string representation of the boundaries of this shard. */ @Override public String toString() { - return mLoc.toString(); + return Utils.join(";",loci); } } diff --git a/java/src/org/broadinstitute/sting/gatk/datasources/shards/LocusShardStrategy.java b/java/src/org/broadinstitute/sting/gatk/datasources/shards/LocusShardStrategy.java index 0a950855b..8add18a33 100755 --- a/java/src/org/broadinstitute/sting/gatk/datasources/shards/LocusShardStrategy.java +++ b/java/src/org/broadinstitute/sting/gatk/datasources/shards/LocusShardStrategy.java @@ -8,6 +8,7 @@ import org.broadinstitute.sting.utils.StingException; import org.broadinstitute.sting.utils.GenomeLocParser; import java.util.Iterator; +import java.util.Collections; /** * * User: aaron @@ -195,7 +196,7 @@ public abstract class LocusShardStrategy implements ShardStrategy { if (nextStart + proposedSize - 1 < length) { lastGenomeLocSize = proposedSize; mLoc = GenomeLocParser.createGenomeLoc(dic.getSequence(seqLoc).getSequenceIndex(), nextStart, nextStart + proposedSize - 1); - return LocusShard.toShard(mLoc); + return new LocusShard(Collections.singletonList(mLoc)); } // else we can't make it in the current location, we have to stitch one together else { @@ -208,7 +209,7 @@ public abstract class LocusShardStrategy implements ShardStrategy { // move to the next contig // the next sequence should start at the begining of the next contig - Shard ret = LocusShard.toShard(GenomeLocParser.createGenomeLoc(dic.getSequence(seqLoc).getSequenceIndex(), nextStart, nextStart + lastGenomeLocSize - 1)); + Shard ret = new LocusShard(Collections.singletonList(GenomeLocParser.createGenomeLoc(dic.getSequence(seqLoc).getSequenceIndex(), nextStart, nextStart + lastGenomeLocSize - 1))); // now jump ahead to the next contig jumpContig(); diff --git a/java/src/org/broadinstitute/sting/gatk/datasources/simpleDataSources/BlockDrivenSAMDataSource.java b/java/src/org/broadinstitute/sting/gatk/datasources/simpleDataSources/BlockDrivenSAMDataSource.java index f7b344984..ee75291e5 100644 --- a/java/src/org/broadinstitute/sting/gatk/datasources/simpleDataSources/BlockDrivenSAMDataSource.java +++ b/java/src/org/broadinstitute/sting/gatk/datasources/simpleDataSources/BlockDrivenSAMDataSource.java @@ -49,27 +49,19 @@ public class BlockDrivenSAMDataSource extends SAMDataSource { } public StingSAMIterator seek(Shard shard) { - if(!(shard instanceof BlockDelimitedReadShard) && !(shard instanceof IndexDelimitedLocusShard)) - throw new StingException("BlockDrivenSAMDataSource cannot operate on shards of type: " + shard); + if(!(shard instanceof BAMFormatAwareShard)) + throw new StingException("BlockDrivenSAMDataSource cannot operate on shards of type: " + shard.getClass()); - if(shard instanceof ReadShard) { - CloseableIterator iterator = reader.iterator(((BlockDelimitedReadShard)shard).getChunks()); - return applyDecoratingIterators(true, - StingSAMIteratorAdapter.adapt(reads, iterator), - reads.getDownsamplingFraction(), - reads.getValidationExclusionList().contains(ValidationExclusion.TYPE.NO_READ_ORDER_VERIFICATION), - reads.getSupplementalFilters()); - } - else if(shard instanceof IndexDelimitedLocusShard) { - CloseableIterator iterator = reader.iterator(((IndexDelimitedLocusShard)shard).getChunks()); - return applyDecoratingIterators(false, - StingSAMIteratorAdapter.adapt(reads, iterator), - reads.getDownsamplingFraction(), - reads.getValidationExclusionList().contains(ValidationExclusion.TYPE.NO_READ_ORDER_VERIFICATION), - reads.getSupplementalFilters()); - } + // Since the beginning of time for the GATK, enableVerification has been true only for ReadShards. I don't + // know why this is. Please add a comment here if you do. + boolean enableVerification = shard instanceof ReadShard; - throw new UnsupportedOperationException("Unable to infer type of this shard."); + CloseableIterator iterator = reader.iterator(((BAMFormatAwareShard)shard).getChunks()); + return applyDecoratingIterators(enableVerification, + StingSAMIteratorAdapter.adapt(reads,iterator), + reads.getDownsamplingFraction(), + reads.getValidationExclusionList().contains(ValidationExclusion.TYPE.NO_READ_ORDER_VERIFICATION), + reads.getSupplementalFilters()); } /** diff --git a/java/test/org/broadinstitute/sting/gatk/datasources/providers/LocusReferenceViewTest.java b/java/test/org/broadinstitute/sting/gatk/datasources/providers/LocusReferenceViewTest.java index f73c64788..569a48804 100755 --- a/java/test/org/broadinstitute/sting/gatk/datasources/providers/LocusReferenceViewTest.java +++ b/java/test/org/broadinstitute/sting/gatk/datasources/providers/LocusReferenceViewTest.java @@ -11,6 +11,8 @@ import org.broadinstitute.sting.gatk.iterators.GenomeLocusIterator; import net.sf.picard.reference.ReferenceSequence; import net.sf.samtools.util.StringUtil; + +import java.util.Collections; /* * Copyright (c) 2009 The Broad Institute * @@ -54,7 +56,7 @@ public class LocusReferenceViewTest extends ReferenceViewTemplate { @Test public void testOverlappingReferenceBases() { - Shard shard = new LocusShard(GenomeLocParser.createGenomeLoc(0, sequenceFile.getSequence("chrM").length() - 10, sequenceFile.getSequence("chrM").length())); + Shard shard = new LocusShard(Collections.singletonList(GenomeLocParser.createGenomeLoc(0, sequenceFile.getSequence("chrM").length() - 10, sequenceFile.getSequence("chrM").length()))); ShardDataProvider dataProvider = new ShardDataProvider(shard, null, sequenceFile, null); LocusReferenceView view = new LocusReferenceView(dataProvider); @@ -71,7 +73,7 @@ public class LocusReferenceViewTest extends ReferenceViewTemplate { /** Queries outside the bounds of the shard should generate an error. */ @Test(expected = InvalidPositionException.class) public void testBoundsFailure() { - Shard shard = new LocusShard(GenomeLocParser.createGenomeLoc(0, 1, 50)); + Shard shard = new LocusShard(Collections.singletonList(GenomeLocParser.createGenomeLoc(0, 1, 50))); ShardDataProvider dataProvider = new ShardDataProvider(shard, null, sequenceFile, null); LocusReferenceView view = new LocusReferenceView(dataProvider); @@ -86,7 +88,7 @@ public class LocusReferenceViewTest extends ReferenceViewTemplate { * @param loc */ protected void validateLocation( GenomeLoc loc ) { - Shard shard = new LocusShard(loc); + Shard shard = new LocusShard(Collections.singletonList(loc)); GenomeLocusIterator shardIterator = new GenomeLocusIterator(shard.getGenomeLocs()); ShardDataProvider dataProvider = new ShardDataProvider(shard, null, sequenceFile, null); 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 8281d4aa1..ed2378e64 100755 --- a/java/test/org/broadinstitute/sting/gatk/datasources/providers/LocusViewTemplate.java +++ b/java/test/org/broadinstitute/sting/gatk/datasources/providers/LocusViewTemplate.java @@ -45,7 +45,7 @@ public abstract class LocusViewTemplate extends BaseTest { SAMRecordIterator iterator = new SAMRecordIterator(); GenomeLoc shardBounds = GenomeLocParser.createGenomeLoc("chr1", 1, 5); - Shard shard = new LocusShard(shardBounds); + Shard shard = new LocusShard(Collections.singletonList(shardBounds)); ShardDataProvider dataProvider = new ShardDataProvider(shard, iterator); LocusView view = createView(dataProvider); @@ -59,7 +59,7 @@ public abstract class LocusViewTemplate extends BaseTest { SAMRecordIterator iterator = new SAMRecordIterator(read); GenomeLoc shardBounds = GenomeLocParser.createGenomeLoc("chr1", 1, 5); - Shard shard = new LocusShard(shardBounds); + Shard shard = new LocusShard(Collections.singletonList(shardBounds)); ShardDataProvider dataProvider = new ShardDataProvider(shard, iterator); LocusView view = createView(dataProvider); @@ -72,7 +72,7 @@ public abstract class LocusViewTemplate extends BaseTest { SAMRecord read = buildSAMRecord("chr1", 1, 5); SAMRecordIterator iterator = new SAMRecordIterator(read); - Shard shard = new LocusShard(GenomeLocParser.createGenomeLoc("chr1", 1, 10)); + Shard shard = new LocusShard(Collections.singletonList(GenomeLocParser.createGenomeLoc("chr1", 1, 10))); ShardDataProvider dataProvider = new ShardDataProvider(shard, iterator); LocusView view = createView(dataProvider); @@ -84,7 +84,7 @@ public abstract class LocusViewTemplate extends BaseTest { SAMRecord read = buildSAMRecord("chr1", 6, 10); SAMRecordIterator iterator = new SAMRecordIterator(read); - Shard shard = new LocusShard(GenomeLocParser.createGenomeLoc("chr1", 1, 10)); + Shard shard = new LocusShard(Collections.singletonList(GenomeLocParser.createGenomeLoc("chr1", 1, 10))); ShardDataProvider dataProvider = new ShardDataProvider(shard, iterator); LocusView view = createView(dataProvider); @@ -96,7 +96,7 @@ public abstract class LocusViewTemplate extends BaseTest { SAMRecord read = buildSAMRecord("chr1", 3, 7); SAMRecordIterator iterator = new SAMRecordIterator(read); - Shard shard = new LocusShard(GenomeLocParser.createGenomeLoc("chr1", 1, 10)); + Shard shard = new LocusShard(Collections.singletonList(GenomeLocParser.createGenomeLoc("chr1", 1, 10))); ShardDataProvider dataProvider = new ShardDataProvider(shard, iterator); LocusView view = createView(dataProvider); @@ -108,7 +108,7 @@ public abstract class LocusViewTemplate extends BaseTest { SAMRecord read = buildSAMRecord("chr1", 1, 10); SAMRecordIterator iterator = new SAMRecordIterator(read); - Shard shard = new LocusShard(GenomeLocParser.createGenomeLoc("chr1", 6, 15)); + Shard shard = new LocusShard(Collections.singletonList(GenomeLocParser.createGenomeLoc("chr1", 6, 15))); ShardDataProvider dataProvider = new ShardDataProvider(shard, iterator); LocusView view = createView(dataProvider); @@ -120,7 +120,7 @@ public abstract class LocusViewTemplate extends BaseTest { SAMRecord read = buildSAMRecord("chr1", 6, 15); SAMRecordIterator iterator = new SAMRecordIterator(read); - Shard shard = new LocusShard(GenomeLocParser.createGenomeLoc("chr1", 1, 10)); + Shard shard = new LocusShard(Collections.singletonList(GenomeLocParser.createGenomeLoc("chr1", 1, 10))); ShardDataProvider dataProvider = new ShardDataProvider(shard, iterator); LocusView view = createView(dataProvider); @@ -133,7 +133,7 @@ public abstract class LocusViewTemplate extends BaseTest { SAMRecord read2 = buildSAMRecord("chr1", 6, 10); SAMRecordIterator iterator = new SAMRecordIterator(read1, read2); - Shard shard = new LocusShard(GenomeLocParser.createGenomeLoc("chr1", 1, 10)); + Shard shard = new LocusShard(Collections.singletonList(GenomeLocParser.createGenomeLoc("chr1", 1, 10))); ShardDataProvider dataProvider = new ShardDataProvider(shard, iterator); LocusView view = createView(dataProvider); @@ -150,7 +150,7 @@ public abstract class LocusViewTemplate extends BaseTest { SAMRecord read4 = buildSAMRecord("chr1", 6, 10); SAMRecordIterator iterator = new SAMRecordIterator(read1, read2, read3, read4); - Shard shard = new LocusShard(GenomeLocParser.createGenomeLoc("chr1", 1, 10)); + Shard shard = new LocusShard(Collections.singletonList(GenomeLocParser.createGenomeLoc("chr1", 1, 10))); ShardDataProvider dataProvider = new ShardDataProvider(shard, iterator); LocusView view = createView(dataProvider); @@ -167,7 +167,7 @@ public abstract class LocusViewTemplate extends BaseTest { SAMRecord read4 = buildSAMRecord("chr1", 5, 9); SAMRecordIterator iterator = new SAMRecordIterator(read1, read2, read3, read4); - Shard shard = new LocusShard(GenomeLocParser.createGenomeLoc("chr1", 1, 10)); + Shard shard = new LocusShard(Collections.singletonList(GenomeLocParser.createGenomeLoc("chr1", 1, 10))); ShardDataProvider dataProvider = new ShardDataProvider(shard, iterator); LocusView view = createView(dataProvider); @@ -186,7 +186,7 @@ public abstract class LocusViewTemplate extends BaseTest { SAMRecord read6 = buildSAMRecord("chr1", 6, 10); SAMRecordIterator iterator = new SAMRecordIterator(read1, read2, read3, read4, read5, read6); - Shard shard = new LocusShard(GenomeLocParser.createGenomeLoc("chr1", 1, 10)); + Shard shard = new LocusShard(Collections.singletonList(GenomeLocParser.createGenomeLoc("chr1", 1, 10))); ShardDataProvider dataProvider = new ShardDataProvider(shard, iterator); LocusView view = createView(dataProvider); @@ -212,7 +212,7 @@ public abstract class LocusViewTemplate extends BaseTest { SAMRecordIterator iterator = new SAMRecordIterator(read01, read02, read03, read04, read05, read06, read07, read08, read09, read10, read11, read12); - Shard shard = new LocusShard(GenomeLocParser.createGenomeLoc("chr1", 6, 15)); + Shard shard = new LocusShard(Collections.singletonList(GenomeLocParser.createGenomeLoc("chr1", 6, 15))); ShardDataProvider dataProvider = new ShardDataProvider(shard, iterator); LocusView view = createView(dataProvider); diff --git a/java/test/org/broadinstitute/sting/gatk/datasources/providers/ReferenceOrderedViewTest.java b/java/test/org/broadinstitute/sting/gatk/datasources/providers/ReferenceOrderedViewTest.java index 62cd58446..9bb0e4f20 100755 --- a/java/test/org/broadinstitute/sting/gatk/datasources/providers/ReferenceOrderedViewTest.java +++ b/java/test/org/broadinstitute/sting/gatk/datasources/providers/ReferenceOrderedViewTest.java @@ -52,7 +52,7 @@ public class ReferenceOrderedViewTest extends BaseTest { */ @Test public void testNoBindings() { - Shard shard = new LocusShard(GenomeLocParser.createGenomeLoc("chrM",1,30)); + Shard shard = new LocusShard(Collections.singletonList(GenomeLocParser.createGenomeLoc("chrM",1,30))); ShardDataProvider provider = new ShardDataProvider(shard, null, seq, Collections.emptyList()); ReferenceOrderedView view = new ManagingReferenceOrderedView( provider ); @@ -69,7 +69,7 @@ public class ReferenceOrderedViewTest extends BaseTest { ReferenceOrderedData rod = new ReferenceOrderedData("tableTest", file, TabularROD.class); ReferenceOrderedDataSource dataSource = new ReferenceOrderedDataSource(rod); - Shard shard = new LocusShard(GenomeLocParser.createGenomeLoc("chrM",1,30)); + Shard shard = new LocusShard(Collections.singletonList(GenomeLocParser.createGenomeLoc("chrM",1,30))); ShardDataProvider provider = new ShardDataProvider(shard, null, seq, Collections.singletonList(dataSource)); ReferenceOrderedView view = new ManagingReferenceOrderedView( provider ); @@ -95,7 +95,7 @@ public class ReferenceOrderedViewTest extends BaseTest { ReferenceOrderedDataSource dataSource2 = new ReferenceOrderedDataSource(rod2); - Shard shard = new LocusShard(GenomeLocParser.createGenomeLoc("chrM",1,30)); + Shard shard = new LocusShard(Collections.singletonList(GenomeLocParser.createGenomeLoc("chrM",1,30))); ShardDataProvider provider = new ShardDataProvider(shard, null, seq, Arrays.asList(dataSource1,dataSource2)); ReferenceOrderedView view = new ManagingReferenceOrderedView( provider );