Skip to content

csubst doctor

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

csubst doctor

csubst doctor checks input files, inferred IQ-TREE paths, foreground settings, and optional 3Di-related settings before running heavier workflows. Use it whenever you are setting up a new dataset or changing input paths.

Minimal command

csubst doctor \
  --alignment_file alignment.fa.gz \
  --rooted_tree_file tree.nwk \
  --foreground foreground.txt

What it checks

Typical checks include:

  • the alignment file exists and can be read
  • the rooted tree file exists and has matching tip labels
  • foreground specifications can be parsed
  • inferred IQ-TREE paths are sensible
  • the IQ-TREE executable is callable, unless --check_iqtree_exe no is used
  • 3Di-specific files and caches are available when --nonsyn_recode 3di20 is used

Output files

By default, csubst doctor writes into csubst_doctor/:

  • csubst_doctor_summary.tsv
  • csubst_doctor_summary.json
  • csubst_outputs.tsv
  • csubst.log

The TSV is the quickest human-readable summary. The JSON keeps the same check results in a structured format.

Failure policy

Use --doctor_fail_level to control when the command exits non-zero:

  • error: fail on errors
  • warning: fail on warnings or errors
  • never: write diagnostics but do not fail

Related pages

Clone this wiki locally