Skip to content

Add IntaRNAeval for predefined RNA–RNA interaction energies - #251

Closed
Alexander-Mitrofanov wants to merge 1 commit into
masterfrom
feat/184-intarna-eval
Closed

Alexander-Mitrofanov wants to merge 1 commit into
masterfrom
feat/184-intarna-eval

Conversation

@Alexander-Mitrofanov

Copy link
Copy Markdown
Collaborator

Adds --rri and the IntaRNAeval personality to evaluate predefined RNA–RNA interactions through the existing energy models and output handlers. For example, IntaRNAeval -t GGGG -q CCCC --rri='1||||&1||||:2||&2||' reports the energies of both supplied structures without searching for replacements.

The new PredictorEvalOnly validates colon-separated hybridDB input, including shifted indices, bounds, pairing balance and complementarity. Evaluation requires one query and target, ignores prediction and output-filter constraints with INFO messages, and retains energy/accessibility settings. Distinct structures are reported in input order, including positive energies; duplicate structures count once. Direct reporting preserves different internal pairings with identical energies and boundaries. Partition functions and trackers describe only the supplied structures. Unavailable energies under the chosen accessibility/energy model fail with a diagnostic.

Includes API/CLI regression tests, installation of the personality through the existing mechanism, README/CLI documentation and both ChangeLog entries.

Validation on Linux with GCC 14 and the bundled Kokkos mdspan backend:

  • Release and debug make tests -j2: 73,801 assertions in 50 API cases and all three CLI suites pass in each build.
  • Regression coverage includes malformed inputs, single/GU pairs, shifted indices, ignored constraints, equal-energy structures, duplicates, tracker coordinates, partition resets and ViennaRNA prediction/evaluation energy round trips with/without dangling ends.
  • make install: installed IntaRNAeval command works; every installed public header compiles independently; an external evaluation consumer compiles, links and runs using pkg-config and the documented Easylogging++ initialization/flags.
  • make dist: includes the new predictor and regression tests.
  • git diff --check passes.

Fixes #184.

@martin-raden

Copy link
Copy Markdown
Member

this PR got broken on github.. replaced by #252

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.

IntaRNAeval (C++)

2 participants