Package htsjdk.samtools
Class CRAMContainerStreamWriter
java.lang.Object
htsjdk.samtools.CRAMContainerStreamWriter
Class for writing SAMRecords into a series of CRAM containers on an output stream, with an optional index.
-
Constructor Summary
ConstructorsConstructorDescriptionCRAMContainerStreamWriter(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
Modifier and TypeMethodDescriptionvoidfinish(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) voidWrite 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 Details
-
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 Details
-
writeAlignment
Accumulate alignment records until we meet the threshold to flush a container.- Parameters:
alignment- must not be null
-
writeHeader
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
-