Introduces a comprehensive documentation set covering theoretical foundations, CLI usage, installation, and system architecture. Adds MkDocs configuration and Makefile targets to generate, serve with live reload, and clean the documentation site. Includes citation styles and bibliography files for academic references.
2.1 KiB
select
Project and/or aggregate the genome columns of an index into a new (or in-place) index. Where filter selects rows (kmers), select operates on columns (genomes): grouping several genomes into one aggregated column, reordering columns, or dropping some.
obikmer select SOURCE (--output OUTPUT | --in-place) [OPTIONS]
Arguments
| Argument | Description |
|---|---|
SOURCE |
Source index directory |
Options
| Option | Default | Description |
|---|---|---|
--output |
— | Output index directory (mutually exclusive with --in-place) |
--in-place |
off | Rewrite the source index in place (mutually exclusive with --output) |
-f, --force |
off | Overwrite an existing output directory |
--group NAME:PRED |
none | Define a named group of genomes by predicate (repeatable; mutually exclusive with --aggregate-by) |
--group-op NAME:OP |
none | Aggregation operator for a named group |
--aggregate-by KEY |
none | Automatically create one group per distinct value of a metadata key (mutually exclusive with --group) |
--aggregate-op OP |
none | Aggregation operator applied to every auto-generated group |
--select COL,... |
all columns | Output columns, in order (group names or genome labels) |
--presence-threshold |
0 |
Minimum count for a genome to be considered a carrier (logical operators only) |
Aggregation operators
any, all, none (logical, evaluated against --presence-threshold), sum, min, max (numeric, count index only). If a group's operator is left unspecified, it defaults to any when the source is a presence/absence index and sum when it stores counts.
A select never changes the underlying kmer set — only the per-genome data (counts or presence) is rewritten, so an unaggregated pass-through column (a plain genome label in --select) is a cheap copy.
At least one of --output/--in-place is required, and at least one output column must be defined; every name listed in --select must resolve to either a defined group or an existing genome label. See Genome predicates and taxonomy paths for the predicate syntax used by --group.