Nussinov algorithm

From testwiki
Jump to navigation Jump to search

Template:Short description Template:Infobox algorithm The Nussinov algorithm is a nucleic acid structure prediction algorithm used in computational biology to predict the folding of an RNA molecule that makes use of dynamic programming principles.[1] The algorithm was developed by Ruth Nussinov in the late 1970s.

Background

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 S whose elements are taken from the set {A,U,C,G}. Let us imagine we have an optimal solution to the subproblem of folding Si to Sj1, and an optimal solution for folding Su to Sv iuvj1 . Now, to align Si to Sj, we have two options:

  1. Leave Sj unpaired, and keep the structure of Si to Sj1. The score for this alignment will be equal to the score of the alignment of Si to Sj1, as no new base pairs were created.
  2. Pair Sj with Sk, where ik<j. The score for this alignment will be the score of the base pairing, plus the score of the best alignment of Si to Sk1 and Sk+1 to Sj1.

Algorithm

Consider an RNA sequence S of length n such that Si{A,U,C,G}.

Construct an n×n matrix M. Initialize M such that

M(i,i)=0

M(i,i1)=0

for 1in.

M(i,j) will contain the maximum score for the subsequence Si...Sj. Now, fill in entries of M up and to the right, so that

M(i,j)=maxik<j{M(i,k1)+M(k+1,j1)+Score(Sk,Sj)M(i,j1)

where Score(Sk,Sj)={1,Sk and Sj complementary0,otherwise.

After this step, we have a matrix M where M(i,j) represents the optimal score of the folding of Si...Sj.

To determine the structure of the folded RNA by traceback, we first create an empty list of pairs P. We initialize with i=1,j=n. Then, we follow one of three scenarios.

  1. If ji, the procedure stops.
  2. If M(i,j)=M(i,j1), then set i=i,j=j1 and continue.
  3. Otherwise, for all k:ik<j, ifSk and Sj are complementary and M(i,j)=M(i,k1)+M(k+1,j1)+1, append (k,j) to P, then traceback both with i=i,j=k1 and i=k+1,j=j1.

When the traceback finishes, P contains all of the paired bases.

Limitations

The Nussinov algorithm does not account for the three-dimensional shape of RNA, nor predict RNA pseudoknots.[2] Furthermore, in its basic form, it does not account for a minimum stem loop size. However, it is still useful as a fast algorithm for basic prediction of secondary structure.

References