# LinearFold: linear-time approximate RNA folding by 5'-to-3' dynamic programming and beam search

arXiv: https://arxiv.org/abs/2001.04020 · HTML: https://mlsanity.com/paper/2001.04020/

## Key facts

- Cited by 10 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 22 Dec 2019.

## Built on by (most cited first, 10 of 10)

- [BEACON: Benchmark for Comprehensive RNA Tasks and Language Models](https://mlsanity.com/paper/2406.10391/) (2024)
- [Scalable Deep Learning for RNA Secondary Structure Prediction](https://mlsanity.com/paper/2307.10073/) (2023)
- [SynJax: Structured Probability Distributions for JAX](https://mlsanity.com/paper/2308.03291/) (2023)
- [Deciphering RNA Secondary Structure Prediction: A Probabilistic K-Rook Matching Perspective](https://mlsanity.com/paper/2212.14041/) (2022)
- [Messenger RNA Design via Expected Partition Function and Continuous Optimization](https://mlsanity.com/paper/2401.00037/) (2023)
- [Rethinking Performance Measures of RNA Secondary Structure Problems](https://mlsanity.com/paper/2401.05351/) (2023)
- [Sampling-based Continuous Optimization with Coupled Variables for RNA Design](https://mlsanity.com/paper/2412.08751/) (2024)
- [Crypto-ncRNA: a bio-inspired post-quantum cryptographic primitive exploiting RNA folding complexity](https://mlsanity.com/paper/2504.17878/) (2025)
- [Protein-Conditioned Multi-Objective Reinforcement Learning for Full-Length mRNA Design](https://mlsanity.com/paper/2605.01513/) (2026)
- [Multi-Modal Machine Learning for Population- and Subject-Specific lncRNA-Type 2 Diabetes Association Analysis](https://mlsanity.com/paper/2605.20747/) (2026)

## Abstract (arXiv)

Motivation: Predicting the secondary structure of an RNA sequence is useful in many applications. Existing algorithms (based on dynamic programming) suffer from a major limitation: their runtimes scale cubically with the RNA length, and this slowness limits their use in genome-wide applications. Results: We present a novel alternative O(n3)-time dynamic programming algorithm for RNA folding that is amenable to heuristics that make it run in O(n) time and O(n) space, while producing a high-quality approximation to the optimal solution. Inspired by incremental parsing for context-free grammars in computational linguistics, our alternative dynamic programming algorithm scans the sequence in a left-to-right (5'-to-3') direction rather than in a bottom-up fashion, which allows us to employ the effective beam pruning heuristic. Our work, though inexact, is the first RNA folding algorithm to achieve linear runtime (and linear space) without imposing constraints on the output structure. Surprisingly, our approximate search results in even higher overall accuracy on a diverse database of sequences with known structures. More interestingly, it leads to significantly more accurate predictions on the longest sequence families in that database (16S and 23S Ribosomal RNAs), as well as improved accuracies for long-range base pairs (500+ nucleotides apart), both of which are well known to be challenging for the current models. Availability: Our source code is available at https://github.com/LinearFold/LinearFold, and our webserver is at http://linearfold.org (sequence limit: 100,000nt).
