private VariantContextJavascriptFilter(final File scriptFile, final VCFHeader header) throws IOException { super(scriptFile, header); this.scriptFile = scriptFile; /* create filter name using file basename */ String fname = IOUtil.basename(scriptFile); if (fname.isEmpty()) fname = "JSFILTER"; this.filterName = fname; }
private VariantContextJavascriptFilter(final File scriptFile, final VCFHeader header) throws IOException { super(scriptFile, header); this.scriptFile = scriptFile; /* create filter name using file basename */ String fname = IOUtil.basename(scriptFile); if (fname.isEmpty()) fname = "JSFILTER"; this.filterName = fname; }
private static OutputStream buildOutputStream(final File outputFile, final boolean createMd5, final boolean createIndex) throws IOException { OutputStream outputStream = new FileOutputStream(outputFile); if (createMd5) outputStream = new Md5CalculatingOutputStream(outputStream, new File(outputFile.getAbsolutePath() + ".md5")); if (createIndex) outputStream = new StreamInflatingIndexingOutputStream(outputStream, new File(outputFile.getParentFile(), IOUtil.basename(outputFile) + BAMIndex.BAMIndexSuffix)); return outputStream; }
private static OutputStream buildOutputStream(final File outputFile, final boolean createMd5, final boolean createIndex) throws IOException { OutputStream outputStream = new FileOutputStream(outputFile); if (createMd5) { outputStream = new Md5CalculatingOutputStream(outputStream, new File(outputFile.getAbsolutePath() + ".md5")); } if (createIndex) { outputStream = new StreamInflatingIndexingOutputStream(outputStream, new File(outputFile.getParentFile(), IOUtil.basename(outputFile) + BAMIndex.BAMIndexSuffix)); } return outputStream; }
private static OutputStream buildOutputStream(final File outputFile, final boolean createMd5, final boolean createIndex) throws IOException { OutputStream outputStream = new FileOutputStream(outputFile); if (createMd5) { outputStream = new Md5CalculatingOutputStream(outputStream, new File(outputFile.getAbsolutePath() + ".md5")); } if (createIndex) { outputStream = new StreamInflatingIndexingOutputStream(outputStream, new File(outputFile.getParentFile(), IOUtil.basename(outputFile) + BAMIndex.BAI_INDEX_SUFFIX)); } return outputStream; }
@Test(dataProvider = "baseNameTests") public void testBasename(final Path file, final String expected) { final String result = IOUtil.basename(file.toFile()); Assert.assertEquals(result, expected); }
File indexFile = null; if (createIndex) { indexFile = new File(output.getParentFile(), IOUtil.basename(output) + BAMIndex.BAI_INDEX_SUFFIX); out = new StreamInflatingIndexingOutputStream(out, indexFile);
File indexFile = null; if (createIndex) { indexFile = new File(output.getParentFile(), IOUtil.basename(output) + BAMIndex.BAMIndexSuffix); out = new StreamInflatingIndexingOutputStream(out, indexFile);
File indexFile = null; if (createIndex) { indexFile = new File(output.getParentFile(), IOUtil.basename(output) + BAMIndex.BAMIndexSuffix); out = new StreamInflatingIndexingOutputStream(out, indexFile);
/** * makes sure debug files are created properly */ @Test(dataProvider = "dataTestDebugOption") public void testDebugOption(Boolean writeDebugReads, boolean isDebugFileExpected) throws Exception { // input as SAM file final File inputSam = new File("testdata/picard/sam/aligned.sam"); final File javascriptFile = new File("testdata/picard/sam/FilterSamReads/filterOddStarts.js"); FilterSamReads filterTest = setupProgram(javascriptFile, inputSam, FilterSamReads.Filter.includeJavascript, writeDebugReads); Assert.assertEquals(filterTest.doWork(), 0); final File inputReadsFile = new File(filterTest.OUTPUT.getParentFile(), IOUtil.basename(filterTest.INPUT) + ".reads"); Assert.assertEquals(inputReadsFile.exists(), isDebugFileExpected); final File outputReadsFile = new File(filterTest.OUTPUT.getParentFile(), IOUtil.basename(filterTest.OUTPUT) + ".reads"); outputReadsFile.deleteOnExit(); Assert.assertEquals(outputReadsFile.exists(), isDebugFileExpected); // We have to clean up the debug files after each test is run to make sure a clean state is preserved in between tests // This mostly affects the input *.reads file because it will always be called "aligned.reads" and will cause future // tests to fail if it sticks around and we dont expect it to be written Files.deleteIfExists(inputReadsFile.toPath()); }
/** * Write out a file of read names for debugging purposes. * * @param samOrBamFile The SAM or BAM file for which we are going to write out a file of its * containing read names */ private void writeReadsFile(final File samOrBamFile) throws IOException { final File readsFile = new File(OUTPUT.getParentFile(), IOUtil.basename(samOrBamFile) + ".reads"); IOUtil.assertFileIsWritable(readsFile); try (final SamReader reader = SamReaderFactory.makeDefault().referenceSequence(REFERENCE_SEQUENCE).open(samOrBamFile); final BufferedWriter bw = IOUtil.openFileForBufferedWriting(readsFile, false)) { for (final SAMRecord rec : reader) { bw.write(rec.toString() + "\n"); } } IOUtil.assertFileIsReadable(readsFile); }
/** * Write out a file of read names for debugging purposes. * * @param samOrBamFile The SAM or BAM file for which we are going to write out a file of its * containing read names */ private void writeReadsFile(final File samOrBamFile) throws IOException { final File readsFile = new File(OUTPUT.getParentFile(), IOUtil.basename(samOrBamFile) + ".reads"); IOUtil.assertFileIsWritable(readsFile); try (final SamReader reader = SamReaderFactory.makeDefault().referenceSequence(REFERENCE_SEQUENCE).open(samOrBamFile); final BufferedWriter bw = IOUtil.openFileForBufferedWriting(readsFile, false)) { for (final SAMRecord rec : reader) { bw.write(rec.toString() + "\n"); } } IOUtil.assertFileIsReadable(readsFile); }
private static CachingBAMFileIndex getIndexWith200Contigs() throws IOException { List<SAMSequenceRecord> contigs = IntStream.range(1, 200) .mapToObj(i -> new SAMSequenceRecord(String.valueOf(i), 1000)) .collect(Collectors.toList()); final SAMSequenceDictionary dict = new SAMSequenceDictionary(contigs); final SAMFileHeader header = new SAMFileHeader(dict); header.setSortOrder(SAMFileHeader.SortOrder.coordinate); final SAMFileWriterFactory writerFactory = new SAMFileWriterFactory().setCreateIndex(true); final File outBam = File.createTempFile("tmp", ".bam"); try(final SAMFileWriter writer = writerFactory.makeWriter(header, true, outBam, null)){ IntStream.range(1,200).mapToObj(i -> { final SAMRecord record = new SAMRecord(header); record.setReadName("name" + i); record.setReferenceName(String.valueOf(i)); record.setReadUnmappedFlag(false); record.setAlignmentStart(1); record.setCigarString("20M"); return record; }).forEach(writer::addAlignment); } final File indexFile = new File(outBam.getParent(), IOUtil.basename(outBam) + BAMIndex.BAMIndexSuffix); indexFile.deleteOnExit(); outBam.deleteOnExit(); return new CachingBAMFileIndex(indexFile, dict); }