skillfed

ViennaRNA

A library for the prediction and comparison of RNA secondary structures.

viennarna v2.7.2 109.3K downloads/30d#12,523 on PyPI422
License unclear Disclaimer and Copyright The programs, library and source code of the Vienna RNA Package are free software. They are distributed in the hope that they will be useful but WITHOUT ANY WARRANTY; without… (full text in the JSON record) Active released

What it is and what it does

ViennaRNA is a Python interface to a mature C library for RNA secondary structure prediction and analysis. It lets you compute minimum free energy structures, ensemble partition functions, equilibrium probabilities, suboptimal structures, and local structures in long sequences. The package also supports consensus structure prediction from alignments, melting curve prediction, and interaction prediction between multiple RNA molecules.

The library is designed for computational biology and bioinformatics workflows where you need to model RNA folding thermodynamics. It has no runtime dependencies beyond Python itself (the C code is compiled into the wheel), making it straightforward to integrate into analysis pipelines. The package is actively maintained, supports current Python versions, and carries no known security vulnerabilities.

Use it for:

  • Predict the most stable secondary structure of an RNA sequence to understand its likely biological conformation.
  • Calculate the partition function and ensemble probabilities to study RNA structural heterogeneity and dynamics.
  • Find suboptimal structures within a specified energy range to explore alternative conformations.
  • Predict consensus structures from multiple sequence alignments to identify conserved structural motifs.
  • Compare two RNA secondary structures to quantify their similarity or dissimilarity.
  • Search for sequences that fold into a target structure for synthetic biology or aptamer design.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

ViennaRNA provides Python bindings to a C library for predicting and analyzing RNA secondary structures, including minimum free energy folding, partition function calculations, and structure comparison.

Yes, with conditions. Install if you need RNA secondary structure prediction in Python and can work with the custom, non-standard license. The package is actively maintained, has no known vulnerabilities, and provides pre-built wheels for common platforms, making installation straightforward. The main friction point is the ambiguous license terms for commercial use—verify with the authors if you plan to redistribute or embed the package in proprietary software.

Install

viennarna on PyPI

pip

pip install viennarna

uv

uv add viennarna

poetry

poetry add viennarna

Installing ViennaRNA

Before you install

Medium install friction due to compiled C extension wheels. The package provides pre-built wheels for Python 3.10–3.12 across macOS (Intel and ARM), Linux (glibc and musl), and Windows, reducing build-time complexity. Actively maintained with recent commits and no known vulnerabilities.

License in practice

License is custom and non-standard (not SPDX-identified). It permits research, educational, and commercial use with modification, provided no redistribution fee is charged beyond media costs and proper credit is given. Commercial inclusion requires author contact. This ambiguity may create friction in some corporate or open-source contexts.

Quickstart

pip install viennarna
import viennarna
# Use the library for RNA structure prediction

Requires Python >=3.8; pre-built wheels available for Python 3.10–3.12 on common platforms, but older or uncommon Python versions may require compilation.

Verify before relying

  • Whether the custom license permits unrestricted redistribution in derivative works or closed-source applications without explicit author approval.
  • Performance characteristics and typical runtime for large RNA sequences (e.g., sequences approaching the stated 32,700 length limit).
  • Specific API surface and function names available in the Python interface.

Package facts

License Disclaimer and Copyright The programs, library and source code of the Vienna RNA Package are free software. They are distributed in the hope that they will be useful but WITHOUT ANY WARRANTY; without… (full text in the JSON record) (unclear)
Python support supports the current Python release (>=3.8)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 227 days since the last release
Last repo commit
First released
Downloads 109,273/month — #12,523 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: viennarna-2.7.2-cp310-cp310-macosx_10_14_x86_64.whl; viennarna-2.7.2-cp310-cp310-macosx_11_0_arm64.whl; viennarna-2.7.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; viennarna-2.7.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; viennarna-2.7.2-cp310-cp310-musllinux_1_2_aarch64.whl; viennarna-2.7.2-cp310-cp310-musllinux_1_2_x86_64.whl; viennarna-2.7.2-cp310-cp310-win_amd64.whl; viennarna-2.7.2-cp311-cp311-macosx_10_14_x86_64.whl; viennarna-2.7.2-cp311-cp311-macosx_11_0_arm64.whl; viennarna-2.7.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; viennarna-2.7.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; viennarna-2.7.2-cp311-cp311-musllinux_1_2_aarch64.whl; viennarna-2.7.2-cp311-cp311-musllinux_1_2_x86_64.whl; viennarna-2.7.2-cp311-cp311-win_amd64.whl; viennarna-2.7.2-cp312-cp312-macosx_10_14_x86_64.whl; viennarna-2.7.2-cp312-cp312-macosx_11_0_arm64.whl; viennarna-2.7.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; viennarna-2.7.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; viennarna-2.7.2-cp312-cp312-musllinux_1_2_aarch64.whl; viennarna-2.7.2-cp312-cp312-musllinux_1_2_x86_64.whl

Keywords: synthetic, computational, biology, genetic, DNA, RNA, secondary, structure, prediction, minimum, free, energy, centroid, subopt, mfe, ViennaRNA, dynamic, partition function, modified base, constraints, programming

Development Status :: 5 - Production/StableIntended Audience :: EducationIntended Audience :: Science/ResearchOperating System :: MacOS :: MacOS XOperating System :: UnixProgramming Language :: PythonProgramming Language :: Python :: 3Topic :: Scientific/EngineeringTopic :: Scientific/Engineering :: Bio-InformaticsTopic :: Scientific/Engineering :: Chemistry

Tags

RNA secondary structure predictionRNA folding minimum free energypartition function RNA ensembleRNA structure comparisoncomputational RNA biologyRNA thermodynamics calculationsuboptimal RNA structures
rna-structurebioinformaticsthermodynamics

More Scientific/Engineering packages