Skip to content

feat: implement exact seeded base-pair probabilities (#257) - #258

Open
Alexander-Mitrofanov wants to merge 8 commits into
masterfrom
docs/257-base-pair-probability-plan
Open

Alexander-Mitrofanov wants to merge 8 commits into
masterfrom
docs/257-base-pair-probability-plan

Conversation

@Alexander-Mitrofanov

@Alexander-Mitrofanov Alexander-Mitrofanov commented Oct 8, 2026 •

Copy link
Copy Markdown
Collaborator

Exact seeded --model=P --mode=M prediction now counts each complete interaction once, even when it contains several overlapping or disjoint seeds. --out=bpProb:FILE reports actual interior-pair probabilities over the union of searched disjoint regions, using the same raw partition denominator as prediction without pair output.

The implementation follows the reviewed plan on this existing branch in seven separate commits, one per step:

  1. 88f4369: Establish an independent exhaustive weighted-chain oracle and all ten unrounded theory fixtures.
  2. 62afc24: Compile geometric stack-seed capability, active occurrences, and eligible domains.
  3. 5c8907c: Validate and compare both kernel candidates and select the suffix kernel.
  4. 8bd8534: Integrate unique partition accounting, shared boundary coefficients, extension hooks, and exact-zero handling.
  5. 99919de: Accumulate raw pair masses in original coordinates across successful disjoint regions.
  6. 3f6d3d1: Expose the matrix writer and CLI output, including multiFASTA, gzip, and shared streams.
  7. 48efc54: Complete validation, documentation, performance measurements, installed consumer checks, and packaging.

Stack-seed admission is preserved, including accepted mixed-length and singleton explicit seeds. Existing bulged and heuristic prediction paths remain available; unsupported combinations with bpProb fail explicitly. The new matrix contains actual pairs; existing spot output retains its coverage interpretation. Successful empty searches produce NA entries. Numerical range errors fail explicitly without a scaling fallback, and failed calculations do not publish a partial probability matrix. Corrected partition accounting can change ensemble results; no golden output was regenerated to conceal differences.

Validation:

  • GCC 14.4 release and debug builds each pass all seven test suites, including 91,361 API assertions in 85 cases.
  • Both kernels agree with independent enumeration across ten theory fixtures and 100 randomized heterogeneous cases, plus native energy and accessibility checks.
  • CLI checks cover reporting invariance, disjoint regions, signed coordinates, GU admission, tiny partitions, singleton and mixed seeds, empty searches, unsupported modes, I/O failures, scientific notation, gzip, and serial/parallel multiFASTA output.
  • All 74 installed public headers compile independently. The installed predictor example links through pkg-config; the missing -leasylogging dependency is fixed and CI now runs this consumer.
  • make dist succeeds and includes all 23 new distributable files. Encoding and git diff --check pass.
  • The native OxyS–fhlA measurement takes a median 0.09 s without the matrix and 0.16 s with it over three runs, with identical raw partition totals. These figures compare output modes, not legacy performance.

See kernel comparison and validation report for reproducible commands and limitations. Apple Clang validation is left to the existing macOS CI because that toolchain is unavailable locally.

Addresses #257.

@martin-raden

Copy link
Copy Markdown
Member

@Alexander-Mitrofanov

thanks, implement the plan in multiple commits (at least one per step) to this branch

@Alexander-Mitrofanov Alexander-Mitrofanov changed the title docs: plan exact seeded base-pair probabilities (#257) feat: implement exact seeded base-pair probabilities (#257) Oct 8, 2026

This branch has not been deployed

No deployments
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.

2 participants