public static IntervalList toIntervalList(final Path path, final boolean includeFiltered) { try (final VCFFileReader vcfReader = new VCFFileReader(path, false)) { return vcfReader.toIntervalList(includeFiltered); } }
public static IntervalList toIntervalList(final Path path, final boolean includeFiltered) { try (final VCFFileReader vcfReader = new VCFFileReader(path, false)) { return vcfReader.toIntervalList(includeFiltered); } }
/** * Parse a VCF file and convert to an IntervalList The name field of the IntervalList is taken from the ID field of the variant, if it exists. if not, * creates a name of the format interval-n where n is a running number that increments only on un-named intervals * @param file * @return */ public static IntervalList fromVcf(final File file){ final VCFFileReader vcfFileReader = new VCFFileReader(file, false); final IntervalList intervalList = fromVcf(vcfFileReader); vcfFileReader.close(); return intervalList; }
/** * Returns the SAMSequenceDictionary from the provided VCF file. */ public static SAMSequenceDictionary getSequenceDictionary(final File file) { try (final VCFFileReader vcfFileReader = new VCFFileReader(file, false)) { return vcfFileReader.getFileHeader().getSequenceDictionary(); } }
/** * Returns the SAMSequenceDictionary from the provided VCF file. */ public static SAMSequenceDictionary getSequenceDictionary(final Path path) { return new VCFFileReader(path, false).getFileHeader().getSequenceDictionary(); }
@Override SAMSequenceDictionary extractDictionary(Path vcf) { try (VCFFileReader vcfPathReader = new VCFFileReader(vcf, false)){ return vcfPathReader.getFileHeader().getSequenceDictionary(); } } },
@Override SAMSequenceDictionary extractDictionary(Path vcf) { try (VCFFileReader vcfPathReader = new VCFFileReader(vcf, false)){ return vcfPathReader.getFileHeader().getSequenceDictionary(); } } },
/** * Returns the SAMSequenceDictionary from the provided VCF file. */ public static SAMSequenceDictionary getSequenceDictionary(final Path path) { return new VCFFileReader(path, false).getFileHeader().getSequenceDictionary(); }
@Test(dataProvider = "queryableData") public void testQueryable(final File vcf, boolean expectedQueryable) { try(VCFFileReader reader = new VCFFileReader(vcf, false)) { Assert.assertEquals(reader.isQueryable(), expectedQueryable); } }
@Test(dataProvider = "filteringIteratorData") public void testFilteringIterator(final VariantContextFilter filter, final int expectedCount) { final File vcf = new File(testDir,"ex2.vcf"); final VCFFileReader vcfReader = new VCFFileReader(vcf, false); final FilteringVariantContextIterator filteringIterator = new FilteringVariantContextIterator(vcfReader.iterator(), filter); int count = 0; for(final VariantContext vc : filteringIterator) { count++; } Assert.assertEquals(count, expectedCount); }
private static List<SAMSequenceRecord> readSequences(final File vcf) { final VCFFileReader reader = new VCFFileReader(vcf); final VCFHeader header = reader.getFileHeader(); final SAMSequenceDictionary dict = header.getSequenceDictionary(); reader.close(); return dict.getSequences(); } }
public static void assertVcfFilesAreEqual(final File actual, final File expected) throws IOException { final File indexedActual = createTemporaryIndexedVcfFromInput(actual, "assert"); final File indexedExpected = createTemporaryIndexedVcfFromInput(expected, "assert"); try (final VCFFileReader vcfReaderActual = new VCFFileReader(indexedActual); final VCFFileReader vcfReaderExpected = new VCFFileReader(indexedExpected)) { assertEquals(vcfReaderActual, vcfReaderExpected); } } }
/** This test doesn't even test the class, it just makes sure the cornercase test data is really a cornercase */ @Test public void ensureTestDataActuallyHasWideVariantAtTenMillion() { final Joiner joiner = Joiner.on(":"); // Cheat: do a string compare final VCFFileReader r = new VCFFileReader(VCF_WITH_MULTI_ALLELIC_VARIANT_AT_POSITION_10MILLION); Assert.assertEquals( joiner.join(r.query("1", TEN_MILLION, TEN_MILLION)), joiner.join(r.query("1", TEN_MILLION + 5, TEN_MILLION + 5)) ); r.close(); }
private VCFHeader getHiSeqVCFHeader() { final File vcf = new File("src/test/resources/htsjdk/variant/HiSeq.10000.vcf"); final VCFFileReader reader = new VCFFileReader(vcf, false); final VCFHeader header = reader.getFileHeader(); reader.close(); return header; }
@Test public void shouldPreserveSymbolicAlleleCase() { final VariantContext variant; try (final VCFFileReader reader = new VCFFileReader(new File(VariantBaseTest.variantTestDataRoot + "breakpoint.vcf"), false)) { variant = reader.iterator().next(); } // VCF v4.1 s1.4.5 // Tools processing VCF files are not required to preserve case in the allele String, except for IDs, which are case sensitive. Assert.assertTrue(variant.getAlternateAllele(0).getDisplayString().contains("chr12")); }
@Test public void testVCFHeaderAddDuplicateContigLine() { File input = new File("src/test/resources/htsjdk/variant/ex2.vcf"); VCFFileReader reader = new VCFFileReader(input, false); VCFHeader header = reader.getFileHeader(); final int numContigLinesBefore = header.getContigLines().size(); // try to readd the first contig line header.addMetaDataLine(header.getContigLines().get(0)); final int numContigLinesAfter = header.getContigLines().size(); // assert that we have the same number of contig lines before and after Assert.assertEquals(numContigLinesBefore, numContigLinesAfter); }
@Test public void testGLnotOverridePL() { final VariantContext variant; try (final VCFFileReader reader = new VCFFileReader( new File("src/test/resources/htsjdk/variant/test_withGLandPL.vcf"), false)) { variant = reader.iterator().next(); } Assert.assertEquals(variant.getGenotype(0).getPL(), new int[]{45, 0, 50}); } }
@Test(dataProvider = "badSampleData", expectedExceptions = IllegalArgumentException.class) public void testMissingSample(final String file, final String sample) { final File vcf = new File(testDir, file); final VCFFileReader vcfReader = new VCFFileReader(vcf, false); final HeterozygosityFilter heterozygosityFilter = new HeterozygosityFilter(true, sample); new FilteringVariantContextIterator(vcfReader.iterator(), heterozygosityFilter).next(); } }
@Test(dataProvider = "pathsData", timeOut = 60_000) public void testCanOpenVCFPathReader(final String file, final String index, final boolean requiresIndex, final boolean shouldSucceed) throws Exception { try (FileSystem fs = Jimfs.newFileSystem("test", Configuration.unix())) { final Path tribbleFileInJimfs = TestUtils.getTribbleFileInJimfs(file, index, fs); try (final VCFFileReader reader = new VCFFileReader(tribbleFileInJimfs, requiresIndex)) { final VCFHeader header = reader.getFileHeader(); } catch (Exception e) { if (shouldSucceed) throw e; } } } }
static Queue<String> loadContigPositions(final File inputFile) { final VCFFileReader reader = new VCFFileReader(inputFile, false); final Queue<String> contigPositions = new LinkedList<String>(); final CloseableIterator<VariantContext> iterator = reader.iterator(); while (iterator.hasNext()) contigPositions.add(getContigPosition(iterator.next())); iterator.close(); reader.close(); return contigPositions; }