private boolean compareHeaders(SAMFileHeader h1, SAMFileHeader h2) throws Exception { boolean ret = true; if (!options.ignoreFileFormatVersion) { ret = compareValues(h1.getVersion(), h2.getVersion(), "File format version") && ret; } ret = compareValues(h1.getCreator(), h2.getCreator(), "File creator") && ret; ret = compareValues(h1.getAttribute("SO"), h2.getAttribute("SO"), "Sort order") && ret; if (!compareSequenceDictionaries(h1, h2)) { return false; } ret = compareReadGroups(h1, h2) && ret; ret = compareProgramRecords(h1, h2) && ret; return ret; }
private boolean compareHeaders(SAMFileHeader h1, SAMFileHeader h2) throws Exception { boolean ret = true; if (!options.ignoreFileFormatVersion) { ret = compareValues(h1.getVersion(), h2.getVersion(), "File format version") && ret; } ret = compareValues(h1.getCreator(), h2.getCreator(), "File creator") && ret; ret = compareValues(h1.getAttribute("SO"), h2.getAttribute("SO"), "Sort order") && ret; if (!compareSequenceDictionaries(h1, h2)) { return false; } ret = compareReadGroups(h1, h2) && ret; ret = compareProgramRecords(h1, h2) && ret; return ret; }
addError(error); if (fileHeader.getVersion() == null) { addError(new SAMValidationError(Type.MISSING_VERSION_NUMBER, "Header has no version number", null)); } else if (!SAMFileHeader.ACCEPTABLE_VERSIONS.contains(fileHeader.getVersion())) { addError(new SAMValidationError(Type.INVALID_VERSION_NUMBER, "Header version: " + fileHeader.getVersion() + " does not match any of the acceptable versions: " + StringUtil.join(", ", SAMFileHeader.ACCEPTABLE_VERSIONS.toArray(new String[0])), null));
private boolean compareHeaders() { final SAMFileHeader h1 = samReaders[0].getFileHeader(); final SAMFileHeader h2 = samReaders[1].getFileHeader(); boolean ret = compareValues(h1.getVersion(), h2.getVersion(), "File format version"); ret = compareValues(h1.getCreator(), h2.getCreator(), "File creator") && ret; ret = compareValues(h1.getAttribute("SO"), h2.getAttribute("SO"), "Sort order") && ret; if (!compareSequenceDictionaries(h1, h2)) { ret = false; sequenceDictionariesDiffer = true; } ret = compareReadGroups(h1, h2) && ret; ret = compareProgramRecords(h1, h2) && ret; return ret; }
private boolean compareHeaders() { final SAMFileHeader h1 = samReaders[0].getFileHeader(); final SAMFileHeader h2 = samReaders[1].getFileHeader(); boolean ret = compareValues(h1.getVersion(), h2.getVersion(), "File format version"); ret = compareValues(h1.getCreator(), h2.getCreator(), "File creator") && ret; ret = compareValues(h1.getAttribute("SO"), h2.getAttribute("SO"), "Sort order") && ret; if (!compareSequenceDictionaries(h1, h2)) { ret = false; sequenceDictionariesDiffer = true; } ret = compareReadGroups(h1, h2) && ret; ret = compareProgramRecords(h1, h2) && ret; return ret; }
addError(error); if (fileHeader.getVersion() == null) { addError(new SAMValidationError(Type.MISSING_VERSION_NUMBER, "Header has no version number", null)); } else if (!SAMFileHeader.ACCEPTABLE_VERSIONS.contains(fileHeader.getVersion())) { addError(new SAMValidationError(Type.INVALID_VERSION_NUMBER, "Header version: " + fileHeader.getVersion() + " does not match any of the acceptable versions: " + StringUtil.join(", ", SAMFileHeader.ACCEPTABLE_VERSIONS.toArray(new String[0])), null));
addError(error); if (fileHeader.getVersion() == null) { addError(new SAMValidationError(Type.MISSING_VERSION_NUMBER, "Header has no version number", null)); } else if (!SAMFileHeader.ACCEPTABLE_VERSIONS.contains(fileHeader.getVersion())) { addError(new SAMValidationError(Type.INVALID_VERSION_NUMBER, "Header version: " + fileHeader.getVersion() + " does not match any of the acceptable versions: " + StringUtil.join(", ", SAMFileHeader.ACCEPTABLE_VERSIONS.toArray(new String[0])), null));
"that do not always contain each read's mate in the same bam."); if (!header.getVersion().equals(SAMFileHeader.CURRENT_VERSION)) { log.warn(String.format("Input file's version is %s, but the current SAM format version is %s. Outputs will be written " + "with current version.", header.getVersion(), SAMFileHeader.CURRENT_VERSION));
"that do not always contain each read's mate in the same bam."); if (!header.getVersion().equals(SAMFileHeader.CURRENT_VERSION)) { log.warn(String.format("Input file's version is %s, but the current SAM format version is %s. Outputs will be written " + "with current version.", header.getVersion(), SAMFileHeader.CURRENT_VERSION));
@Test public void testOkFile() throws IOException { final File tmpDir = Files.createTempDirectory(TMP_DIR_NAME).toFile(); final String[] args = { "INPUT=" + PAIRED_FILE.getPath(), "TOTAL_READS_IN_INPUT=10", "SPLIT_TO_N_READS=5", "OUTPUT=" + tmpDir }; runPicardCommandLine(args); final File out1 = new File(tmpDir, "shard_0001.bam"); out1.deleteOnExit(); final File out2 = new File(tmpDir, "shard_0002.bam"); out2.deleteOnExit(); final SamReader input = SamReaderFactory.makeDefault().open(PAIRED_FILE); final SAMRecordIterator inputIter = input.iterator(); final SamReader reader1 = SamReaderFactory.makeDefault().open(out1); final SamReader reader2 = SamReaderFactory.makeDefault().open(out2); final SAMFileHeader inputHeader = input.getFileHeader(); final SAMFileHeader reader1Header = reader1.getFileHeader(); // The output BAM versions might not match the input header version if the input is outdated. inputHeader.setAttribute(SAMFileHeader.VERSION_TAG, reader1Header.getVersion()); Assert.assertEquals(inputHeader, reader1Header); Assert.assertEquals(reader1.getFileHeader(), reader2.getFileHeader()); VALIDATE_SAM_TESTER.assertSamValid(out1); VALIDATE_SAM_TESTER.assertSamValid(out2); compareInputWithOutputs(reader1, reader2, inputIter, 6); }
@Test public void testNoTotalReads() throws IOException { final File tmpDir = Files.createTempDirectory(TMP_DIR_NAME).toFile(); final String[] args = { "INPUT=" + PAIRED_FILE.getPath(), "SPLIT_TO_N_READS=5", "OUTPUT=" + tmpDir }; runPicardCommandLine(args); final File out1 = new File(tmpDir, "shard_0001.bam"); out1.deleteOnExit(); final File out2 = new File(tmpDir, "shard_0002.bam"); out2.deleteOnExit(); final SamReader input = SamReaderFactory.makeDefault().open(PAIRED_FILE); final SAMRecordIterator inputIter = input.iterator(); final SamReader reader1 = SamReaderFactory.makeDefault().open(out1); final SamReader reader2 = SamReaderFactory.makeDefault().open(out2); final SAMFileHeader inputHeader = input.getFileHeader(); final SAMFileHeader reader1Header = reader1.getFileHeader(); // The output BAM versions might not match the input header version if the input is outdated. inputHeader.setAttribute(SAMFileHeader.VERSION_TAG, reader1Header.getVersion()); Assert.assertEquals(inputHeader, reader1Header); Assert.assertEquals(reader1.getFileHeader(), reader2.getFileHeader()); VALIDATE_SAM_TESTER.assertSamValid(out1); VALIDATE_SAM_TESTER.assertSamValid(out2); compareInputWithOutputs(reader1, reader2, inputIter, 6); }
final SAMFileHeader fileHeader = samReader.getFileHeader(); Assert.assertEquals(fileHeader.getVersion(), fileFormatVersion); Assert.assertEquals(fileHeader.getAttribute(charTag), Character.toString(charValue)); final SAMSequenceRecord sequenceRecord = fileHeader.getSequence(sequence);
@Test public void testGetHeader() throws IOException { SAMFileHeader header = reader.getFileHeader(); assertEquals(86, header.getSequenceDictionary().size()); assertEquals("1.0", header.getVersion()); }