Skip to content

feat: dual-reference rendering for heterologous MSAs#4

Merged
tmsincomb merged 6 commits into
mainfrom
feature/heterologous-row-support
Apr 29, 2026
Merged

feat: dual-reference rendering for heterologous MSAs#4
tmsincomb merged 6 commits into
mainfrom
feature/heterologous-row-support

Conversation

@tmsincomb

@tmsincomb tmsincomb commented Apr 29, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds variant-call ref / numbering-ref split so HIV-style alignments can color mismatches against one strain (e.g. SF162p3) while numbering the x-axis from another (e.g. HxB2).
  • New CLI flags: --variant-ref, --numbering-ref, --show-row-labels, --tick-every, --per-panel-axes, --max-rows, --show.
  • Renderer gains second x-axis for dual-ref, per-panel axes, and row labels; BAM path warns on fasta-only flags.

Test plan

  • pytest tests/test_dual_ref.py tests/test_heterologous.py tests/test_per_panel_axes.py tests/test_cli.py tests/test_fasta.py
  • Spot-check regenerated tests/output/*.png (dual_ref, per_panel_axes, row_labels)
  • CLI smoke: tview <fasta> --variant-ref SF162p3 --numbering-ref HxB2 --show-row-labels --tick-every 25
  • Verify --show invokes kitten icat only when terminal supports it (only works for ghostty)

Adds variant-call ref / numbering-ref split so HIV-style alignments can color
mismatches against one strain (e.g. SF162p3) while numbering the x-axis from
another (e.g. HxB2). New CLI flags: --variant-ref, --numbering-ref,
--show-row-labels, --tick-every, --per-panel-axes, --max-rows, --show.

- fasta_panel: variant_ref/numbering_ref selection, max_rows cap, tick_every
- renderer: second x-axis for dual-ref, per-panel axes, row labels
- cli: kitten icat --show, BAM warn-on-fasta-only flags, max_rows
- tests: dual-ref, per-panel axes, CLI flag coverage; regenerated outputs
- README: dual-reference section, per-row labels, tick frequency examples
Click <8.2 requires mix_stderr=False to access result.stderr; Click 8.2+
removed that parameter and stderr capture differs. Try mix_stderr=False
first, fall back to default runner, and tolerate either stderr or
combined output for the kitten missing-soft-failure assertion.
@tmsincomb tmsincomb merged commit d17f308 into main Apr 29, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant