The Nussinov algorithm is a
nucleic acid structure prediction
Nucleic acid structure prediction is a computational method to determine ''secondary'' and ''tertiary'' nucleic acid structure from its sequence. Secondary structure can be predicted from one or several nucleic acid sequences. Tertiary structure ...
algorithm used in
computational biology
Computational biology refers to the use of data analysis, mathematical modeling and computational simulations to understand biological systems and relationships. An intersection of computer science, biology, and big data, the field also has fo ...
to predict the folding of an
RNA
Ribonucleic acid (RNA) is a polymeric molecule essential in various biological roles in coding, decoding, regulation and expression of genes. RNA and deoxyribonucleic acid ( DNA) are nucleic acids. Along with lipids, proteins, and carbohydra ...
molecule that makes use of
dynamic programming principles. The algorithm was developed by
Ruth Nussinov
Ruth Nussinov (Hebrew: פרופסור רות נוסינוב) is an Israeli-American biologist who works as a Professor in the Department of Human Genetics, School of Medicine at Tel Aviv University and is the Senior Principal Scientist and Princi ...
in the late 1970s.
Background
RNA origami
RNA origami is the nanoscale folding of RNA, enabling the RNA to create particular shapes to organize these molecules. It is a new method that was developed by researchers from Aarhus University and California Institute of Technology. RNA origami ...
occurs when an RNA molecule "folds" and binds to itself. This folding often determines the function of the RNA molecule. RNA folds at different levels, this algorithm predicts the secondary structure of the RNA.
Algorithm
Scoring
We score a solution by counting the total number of paired bases. Thus, attempting to maximize the score that maximizes the total number of bonds between bases.
Motivation
Consider an RNA sequence
whose elements are taken from the set
. Let us imagine we have an optimal solution to the subproblem of folding
to
, and an optimal solution for folding
to
. Now, to align
to
, we have two options:
# Leave
unpaired, and keep the structure of
to
. The score for this alignment will be equal to the score of the alignment of
to
, as no new base pairs were created.
# Pair
with
, where