Package htsjdk.samtools.cram
Class CRAIIndexMerger
Merges CRAM index files for (headerless) parts of a CRAM file into a single index file.
A partitioned CRAM is a directory containing the following files:
- A file named header containing all header bytes (CRAM header and CRAM container containing the BAM header).
- Zero or more files named part-00000, part-00001, ... etc, containing CRAM containers.
- A file named terminator containing a CRAM end-of-file marker container.
- Parts and their indexes may be written in parallel, since one part file can be written independently of the others.
- A CRAM file can be created from a partitioned CRAM file by merging all the non-hidden files (header, part-00000, part-00001, ..., terminator).
- A CRAM index can be created from a partitioned CRAM file by merging all of the hidden files with a .crai suffix. Note that this is not a simple file concatenation operation. See
CRAIIndexMerger.
-
Field Summary
Fields inherited from class htsjdk.samtools.IndexMerger
out, partLengths -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidfinish(long dataFileLength) Finish merging the indexes, and close the output stream.voidprocessIndex(CRAIIndex index, long partLength) Process the next index and add to the merged index.
-
Constructor Details
-
CRAIIndexMerger
- Throws:
IOException
-
-
Method Details
-
processIndex
Description copied from class:IndexMergerProcess the next index and add to the merged index.- Specified by:
processIndexin classIndexMerger<CRAIIndex>- Parameters:
index- the index to mergepartLength- the length of the part file corresponding to the index, in bytes.
-
finish
Description copied from class:IndexMergerFinish merging the indexes, and close the output stream.- Specified by:
finishin classIndexMerger<CRAIIndex>- Parameters:
dataFileLength- the length of the total data file, in bytes.- Throws:
IOException- if an error occurs
-