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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
finish
(long dataFileLength) Finish merging the indexes, and close the output stream.void
processIndex
(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:IndexMerger
Process the next index and add to the merged index.- Specified by:
processIndex
in 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:IndexMerger
Finish merging the indexes, and close the output stream.- Specified by:
finish
in classIndexMerger<CRAIIndex>
- Parameters:
dataFileLength
- the length of the total data file, in bytes.- Throws:
IOException
- if an error occurs
-