Package htsjdk.samtools
Class CSIIndex
java.lang.Object
htsjdk.samtools.AbstractBAMFileIndex
htsjdk.samtools.CSIIndex
- All Implemented Interfaces:
BAMIndex,BrowseableBAMIndex,Closeable,AutoCloseable
Implementation of the CSI index for BAM files.
The CSI index extends the BAI index by allowing a more flexible
binning scheme, with variable depth (number of levels) and
bin sizes, thus allowing for genomic regions longer than 2^29-1.
-
Field Summary
Fields inherited from interface htsjdk.samtools.BAMIndex
BAI_INDEX_SUFFIX, BAMIndexSuffix, CSI_INDEX_SUFFIX -
Constructor Summary
ConstructorsConstructorDescriptionCSIIndex(SeekableStream stream, SAMSequenceDictionary dictionary) ConstructorsCSIIndex(File file, boolean enableMemoryMapping, SAMSequenceDictionary dictionary) CSIIndex(Path path, SAMSequenceDictionary dictionary) -
Method Summary
Modifier and TypeMethodDescriptionbyte[]intBin depth is the number of levels of the index.getBinsOverlapping(int referenceIndex, int startPos, int endPos) Get a list of bins in the BAM file that may contain SAMRecords for the given range.intgetFirstBinInLevelForCSI(int levelNumber) Extends the functionality ofAbstractBAMFileIndex.getFirstBinInLevel(int), which cannot be overridden due to its static nature.intgetFirstLocusInBin(Bin bin) Gets the first locus that this bin can index into.intgetLastLocusInBin(Bin bin) Gets the last locus that this bin can index into.intgetLevelForBin(Bin bin) Gets the level associated with the given bin number.intgetLevelSize(int levelNumber) Computes the number of bins on the given level.intintgetMetaData(int reference) Return meta data for the given reference including information about number of aligned, unaligned, and noCoordinate recordsint2^(min shift) is the smallest width of a binReturns count of records unassociated with any reference.intintgetParentBinNumber(int binNumber) intgetParentBinNumber(Bin bin) htsjdk.samtools.BAMIndexContentgetQueryResults(int referenceSequence) getSpanOverlapping(int referenceIndex, int startPos, int endPos) Gets the compressed chunks which should be searched for the contents of records contained by the span referenceIndex:startPos-endPos, inclusive.getSpanOverlapping(Bin bin) Perform an overlapping query of all bins bounding the given location.longUse to get close to the unmapped reads at the end of a BAM file.protected final voidInitialization method used for simplifying the constructor hierarchy.protected htsjdk.samtools.BAMIndexContentquery(int referenceSequence, int startPos, int endPos) protected voidskipToSequence(int sequenceIndex) protected voidverifyIndexMagicNumber(String sourceName) Methods inherited from class htsjdk.samtools.AbstractBAMFileIndex
close, getBamDictionary, getFirstBinInLevel, getMaxAddressibleGenomicLocation, getNumIndexLevels, optimizeChunkList, position, readBytes, readChunks, readInteger, readLong, regionToBins, seek, setSequenceIndexes, skipBytes
-
Constructor Details
-
CSIIndex
Constructors -
CSIIndex
- Throws:
IOException
-
CSIIndex
-
-
Method Details
-
getBinDepth
public int getBinDepth()Bin depth is the number of levels of the index. By default, BAI has 6 levels. CSI makes this variable. -
getMinShift
public int getMinShift()2^(min shift) is the smallest width of a bin -
getMaxBins
public int getMaxBins() -
getMaxSpan
public int getMaxSpan() -
getAuxData
public byte[] getAuxData() -
getNumberOfReferences
public int getNumberOfReferences()- Overrides:
getNumberOfReferencesin classAbstractBAMFileIndex
-
getLevelSize
public int getLevelSize(int levelNumber) Computes the number of bins on the given level.- Specified by:
getLevelSizein interfaceBrowseableBAMIndex- Overrides:
getLevelSizein classAbstractBAMFileIndex- Parameters:
levelNumber- Level for which to compute the size.- Returns:
-
getFirstBinInLevelForCSI
public int getFirstBinInLevelForCSI(int levelNumber) Extends the functionality ofAbstractBAMFileIndex.getFirstBinInLevel(int), which cannot be overridden due to its static nature. -
getLevelForBin
Description copied from class:AbstractBAMFileIndexGets the level associated with the given bin number.- Specified by:
getLevelForBinin interfaceBrowseableBAMIndex- Overrides:
getLevelForBinin classAbstractBAMFileIndex- Parameters:
bin- The bin for which to determine the level.- Returns:
- the level associated with the given bin number.
-
getFirstLocusInBin
Description copied from class:AbstractBAMFileIndexGets the first locus that this bin can index into.- Specified by:
getFirstLocusInBinin interfaceBrowseableBAMIndex- Overrides:
getFirstLocusInBinin classAbstractBAMFileIndex- Parameters:
bin- The bin to test.- Returns:
- The last position that the given bin can represent.
-
getLastLocusInBin
Description copied from class:AbstractBAMFileIndexGets the last locus that this bin can index into.- Specified by:
getLastLocusInBinin interfaceBrowseableBAMIndex- Overrides:
getLastLocusInBinin classAbstractBAMFileIndex- Parameters:
bin- The bin to test.- Returns:
- The last position that the given bin can represent.
-
getBinsOverlapping
Description copied from interface:BrowseableBAMIndexGet a list of bins in the BAM file that may contain SAMRecords for the given range.- Specified by:
getBinsOverlappingin interfaceBrowseableBAMIndex- Parameters:
referenceIndex- sequence of desired SAMRecordsstartPos- 1-based start of the desired interval, inclusiveendPos- 1-based end of the desired interval, inclusive- Returns:
- a list of bins that contain relevant data.
-
getSpanOverlapping
Description copied from interface:BAMIndexGets the compressed chunks which should be searched for the contents of records contained by the span referenceIndex:startPos-endPos, inclusive. See the BAM spec for more information on how a chunk is represented.- Specified by:
getSpanOverlappingin interfaceBAMIndex- Parameters:
referenceIndex- The contig.startPos- Genomic start of query.endPos- Genomic end of query.- Returns:
- A file span listing the chunks in the BAM file.
-
getSpanOverlapping
Description copied from interface:BrowseableBAMIndexPerform an overlapping query of all bins bounding the given location.- Specified by:
getSpanOverlappingin interfaceBrowseableBAMIndex- Parameters:
bin- The bin over which to perform an overlapping query.- Returns:
- The file pointers
-
getStartOfLastLinearBin
public long getStartOfLastLinearBin()Description copied from class:AbstractBAMFileIndexUse to get close to the unmapped reads at the end of a BAM file.- Specified by:
getStartOfLastLinearBinin interfaceBAMIndex- Overrides:
getStartOfLastLinearBinin classAbstractBAMFileIndex- Returns:
- The file offset of the first record in the last linear bin, or -1 if there are no elements in linear bins (i.e. no mapped reads).
-
verifyIndexMagicNumber
- Overrides:
verifyIndexMagicNumberin classAbstractBAMFileIndex
-
initParameters
protected final void initParameters()Description copied from class:AbstractBAMFileIndexInitialization method used for simplifying the constructor hierarchy.- Overrides:
initParametersin classAbstractBAMFileIndex
-
getParentBinNumber
public int getParentBinNumber(int binNumber) -
getParentBinNumber
-
query
protected htsjdk.samtools.BAMIndexContent query(int referenceSequence, int startPos, int endPos) - Overrides:
queryin classAbstractBAMFileIndex
-
getMetaData
Return meta data for the given reference including information about number of aligned, unaligned, and noCoordinate records- Specified by:
getMetaDatain interfaceBAMIndex- Overrides:
getMetaDatain classAbstractBAMFileIndex- Parameters:
reference- the reference of interest- Returns:
- meta data for the reference
-
getNoCoordinateCount
Returns count of records unassociated with any reference. Call before the index file is closed- Overrides:
getNoCoordinateCountin classAbstractBAMFileIndex- Returns:
- meta data at the end of the bam index that indicates count of records holding no coordinates or null if no meta data (old index format)
-
getQueryResults
public htsjdk.samtools.BAMIndexContent getQueryResults(int referenceSequence) - Specified by:
getQueryResultsin classAbstractBAMFileIndex
-
skipToSequence
protected void skipToSequence(int sequenceIndex) - Overrides:
skipToSequencein classAbstractBAMFileIndex
-