diff --git a/src/main/java/picard/sam/CreateSequenceDictionary.java b/src/main/java/picard/sam/CreateSequenceDictionary.java index b215c3c2b..99b4cfd33 100644 --- a/src/main/java/picard/sam/CreateSequenceDictionary.java +++ b/src/main/java/picard/sam/CreateSequenceDictionary.java @@ -23,7 +23,6 @@ */ package picard.sam; -import com.google.common.annotations.VisibleForTesting; import htsjdk.samtools.SAMSequenceDictionary; import htsjdk.samtools.SAMSequenceDictionaryCodec; import htsjdk.samtools.SAMSequenceRecord; @@ -151,23 +150,12 @@ public SAMSequenceDictionary makeSequenceDictionary(final File referenceFile) { URI = "file:" + REFERENCE.getAbsolutePath(); } if (OUTPUT == null) { - // TODO: use the htsjdk method implemented in https://github.com/samtools/htsjdk/pull/774 - OUTPUT = getDefaultDictionaryForReferenceSequence(REFERENCE); + OUTPUT = ReferenceSequenceFileFactory.getDefaultDictionaryForReferenceSequence(REFERENCE); logger.info("Output dictionary will be written in ", OUTPUT); } return null; } - // TODO: this method will be in htsjdk (https://github.com/samtools/htsjdk/pull/774) - @VisibleForTesting - static File getDefaultDictionaryForReferenceSequence(final File fastaFile) { - final String name = fastaFile.getName(); - final String extension = ReferenceSequenceFileFactory.FASTA_EXTENSIONS.stream().filter(name::endsWith).findFirst() - .orElseGet(() -> {throw new IllegalArgumentException("File is not a supported reference file type: " + fastaFile.getAbsolutePath());}); - final int extensionIndex = name.length() - extension.length(); - return new File(fastaFile.getParentFile(), name.substring(0, extensionIndex) + IOUtil.DICT_FILE_EXTENSION); - } - /** * Do the work after command line has been parsed. * RuntimeException may be thrown by this method, and are reported appropriately. diff --git a/src/test/java/picard/sam/CreateSequenceDictionaryTest.java b/src/test/java/picard/sam/CreateSequenceDictionaryTest.java index 802714528..e371434f4 100644 --- a/src/test/java/picard/sam/CreateSequenceDictionaryTest.java +++ b/src/test/java/picard/sam/CreateSequenceDictionaryTest.java @@ -24,7 +24,6 @@ package picard.sam; import org.testng.Assert; -import org.testng.annotations.DataProvider; import org.testng.annotations.Test; import picard.cmdline.CommandLineProgramTest; import picard.PicardException; @@ -48,23 +47,6 @@ public String getCommandLineProgramName() { return CreateSequenceDictionary.class.getSimpleName(); } - @DataProvider - public Object[][] fastaNames() { - return new Object[][] { - {"break.fa", "break.dict"}, - {"break.txt.txt", "break.txt.dict"}, - {"break.fasta.fasta", "break.fasta.dict"}, - {"break.fa.gz", "break.dict"}, - {"break.txt.gz.txt.gz", "break.txt.gz.dict"}, - {"break.fasta.gz.fasta.gz", "break.fasta.gz.dict"} - }; - } - - @Test(dataProvider = "fastaNames") - public void testGetDefaultDictionaryForReferenceSequence(final String fastaFile, final String expectedDict) throws Exception { - Assert.assertEquals(CreateSequenceDictionary.getDefaultDictionaryForReferenceSequence(new File(fastaFile)), new File(expectedDict)); - } - @Test public void testBasic() throws Exception { final File outputDict = File.createTempFile("CreateSequenceDictionaryTest.", ".dict");