Skip to content

csubst benchmark

Kenji Fukushima edited this page Jun 3, 2026 · 1 revision

csubst benchmark

csubst benchmark runs csubst search repeatedly on the same input while varying selected search settings. Use it to compare runtime, output size, and convergence-score behavior across parameter choices.

Minimal command

csubst benchmark \
  --alignment_file alignment.fa.gz \
  --rooted_tree_file tree.nwk \
  --foreground foreground.txt \
  --benchmark_expectation_methods codon_model,urn \
  --benchmark_asrv_modes each,file \
  --benchmark_pseudocount_modes none,empirical

Each comma-delimited --benchmark_* option defines one dimension of the benchmark grid. For every combination, CSUBST launches a corresponding csubst search run and records summary metrics.

Common benchmark dimensions

  • --benchmark_expectation_methods
  • --benchmark_asrv_modes
  • --benchmark_nonsyn_recode_modes
  • --benchmark_sa_asr_modes
  • --benchmark_pseudocount_modes

Scoring controls

  • --benchmark_score_column
  • --benchmark_ocn_column
  • --benchmark_min_score
  • --benchmark_min_ocn

The default score column is omegaCany2spe.

Output files

By default, outputs are written under csubst_benchmark/, including:

  • csubst_benchmark_summary.tsv
  • csubst_benchmark_summary.json
  • csubst_outputs.tsv
  • per-run directories under runs/
  • per-run logs and search outputs

The TSV summary is the easiest file to inspect in scripts or spreadsheets. The JSON summary keeps the same run-level information in a structured format.

Practical notes

  • Run csubst doctor first when benchmarking a new dataset.
  • Keep benchmark runs on the same machine and with similar thread settings if runtime comparisons matter.
  • The benchmark command continues remaining configurations after a failed run by default. Use --benchmark_keep_going no to stop at the first failure.

Related pages

Clone this wiki locally