Package htsjdk.samtools
Class CRAMContainerStreamWriter
- java.lang.Object
-
- htsjdk.samtools.CRAMContainerStreamWriter
-
public class CRAMContainerStreamWriter extends Object
Class for writing SAMRecords into a series of CRAM containers on an output stream, with an optional index.
-
-
Constructor Summary
Constructors Constructor Description CRAMContainerStreamWriter(CRAMEncodingStrategy encodingStrategy, CRAMReferenceSource referenceSource, SAMFileHeader samFileHeader, OutputStream outputStream, CRAMIndexer indexer, String outputIdentifier)Create a CRAMContainerStreamWriter for writing SAM records into a series of CRAM containers on output stream, with an optional index.CRAMContainerStreamWriter(OutputStream outputStream, CRAMReferenceSource source, SAMFileHeader samFileHeader, String outputIdentifier, CRAMIndexer indexer)Create a CRAMContainerStreamWriter for writing SAM records into a series of CRAM containers on output stream, with an optional index.CRAMContainerStreamWriter(OutputStream recordOutputStream, OutputStream indexOutputStream, CRAMReferenceSource source, SAMFileHeader samFileHeader, String outputIdentifier)Create a CRAMContainerStreamWriter for writing SAM records into a series of CRAM containers on output stream, with an optional index.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidfinish(boolean writeEOFContainer)Finish writing to the stream.voidwriteAlignment(SAMRecord alignment)Accumulate alignment records until we meet the threshold to flush a container.protected voidwriteContainer(Container container)voidwriteHeader()Write a CRAM file header and the previously provided SAM header to the stream.voidwriteHeader(SAMFileHeader requestedSAMFileHeader)Write a CRAM file header and the previously provided SAM header to the stream.
-
-
-
Constructor Detail
-
CRAMContainerStreamWriter
public CRAMContainerStreamWriter(OutputStream recordOutputStream, OutputStream indexOutputStream, CRAMReferenceSource source, SAMFileHeader samFileHeader, String outputIdentifier)
Create a CRAMContainerStreamWriter for writing SAM records into a series of CRAM containers on output stream, with an optional index.- Parameters:
recordOutputStream- where to write the CRAM stream.indexOutputStream- where to write the output index. Can be null if no index is required.source- reference cramReferenceSourcesamFileHeader-SAMFileHeaderto be used. Sort order is determined by the sortOrder property of this arg.outputIdentifier- used for display in error message display
-
CRAMContainerStreamWriter
public CRAMContainerStreamWriter(OutputStream outputStream, CRAMReferenceSource source, SAMFileHeader samFileHeader, String outputIdentifier, CRAMIndexer indexer)
Create a CRAMContainerStreamWriter for writing SAM records into a series of CRAM containers on output stream, with an optional index.- Parameters:
outputStream- where to write the CRAM stream.source- reference cramReferenceSourcesamFileHeader-SAMFileHeaderto be used. Sort order is determined by the sortOrder property of this arg.outputIdentifier- used for display in error message displayindexer- CRAM indexer. Can be null if no index is required.
-
CRAMContainerStreamWriter
public CRAMContainerStreamWriter(CRAMEncodingStrategy encodingStrategy, CRAMReferenceSource referenceSource, SAMFileHeader samFileHeader, OutputStream outputStream, CRAMIndexer indexer, String outputIdentifier)
Create a CRAMContainerStreamWriter for writing SAM records into a series of CRAM containers on output stream, with an optional index.- Parameters:
encodingStrategy- encoding strategy valuesreferenceSource- reference cramReferenceSourcesamFileHeader-SAMFileHeaderto be used. Sort order is determined by the sortOrder property of this arg.outputStream- where to write the CRAM stream.indexer- CRAM indexer. Can be null if no index is required.outputIdentifier- informational string included in error reporting
-
-
Method Detail
-
writeAlignment
public void writeAlignment(SAMRecord alignment)
Accumulate alignment records until we meet the threshold to flush a container.- Parameters:
alignment- must not be null
-
writeHeader
public void writeHeader(SAMFileHeader requestedSAMFileHeader)
Write a CRAM file header and the previously provided SAM header to the stream.
-
writeHeader
public void writeHeader()
Write a CRAM file header and the previously provided SAM header to the stream.
-
finish
public void finish(boolean writeEOFContainer)
Finish writing to the stream. Flushes the record cache and optionally emits an EOF container.- Parameters:
writeEOFContainer- true if an EOF container should be written. Only use false if writing a CRAM file fragment which will later be aggregated into a complete CRAM file.
-
writeContainer
protected void writeContainer(Container container)
-
-