Skip to content

Analyze output overlap modes and failure cases for issue 212 - #253

Draft
Alexander-Mitrofanov wants to merge 1 commit into
masterfrom
docs/212-overlap-analysis
Draft

Alexander-Mitrofanov wants to merge 1 commit into
masterfrom
docs/212-overlap-analysis

Conversation

@Alexander-Mitrofanov

Copy link
Copy Markdown
Collaborator

Restricted output can reuse forbidden sequence positions when results from separate regions are merged. Some heuristic predictors also bypass output filters or report incorrect energies for later candidates. This analysis documents six findings with small reproductions, code references and proposed repairs for discussion, as requested in #212. It makes no prediction or CLI behavior changes and does not close the issue.

The report distinguishes five correctness findings (regional overlap, regional energy windows, heuristic GU filtering, ensemble energy calculation and ensemble exhaustion) from the already documented loss of non-overlapping alternatives when only one right extension is retained. It compares all four overlap settings and explains why filtering the final merged top-k list alone cannot recover the best compatible alternatives.

Added doc/analysis/out-overlap.md and a standalone capture script. The script records known defects as observations, rather than making them regression expectations. Updated ChangeLog and documentation distribution.

Validation on master afede020fe7d1c44cf686684dc7eb40927f91583:

  • Fresh GCC 14.4 release build with bundled Kokkos, ViennaRNA 2.7.2 and Boost 1.85.0.
  • python3 doc/analysis/out-overlap/reproduce.py ./src/bin/IntaRNA --output /tmp/intarna-overlap-observations.json: 118 invocations; 64 controls across 16 predictor configurations and four overlap settings passed; three tiny exact site sets independently verified by structure enumeration.
  • All 20 existing CLI fixtures passed using tests/runIntaRNA.sh with INTARNABINPATH pointing to the repository root.
  • A focused sanitizer rebuild of the unchanged ensemble heuristic translation unit confirmed the infinity-to-integer conversion at PredictorMfeEns2dHeuristic.cpp:291.
  • Documentation distribution, local links, Python syntax, UTF-8/LF files and git diff --check verified. The full API suite was not rerun for this analysis-only change.

Draft for consultation on global versus per-region selection, completeness/runtime tradeoffs and tie-breaking before implementation.

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.

1 participant