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
finalSamReaderFactory
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
finalSamReaderFactory
factory = SamReaderFactory.makeDefault() .enable(SamReaderFactory.Option.INCLUDE_SOURCE_IN_RECORDS
,SamReaderFactory.Option.VALIDATE_CRC_CHECKSUMS
) .validationStringency(ValidationStringency.SILENT
); // File-based bam finalSamReader
fileReader = factory.open(new File("/my/bam.bam")); // HTTP-hosted BAM with index from an arbitrary stream final SeekableStream myBamIndexStream = ... finalSamInputResource
resource =SamInputResource
.of(new URL("http://example.com/data.bam")).index(myBamIndexStream); finalSamReader
complicatedReader = factory.open(resource);
Modifier and Type | Class and Description |
---|---|
static class |
SamReaderFactory.Option
A collection of binary
SamReaderFactory options. |
Constructor and Description |
---|
SamReaderFactory() |
Modifier and Type | Method and Description |
---|---|
abstract SamReaderFactory |
disable(SamReaderFactory.Option... options)
Disables the provided
SamReaderFactory.Option s, then returns itself. |
abstract SamReaderFactory |
enable(SamReaderFactory.Option... options)
Enables the provided
SamReaderFactory.Option s, then returns itself. |
abstract SAMFileHeader |
getFileHeader(java.io.File samFile)
Utility method to open the file get the header and close the file
|
abstract SAMFileHeader |
getFileHeader(java.nio.file.Path samFile)
Utility method to open the file get the header and close the file
|
abstract SamReaderFactory |
inflaterFactory(InflaterFactory inflaterFactory)
Set this factory's
InflaterFactory to the provided one, then returns itself. |
static SamReaderFactory |
make()
Creates an "empty" factory with no enabled
SamReaderFactory.Option s, ValidationStringency.DEFAULT_STRINGENCY ,
no path wrapper, and DefaultSAMRecordFactory . |
static SamReaderFactory |
makeDefault()
Creates a copy of the default
SamReaderFactory . |
abstract SamReader |
open(java.io.File file) |
SamReader |
open(java.nio.file.Path path)
Open the specified path (without using any wrappers).
|
SamReader |
open(java.nio.file.Path path,
java.util.function.Function<java.nio.channels.SeekableByteChannel,java.nio.channels.SeekableByteChannel> dataWrapper,
java.util.function.Function<java.nio.channels.SeekableByteChannel,java.nio.channels.SeekableByteChannel> indexWrapper)
Open the specified path, using the specified wrappers for prefetching/caching.
|
abstract SamReader |
open(SamInputResource resource) |
abstract void |
reapplyOptions(SamReader reader)
Reapplies any changed options to the reader *
|
abstract SamReaderFactory |
referenceSequence(java.io.File referenceSequence)
Sets the specified reference sequence *
|
abstract SamReaderFactory |
referenceSequence(java.nio.file.Path referenceSequence)
Sets the specified reference sequence.
|
abstract CRAMReferenceSource |
referenceSource() |
abstract SamReaderFactory |
referenceSource(CRAMReferenceSource 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 SamReaderFactory |
setUseAsyncIo(boolean asynchronousIO)
Set whether readers created by this factory will use asynchronous IO.
|
abstract ValidationStringency |
validationStringency() |
abstract SamReaderFactory |
validationStringency(ValidationStringency validationStringency)
Set this factory's
ValidationStringency to the provided one, then returns itself. |
public abstract SamReader open(java.io.File file)
public SamReader open(java.nio.file.Path path)
path
- the SAM or BAM file to open.public SamReader open(java.nio.file.Path path, java.util.function.Function<java.nio.channels.SeekableByteChannel,java.nio.channels.SeekableByteChannel> dataWrapper, java.util.function.Function<java.nio.channels.SeekableByteChannel,java.nio.channels.SeekableByteChannel> indexWrapper)
path
- the SAM or BAM file to opendataWrapper
- the wrapper for the data (or null for none)indexWrapper
- the wrapper for the index (or null for none)public abstract SamReader open(SamInputResource resource)
public abstract ValidationStringency validationStringency()
public abstract CRAMReferenceSource referenceSource()
public abstract SamReaderFactory samRecordFactory(SAMRecordFactory samRecordFactory)
SAMRecordFactory
to the provided one, then returns itself.public abstract SamReaderFactory inflaterFactory(InflaterFactory inflaterFactory)
InflaterFactory
to the provided one, then returns itself.
Note: The inflaterFactory provided here is only used for BAM decompression implemented with BAMFileReader
,
it is not used for CRAM or other formats like a gzipped SAM file.public abstract SamReaderFactory enable(SamReaderFactory.Option... options)
SamReaderFactory.Option
s, then returns itself.public abstract SamReaderFactory disable(SamReaderFactory.Option... options)
SamReaderFactory.Option
s, then returns itself.public abstract SamReaderFactory setOption(SamReaderFactory.Option option, boolean value)
public abstract SamReaderFactory referenceSequence(java.io.File referenceSequence)
public abstract SamReaderFactory referenceSequence(java.nio.file.Path referenceSequence)
public abstract SamReaderFactory referenceSource(CRAMReferenceSource referenceSequence)
public abstract SAMFileHeader getFileHeader(java.io.File samFile)
public abstract SAMFileHeader getFileHeader(java.nio.file.Path samFile)
public abstract void reapplyOptions(SamReader reader)
public abstract SamReaderFactory validationStringency(ValidationStringency validationStringency)
ValidationStringency
to the provided one, then returns itself.public abstract SamReaderFactory setUseAsyncIo(boolean asynchronousIO)
Defaults.USE_ASYNC_IO_READ_FOR_SAMTOOLS
.
Note that this option may not be applicable to all readers returned from this factory.
Returns the factory itself.public static void setDefaultValidationStringency(ValidationStringency defaultValidationStringency)
public static SamReaderFactory makeDefault()
SamReaderFactory
.public static SamReaderFactory make()
SamReaderFactory.Option
s, ValidationStringency.DEFAULT_STRINGENCY
,
no path wrapper, and DefaultSAMRecordFactory
.