Differentiable partition function calculation for RNA

Marco C Matthies, Ryan Krueger, Andrew E Torda, Max Ward

Research output: Contribution to journalArticlepeer-review


Ribonucleic acid (RNA) is an essential molecule in a wide range of biological functions. In 1990, McCaskill introduced a dynamic programming algorithm for computing the partition function of an RNA sequence. McCaskill's algorithm is widely used today for understanding the thermodynamic properties of RNA. In this work, we introduce a generalization of McCaskill's algorithm that is well-defined over continuous inputs. Crucially, this enables us to implement an end-to-end differentiable partition function calculation. The derivative can be computed with respect to the input, or to any other fixed values, such as the parameters of the energy model. This builds a bridge between RNA thermodynamics and the tools of differentiable programming including deep learning as it enables the partition function to be incorporated directly into any end-to-end differentiable pipeline. To demonstrate the effectiveness of our new approach, we tackle the inverse folding problem directly using gradient optimization. We find that using the gradient to optimize the sequence directly is sufficient to arrive at sequences with a high probability of folding into the desired structure. This indicates that the gradients we compute are meaningful.

Original languageEnglish
Article numbere14
Pages (from-to)E14
JournalNucleic Acids Research
Issue number3
Early online date1 Dec 2023
Publication statusPublished - 9 Feb 2024


Dive into the research topics of 'Differentiable partition function calculation for RNA'. Together they form a unique fingerprint.

Cite this