ViennaRNA
A library for the prediction and comparison of RNA secondary structures.
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- 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.
- 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.
License · maintenance · safety
(unclear) — 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.
last release 2025-12-30 (227 days) · last repo commit 2026-02-24 · 422 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 109,273 downloads/mo, #12,523 on PyPI
Alternatives
Verify before relying
pip install viennarna
import viennarna
# Use the library for RNA structure prediction- 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.
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 on it.
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
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.
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.
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
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 | Not declared 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 |
| Classifiers | 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 |
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
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “RNA secondary structure prediction”
- ViennaRNAViennaRNA provides Python bindings to a C library for predicting and…
- pydsspPyDSSP assigns protein secondary structure (alpha-helix, beta-strand,…
- mdtrajMDTraj reads, writes, and analyzes molecular dynamics trajectories in…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also pydeseq2 · pydssp · mdtraj · chgnet · prolif · biotite · pdb2pqr · leidenalg · swiglpk · pymbar