Package htsjdk.samtools.cram.build
Class CramIO
java.lang.Object
htsjdk.samtools.cram.build.CramIO
A collection of methods to read and write special values to/from CRAM files.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringDeprecated.static final intstatic final intstatic final intstatic final intstatic final byte[]The 'zero-B' EOF marker as per CRAM specs v2.1.static final byte[]The zero-F EOF marker as per CRAM specs v3.0. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic CramHeaderreadCramHeader(InputStream inputStream) Read CRAM header from the givenInputStream.static byte[]samHeaderToByteArray(SAMFileHeader samFileHeader) static longwriteCramEOF(CRAMVersion cramVersion, OutputStream outputStream) Write an end-of-file marker to theOutputStream.static longwriteCramHeader(CramHeader cramHeader, OutputStream outputStream) Writes CRAM header into the specifiedOutputStream.
-
Field Details
-
CRAM_FILE_EXTENSION
Deprecated.since June 2019 UseFileExtensions.CRAMinstead.- See Also:
-
ZERO_B_EOF_MARKER
public static final byte[] ZERO_B_EOF_MARKERThe 'zero-B' EOF marker as per CRAM specs v2.1. This is basically a serialized empty CRAM container with sequence id set to some number to spell out 'EOF' in hex. -
ZERO_F_EOF_MARKER
public static final byte[] ZERO_F_EOF_MARKERThe zero-F EOF marker as per CRAM specs v3.0. This is basically a serialized empty CRAM container with sequence id set to some number to spell out 'EOF' in hex. -
EOF_ALIGNMENT_START
public static final int EOF_ALIGNMENT_START- See Also:
-
EOF_BLOCK_SIZE_V3
public static final int EOF_BLOCK_SIZE_V3- See Also:
-
EOF_BLOCK_SIZE_V2
public static final int EOF_BLOCK_SIZE_V2- See Also:
-
EOF_ALIGNMENT_SPAN
public static final int EOF_ALIGNMENT_SPAN- See Also:
-
-
Constructor Details
-
CramIO
public CramIO()
-
-
Method Details
-
writeCramEOF
Write an end-of-file marker to theOutputStream. The specific EOF marker is chosen based on the CRAM version. On read, this is interpreted as a special container sentinel indicating no more containers. The treatment of these EOF markers is asymmetric in that on read, the EOF marker is read in as a special container with sentinel values indicating it is an EOF container (as defined by the spec).- Parameters:
cramVersion- the CRAM version to assumeoutputStream- the stream to write to- Returns:
- the number of bytes written out
-
writeCramHeader
Writes CRAM header into the specifiedOutputStream.- Parameters:
cramHeader- theCramHeaderobject to writeoutputStream- the output stream to write to- Returns:
- the number of bytes written out
-
readCramHeader
Read CRAM header from the givenInputStream.- Parameters:
inputStream- input stream to read from- Returns:
- complete
CramHeaderobject
-
samHeaderToByteArray
-
FileExtensions.CRAMinstead.