public boolean fixHeaderInFile(File cramFile) throws IOException, MD5MismatchError { FileInputStream fis = new FileInputStream(cramFile); CramHeader cramHeader = CramIO.readCramHeader(fis); fixSequences(cramHeader.getSamFileHeader().getSequenceDictionary().getSequences()); String cmd = "fixheader"; String version = getClass().getPackage().getImplementationVersion(); addPG(cramHeader.getSamFileHeader(), "cramtools", cmd, version); CramHeader newHeader = cramHeader.clone(); return CramIO.replaceCramHeader(cramFile, newHeader); }
if (!CramIO.replaceCramHeader(params.cramFile, newHeader)) { log.error("Failed to replace the header."); System.exit(1);
final String id2 = "testid2"; final CramHeader cramHeader2 = new CramHeader(CramVersions.CRAM_v3, id2, samFileHeader); final boolean replaced = CramIO.replaceCramHeader(file, cramHeader2); Assert.assertTrue(replaced); Assert.assertEquals(file.length(), length);