Skip to content

CLI reference

Everything below is generated from the gb-qc application itself, so it cannot fall behind the code. gb-qc evaluate-classes --help prints the same thing in your terminal.

The README carries the same options as annotated tables, with notes on when to reach for each one; tests/test_readme_cli_tables.py checks the two agree.

Quality control for genomic machine learning datasets.

Usage:

$ gb-qc [OPTIONS] COMMAND [ARGS]...

Options:

  • --version: Show the version and exit.
  • --install-completion: Install completion for the current shell.
  • --show-completion: Show completion for the current shell, to copy it or customize the installation.
  • --help: Show this message and exit.

Commands:

  • evaluate-classes: Compare every pair of classes and flag...
  • evaluate-splits: Search the test half of a split against...

gb-qc evaluate-classes

Compare every pair of classes and flag what tells them apart.

Sequence length, base and dinucleotide composition, per-position composition and duplicate sequences, each flagged Pass, Warning or Fail. Reports land in out-folder/class/, one directory per compared pair.

Usage:

$ gb-qc evaluate-classes [OPTIONS]

Options:

  • --input <str>: Input file(s). [required]
  • --sequence-column <str>: One or more sequence column names for CSV/TSV inputs. [default: sequence]
  • --label-column <str>: Label column name for single-file CSV inputs. [default: label]
  • --label-list <str>: List of labels to consider or "infer" to detect labels automatically. [default: infer]
  • --regression / --no-regression: Treat label column as regression target and split into high/low. [default: no-regression]
  • --out-folder <str>: Output folder for reports. [default: .]
  • --report-types <str>: Types of reports to generate (json, html, simple). [default: html, simple]
  • --end-position <int>: Last position the per-position checks reach. Defaults to the last position at least 50 of each class's sequences reach. Can only narrow the flagged window, never widen it - what is flagged is decided by --min-coverage, and that window is what the figures draw.
  • --min-coverage <float>: Fraction of each class's sequences that must reach a position before it can be flagged, on top of the 250 sequences every compared position needs. This window is what the per-position figures draw; further positions are reported as Unknown and not drawn. 0 leaves only the 250. [default: 0.25]
  • --plot-type <str>: Plot type to use for visualizations (boxen, violin). [default: boxen]
  • --log-level <str>: Logging level. [default: INFO]
  • --log-file <str>: Optional path to write logs to.
  • --help: Show this message and exit.

gb-qc evaluate-splits

Search the test half of a split against the train half and flag the leakage.

An MMseqs2 similarity search reports how much of the test set already appears in the training set, at or above --similarity-threshold. Reports land in out-folder/split/, one directory per compared pair.

Usage:

$ gb-qc evaluate-splits [OPTIONS]

Options:

  • --train-input <str>: Path to the dataset file(s) with training data. [required]
  • --test-input <str>: Path to the dataset file(s) with testing data. [required]
  • --sequence-column <str>: One or more sequence column names for CSV/TSV inputs. [default: sequence]
  • --out-folder <str>: Output folder for reports. [default: .]
  • --report-types <str>: Types of reports to generate (html, simple). [default: html, simple]
  • --similarity-threshold <float>: Similarity threshold for data leakage detection (%). [default: 90.0]
  • --threads <int>: Set maximum number of threads MMseqs2 will use.
  • --split-memory-limit <str>: Upper RAM limit for MMseqs2 prefilter structures (e.g., 10G, 1T).
  • --keep-tmp-files / --no-keep-tmp-files: Keep temporary files for debugging. [default: no-keep-tmp-files]
  • --log-level <str>: Logging level. [default: INFO]
  • --log-file <str>: Optional path to write logs to.
  • --help: Show this message and exit.