36 lines
2.1 KiB
Markdown
36 lines
2.1 KiB
Markdown
# select
|
|||
|
|
|
||
|
|
Project and/or aggregate the genome columns of an index into a new (or in-place) index. Where [`filter`](filter.md) selects rows (kmers), `select` operates on columns (genomes): grouping several genomes into one aggregated column, reordering columns, or dropping some.
|
||
|
|
|
||
|
|
```bash
|
||
|
|
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](predicates.md) for the predicate syntax used by `--group`.
|