@Test(dataProvider = "testExtractDictionaries") public void testExtractDictionary(final String dictSource, final String dictExpected) throws Exception { final File dictSourceFile = new File(path, dictSource); final File dictExpectedFile = new File(path, dictExpected); final SAMSequenceDictionary dict1 = SAMSequenceDictionaryExtractor.extractDictionary(dictSourceFile); final SAMSequenceDictionary dict2 = SAMSequenceDictionaryExtractor.extractDictionary(dictExpectedFile); Assert.assertTrue(SequenceUtil.areSequenceDictionariesEqual(dict1, dict2)); Assert.assertTrue(dict1.md5().equals(dict2.md5())); } }
/** * Constructor that takes a {@link ReferenceSequenceFile} and a {@link SamLocusIterator}. * The inputs must have equal {@link htsjdk.samtools.SAMSequenceDictionary SAMSequenceDictionary}s and an {@link IllegalArgumentException} * will be thrown otherwise. * * @param referenceFile * @param locusIterator * * @throws IllegalArgumentException if arguments have non-equal {@link htsjdk.samtools.SAMSequenceDictionary SAMSequenceDictionary}s */ public SamLocusAndReferenceIterator(final ReferenceSequenceFileWalker referenceFile, final SamLocusIterator locusIterator) throws IllegalArgumentException { if(!SequenceUtil.areSequenceDictionariesEqual( locusIterator.getHeader().getSequenceDictionary(), referenceFile.getSequenceDictionary())) { throw new IllegalArgumentException("reference and locus iterator have difference dictionaries." + locusIterator.getHeader().getSequenceDictionary().toString() + referenceFile.getSequenceDictionary().toString()); } this.referenceSequenceFileWalker = referenceFile; this.locusIterator = locusIterator; }
/** * Constructor that takes a {@link ReferenceSequenceFile} and a {@link SamLocusIterator}. * The inputs must have equal {@link htsjdk.samtools.SAMSequenceDictionary SAMSequenceDictionary}s and an {@link IllegalArgumentException} * will be thrown otherwise. * * @param referenceFile * @param locusIterator * * @throws IllegalArgumentException if arguments have non-equal {@link htsjdk.samtools.SAMSequenceDictionary SAMSequenceDictionary}s */ public SamLocusAndReferenceIterator(final ReferenceSequenceFileWalker referenceFile, final SamLocusIterator locusIterator) throws IllegalArgumentException { if(!SequenceUtil.areSequenceDictionariesEqual( locusIterator.getHeader().getSequenceDictionary(), referenceFile.getSequenceDictionary())) { throw new IllegalArgumentException("reference and locus iterator have difference dictionaries." + locusIterator.getHeader().getSequenceDictionary().toString() + referenceFile.getSequenceDictionary().toString()); } this.referenceSequenceFileWalker = referenceFile; this.locusIterator = locusIterator; }