Tabix index
A tabix index maps sequence names and genomic intervals to locations in a coordinate-sorted BGZF-compressed tabular file.
Li's 2011 design combines hierarchical bins with a linear index to reduce unnecessary seeks. TBI records include parsing conventions, sequence names and virtual-offset chunks; its index file is itself BGZF compressed. [1] [3]
The tabix command can create TBI or CSI. TBI has a 2^29-base coordinate limit; CSI generalizes the binning geometry. CSI also serves formats other than tabix text, so not every CSI file is a tabix index. [2] [4]
A command-line region such as chr1:101-110 is 1-based inclusive, while a BED interval chr1 100 110 is 0-based half-open. Indexing settings define how input columns are interpreted; the interval query syntax is a separate convention. [2]
The specified TBI fields do not include a mandatory data-file digest. Engineering implication: validate the index against its intended data generation before preserving them together; integrity checks of each file alone do not establish that relationship. [3]
In Hesela's synthetic three-record BED experiment, a stale TBI or CSI index returned zero instead of two matching rows with successful exit on HTSlib 1.22.1 and 1.24. Broad and unchanged-region queries passed; rebuilding the index restored the narrow result. An older mtime warned without failing, while equal/newer stale mtimes did not warn. The successful sequential -T control still loaded index metadata. These are designed cases on one host, not production incidence or general index-free recovery. [5]
Relations
Citations
- Heng Li. Tabix: fast retrieval of sequence features from generic TAB-delimited files. Bioinformatics 27(5), 718-719 (2011).
- HTSlib 1.24 tabix manual: coordinate conventions, TBI limit and CSI selection
- The Tabix index file format: fields, coordinate flag and chunk offsets
- CSI version 1: configurable binning geometry and auxiliary metadata
- Hesela: BGZF/tabix generation mismatch, native captures and reproduction method