Skip to content

Optional per-read scoring parameters (abpoa_para_t.read_abpt) - #13

Open
glennhickey wants to merge 3 commits into
mainfrom
main-per-read-params
Open

glennhickey wants to merge 3 commits into
mainfrom
main-per-read-params

Conversation

@glennhickey

Copy link
Copy Markdown

Adds an optional abpoa_para_t.read_abpt: an array of abpoa_para_t *, one per read, so a caller can score each read against the graph with its own parameters (substitution matrix, gap penalties). If the array is NULL, or a read's entry is, that read uses the shared parameters. So abPOA behaves exactly as before unless a caller sets it.

cactus uses it for per-row scoring in bar: each genome's row is aligned with the model for its divergence. ComparativeGenomicsToolkit/cactus#2024 pins this branch.

Changes:

  • read_abpt added to abpoa_para_t (in both copies of abpoa.h), and set to NULL in abpoa_init_para.
  • abpoa_anchor_poa and abpoa_poa align each read with its own parameters, including the reverse-complement threshold.

History: the branch is the original commit on v1.5.6, merged into ai-optimization (where it had to fit the packed DP rows), then into main (v1.5.7). Against main the diff is just those three files.

Testing on this branch:

  • With read_abpt unset, the CLI output is byte-identical to main's over test_data: 5 inputs × 13 option sets, 65 runs. The options cover alignment modes, result modes, scoring, convex gaps, banding, consensus, progressive, ambiguous strand and seeding.
  • A small program sets read_abpt, in both progressive modes. Identical copies of the default parameters for every read give the default alignment, and a different model for one read changes it.
  • In cactus, bar's per-row models run through it on evolver mammals.

🤖 Generated with Claude Code

glennhickey and others added 3 commits September 30, 2026 08:36
A caller aligning reads of mixed divergence in one abpoa_msa() call can
set read_abpt[i] to the parameters that should score read i against the
graph.  Only the sequence-to-graph alignment uses them; graph building,
read order and output keep using the call's own parameters.  NULL
(the default from abpoa_init_para) leaves every read scored as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…oring parameters (abpoa_para_t.read_abpt), on v1.5.7

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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