index
Build a genome index from one or more sequence files. Construction proceeds in phases (scatter → dereplicate → count → layered MPHF), described in On-disk storage.
obikmer index -o OUTPUT [OPTIONS] [INPUTS...]
Arguments
| Argument | Description |
|---|---|
INPUTS... |
Input sequence files or directories (FASTA/FASTQ/GenBank, gzip optional). If omitted, reads from stdin. |
Options
| Option | Default | Description |
|---|---|---|
-o, --output |
— (required) | Output index directory |
--force |
off | Overwrite an existing output directory |
--label |
input file name without extension | Genome label stored in the index |
--meta KEY=VALUE |
none | Attach a categorical metadata field to the genome (repeatable) |
-k, --kmer-size |
31 |
Kmer size (odd, in [11, 31]) |
-m, --minimizer-size |
11 |
Minimizer size (odd, in \([3, k-1]\)) |
--theta |
0.7 |
Entropy threshold for the low-complexity filter |
--level-max |
6 |
Maximum sub-word size for the entropy score |
-p, --partitions |
256 |
Number of partitions (rounded up to a power of 2) |
-T, --threads |
detected core count | Number of worker threads |
--max-open-files |
threads / 4 (min 1) |
Maximum number of input files open simultaneously |
--min-abundance |
1 |
Minimum abundance (inclusive) for a kmer to be retained |
--max-abundance |
none | Maximum abundance (inclusive) |
--with-counts |
off | Store per-kmer counts; otherwise only presence/absence is stored |
--keep-intermediate |
off | Keep intermediate build files instead of deleting them after construction |
--approx |
off | Use approximate evidence (Findere fingerprint) instead of exact evidence |
-z, --findere-z |
see below | Findere z parameter: number of consecutive kmers that must all match (approximate evidence only) |
--evidence-bits |
see below | Fingerprint bits per slot (b), approximate evidence only |
--fp |
see below | Target false-positive rate per z-window, approximate evidence only |
--block-size |
1 |
Block size, in unitigs, for the exact on-disk index (rounded up to a power of 2) |
Exact vs. approximate evidence
By default, an index stores exact evidence: a kmer is either present or absent (or has an exact count with --with-counts), with no false positives.
With --approx, evidence is stored as a compact fingerprint instead, trading a small, tunable false-positive rate for reduced memory/disk usage. The false-positive model is:
where \(b\) is --evidence-bits and \(z\) is --findere-z. Any two of -z, --evidence-bits, --fp can be given and the third is derived; if none are given, defaults are \(b=8\), \(z=1\) (\(FP \approx 1/256\)). See estimate to explore this trade-off before building an index, and reindex to convert an existing index between the two representations.
z must be strictly less than k: the effective indexed kmer length under approximate evidence is k−z+1.