Skip to content

Replace IntaRNA-fuse Perl script with Python - #296

Merged
martin-raden merged 9 commits into
masterfrom
feat/294-python-intarna-fuse
Oct 26, 2026
Merged

martin-raden merged 9 commits into
masterfrom
feat/294-python-intarna-fuse

Conversation

@Alexander-Mitrofanov

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

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.

The dependent Python companion-tool migration from PR #298 remains integrated. After merging current master, the C/C++ workflow again targets only pull requests into master, while the companion-tool workflow retains its dedicated Python-version matrix.

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 11 suites passed, none skipped.
  • PATH=/tmp/intarna-296-install/bin:$PATH make -C python check-python-tools: all 46 tests passed, none skipped.
  • make install and the installed IntaRNA-fuse.py --help invocation passed.
  • make dist passed; the archive contains the Python script and fusion tests, and no perl/ directory.
  • git diff origin/master...HEAD --check passed.

Fixes #294.

@martin-raden

Copy link
Copy Markdown
Member

@Alexander-Mitrofanov

thanks, please resolve the merge conflicts and reduce build to master branch

@martin-raden
martin-raden merged commit df1cd6e into master Oct 26, 2026
6 of 7 checks passed
@martin-raden
martin-raden deleted the feat/294-python-intarna-fuse branch October 26, 2026 17:49
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

2 participants