Class SamReaderFactory

java.lang.Object
htsjdk.samtools.SamReaderFactory

public abstract class SamReaderFactory extends Object

Describes the functionality for producing SamReader, and offers a handful of static generators.

     SamReaderFactory.makeDefault().open(new File("/my/bam.bam");
 

Example: Configure a factory

      final SamReaderFactory factory =
          SamReaderFactory.makeDefault()
              .enable(SamReaderFactory.Option.INCLUDE_SOURCE_IN_RECORDS, SamReaderFactory.Option.VALIDATE_CRC_CHECKSUMS)
              .validationStringency(ValidationStringency.SILENT);

 

Example: Open two bam files from different sources, using different options

     final SamReaderFactory factory =
          SamReaderFactory.makeDefault()
              .enable(SamReaderFactory.Option.INCLUDE_SOURCE_IN_RECORDS, SamReaderFactory.Option.VALIDATE_CRC_CHECKSUMS)
              .validationStringency(ValidationStringency.SILENT);

     // File-based bam
     final SamReader fileReader = factory.open(new File("/my/bam.bam"));

     // HTTP-hosted BAM with index from an arbitrary stream
     final SeekableStream myBamIndexStream = ...
     final SamInputResource resource =
          SamInputResource.of(new URL("http://example.com/data.bam")).index(myBamIndexStream);
     final SamReader complicatedReader = factory.open(resource);