Skip to content

Replace IntaRNA-fuse Perl script with Python - #296

Open
Alexander-Mitrofanov wants to merge 1 commit into
masterfrom
feat/294-python-intarna-fuse
Open

Alexander-Mitrofanov wants to merge 1 commit into
masterfrom
feat/294-python-intarna-fuse

Conversation

@Alexander-Mitrofanov

Copy link
Copy Markdown
Collaborator

Replace the Perl IntaRNA-fuse prototype with python/IntaRNA-fuse.py, installed alongside IntaRNA by make install. Remove the old perl/ directory and its Autotools references, and update usage, migration, energy/output documentation and ChangeLog.

The Python version preserves the short options and defaults, semicolon-separated CSV, pairwise compatibility criterion and fusion energy formula (including both initiation terms). It honors the supplied sequences instead of overwriting them with an example, handles empty predictions, and reports failed commands or malformed results instead of silently substituting zero energies. It uses only Python's standard library and calls IntaRNA/RNAfold without a shell.

Validation on Linux with GCC 14.4, ViennaRNA 2.7.2, Boost 1.85 and Python 3.12.7:

  • bash autotools-init.sh and automake --warnings=portability,error passed.
  • Fresh release build and make tests -j2: all 9 suites passed, none skipped.
  • The new fusion suite passed all 10 tests, covering sequences/options, constraints, energies, CSV order, executable discovery, empty results and errors, plus an independent native OxyS/fhlA energy check.
  • make install and an invocation of the installed script passed.
  • make dist passed; inspected the archive for the Python script, documentation and tests, and confirmed that perl/ is absent.
  • Python 3.6 syntax compatibility, shell syntax and git diff --check passed.

Local out-of-tree validation required staging the generated IntaRNA.pc in the source directory and copying the existing test data into the build directory for distribution. These work around existing source-relative packaging paths; no generated files or unrelated build fixes are committed.

Fixes #294.

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.

rewrite intarnafuse perl script in python

1 participant