htsjdk.samtools
Class SamReaderFactory

java.lang.Object
  extended by htsjdk.samtools.SamReaderFactory

public abstract class SamReaderFactory
extends java.lang.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);
 


Nested Class Summary
static class SamReaderFactory.Option
          A collection of binary SamReaderFactory options.
 
Constructor Summary
SamReaderFactory()
           
 
Method Summary
abstract  SamReaderFactory disable(SamReaderFactory.Option... options)
          Disables the provided SamReaderFactory.Options, then returns itself.
abstract  SamReaderFactory enable(SamReaderFactory.Option... options)
          Enables the provided SamReaderFactory.Options, then returns itself.
abstract  SAMFileHeader getFileHeader(java.io.File samFile)
          Utility method to open the file get the header and close the file
static SamReaderFactory make()
          Creates an "empty" factory with no enabled SamReaderFactory.Options, ValidationStringency.DEFAULT_STRINGENCY, and DefaultSAMRecordFactory.
static SamReaderFactory makeDefault()
          Creates a copy of the default SamReaderFactory.
abstract  SamReader open(java.io.File file)
           
abstract  SamReader open(SamInputResource resource)
           
abstract  void reapplyOptions(SamReader reader)
          Reapplies any changed options to the reader *
abstract  java.io.File referenceSequence()
           
abstract  SamReaderFactory referenceSequence(java.io.File referenceSequence)
          Sets the specified reference sequence *
abstract  SamReaderFactory samRecordFactory(SAMRecordFactory samRecordFactory)
          Set this factory's SAMRecordFactory to the provided one, then returns itself.
static void setDefaultValidationStringency(ValidationStringency defaultValidationStringency)
           
abstract  SamReaderFactory setOption(SamReaderFactory.Option option, boolean value)
          Sets a specific Option to a boolean value.
abstract  ValidationStringency validationStringency()
           
abstract  SamReaderFactory validationStringency(ValidationStringency validationStringency)
          Set this factory's ValidationStringency to the provided one, then returns itself.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SamReaderFactory

public SamReaderFactory()
Method Detail

open

public abstract SamReader open(java.io.File file)

open

public abstract SamReader open(SamInputResource resource)

validationStringency

public abstract ValidationStringency validationStringency()

referenceSequence

public abstract java.io.File referenceSequence()

samRecordFactory

public abstract SamReaderFactory samRecordFactory(SAMRecordFactory samRecordFactory)
Set this factory's SAMRecordFactory to the provided one, then returns itself.


enable

public abstract SamReaderFactory enable(SamReaderFactory.Option... options)
Enables the provided SamReaderFactory.Options, then returns itself.


disable

public abstract SamReaderFactory disable(SamReaderFactory.Option... options)
Disables the provided SamReaderFactory.Options, then returns itself.


setOption

public abstract SamReaderFactory setOption(SamReaderFactory.Option option,
                                           boolean value)
Sets a specific Option to a boolean value. *


referenceSequence

public abstract SamReaderFactory referenceSequence(java.io.File referenceSequence)
Sets the specified reference sequence *


getFileHeader

public abstract SAMFileHeader getFileHeader(java.io.File samFile)
Utility method to open the file get the header and close the file


reapplyOptions

public abstract void reapplyOptions(SamReader reader)
Reapplies any changed options to the reader *


validationStringency

public abstract SamReaderFactory validationStringency(ValidationStringency validationStringency)
Set this factory's ValidationStringency to the provided one, then returns itself.


setDefaultValidationStringency

public static void setDefaultValidationStringency(ValidationStringency defaultValidationStringency)

makeDefault

public static SamReaderFactory makeDefault()
Creates a copy of the default SamReaderFactory.


make

public static SamReaderFactory make()
Creates an "empty" factory with no enabled SamReaderFactory.Options, ValidationStringency.DEFAULT_STRINGENCY, and DefaultSAMRecordFactory.