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);