System.setProperty("ga4gh.client_secrets", GA4GH_CLIENT_SECRETS); SamReaderFactory.setDefaultValidationStringency(VALIDATION_STRINGENCY); BlockCompressedOutputStream.setDefaultCompressionLevel(COMPRESSION_LEVEL);
System.setProperty("ga4gh.client_secrets", GA4GH_CLIENT_SECRETS); SamReaderFactory.setDefaultValidationStringency(VALIDATION_STRINGENCY); BlockCompressedOutputStream.setDefaultCompressionLevel(COMPRESSION_LEVEL);
public void indexBAM(File inputFile, String outputFileName) { final File bamIndexFile = new File(outputFileName); SamReaderFactory.setDefaultValidationStringency(ValidationStringency.SILENT); final SamReader samReader = SamReaderFactory.makeDefault(). enable(SamReaderFactory.Option.INCLUDE_SOURCE_IN_RECORDS). open(inputFile); BAMIndexer indexer = new BAMIndexer(bamIndexFile, samReader.getFileHeader()); long totalRecords = 0; // create and write the content SAMRecordIterator iter = samReader.iterator().assertSorted(SAMFileHeader.SortOrder.coordinate); while(iter.hasNext()) { SAMRecord rec = iter.next(); if (++totalRecords % 1000000 == 0) { if (null != log) log.info(totalRecords + " reads processed ..."); } indexer.processAlignment(rec); } indexer.finish(); }
@Override public void run() throws IOException { SamReaderFactory.setDefaultValidationStringency(ValidationStringency.SILENT); final SamReader reader = SamReaderFactory.makeDefault().open(inputFile); reader.getFileHeader().setSortOrder(SAMFileHeader.SortOrder.coordinate); SAMFileWriterFactory samFileWriterFactory = new SAMFileWriterFactory(); if(this.tmpDir != null) { samFileWriterFactory.setTempDirectory(this.tmpDir); } if(this.maxRecords > 0) { samFileWriterFactory.setMaxRecordsInRam(this.maxRecords); } final SAMFileWriter writer = samFileWriterFactory.makeSAMOrBAMWriter(reader.getFileHeader(), false, outputFile); int count = 0; for (final SAMRecord rec : reader) { if(++count % 100000 == 0) { if(IGV.hasInstance()) { System.out.println("" + count + " records processed"); // GUI } else { log.info("" + count + " records processed"); // Command line } } writer.addAlignment(rec); } CloserUtil.close(reader); writer.close(); }