Skip to content

CLI Reference

Overview

The CLI exposes the same analysis engine as the Python API. The three subcommands mirror the three main workflows: run a test, run a power analysis, generate a plot.

Global flags

--version prints the package version. --help on any subcommand prints usage details.

questvar test

Run a single pairwise comparison.

questvar test \
  --data input.parquet \
  --cond-1 Control_1,Control_2,Control_3 \
  --cond-2 Treated_1,Treated_2,Treated_3 \
  --output results.parquet

Input files

--data accepts parquet, CSV, and TSV files. The format is inferred from the file extension. CSV and TSV files use null_values=["", "NA", "NaN"].

Condition columns

--cond-1 and --cond-2 take comma-separated column names. Each must have at least two columns. Paired testing with --is-paired requires equal counts.

Threshold overrides

--cv-thr, --p-thr, --df-thr, and --eq-thr override individual config values. When --config is also provided, CLI flags take precedence.

Input scale

--input-scale raw (default) tells QuEStVar to expect raw positive intensities. --input-scale log2 tells it the input is already log2-transformed. The deprecated --is-log2 flag is an alias for --input-scale log2.

Correction

--correction selects the multiple testing correction method. Valid values: bonferroni, holm, hochberg, fdr, fdr_bh, BY, qvalue, or none.

Boolean flags

--allow-missing and --no-allow-missing control missing value handling. --is-paired and --no-is-paired switch between unpaired and paired testing. --var-equal and --no-var-equal control the variance assumption.

Config file

--config loads a YAML config file. CLI flags override any values from the file.

Output

--output specifies the result path. Supported formats: .parquet, .csv, .tsv. A sidecar .info.* file and a .meta.json file are written alongside the main output.

questvar power

Run a power analysis sweep from the command line.

questvar power \
  --eq-boundaries 0.1,0.3,0.5,0.7,0.9 \
  --n-reps-list 3,5,10,20 \
  --output power_results.parquet

Grid parameters

--eq-boundaries, --n-reps-list, --cv-mean-list, --cv-thr-list, and --n-prts-list define the design space. Each takes a comma-separated list of values.

Scalar overrides

--eq-thr, --n-reps, --cv-mean, and --cv-thr set single values. When a scalar is provided without a corresponding grid, it replaces the grid. When a grid is provided, the scalar is derived from the grid's first value.

Simulation parameters

--int-mu and --int-sd control the simulated mean log-intensity and its standard deviation. --cv-k and --cv-theta control the gamma CV distribution shape and scale. --n-iterations sets the Monte Carlo iterations per design point.

Targets

--target-sei and --target-power set the optimization targets for the design search. Defaults are 0.80 for both.

Output

--output supports .parquet, .csv, .tsv for design-grid-only export, and .json for full payload export (including run metrics, search results, and diagnostics).

questvar plot

Generate a figure from saved results.

questvar plot --type antlers --results results.parquet --output antlers.png
questvar plot --type power --results power_results.parquet --output power_profile.png

Types

--type antlers generates the standalone Antler plot from a TestResults file. --type power generates the power profile from a PowerResults file. Both file types are loaded with their metadata sidecar for full fidelity.

Output

--output accepts any matplotlib-supported image extension: png, svg, pdf, jpg, tiff.