Probalign

From HandWiki

Probalign is a sequence alignment tool that calculates a maximum expected accuracy alignment using partition function posterior probabilities.[1] Base pair probabilities are estimated using an estimate similar to Boltzmann distribution. The partition function is calculated using a dynamic programming approach.

Algorithm

The following describes the algorithm used by probalign to determine the base pair probabilities.[2]

Alignment score

To score an alignment of two sequences two things are needed:

  • a similarity function σ(x,y) (e.g. PAM, BLOSUM,...)
  • affine gap penalty: g(k)=α+βk

The score S(a) of an alignment a is defined as:

S(a)=xiyjaσ(xi,yj)+gap cost

Now the boltzmann weighted score of an alignment a is:

eS(a)T=exiyjaσ(xi,yj)+gap costT=(xiyiaeσ(xi,yj)T)egapcostT

Where T is a scaling factor.

The probability of an alignment assuming boltzmann distribution is given by

Pr[a|x,y]=eS(a)TZ

Where Z is the partition function, i.e. the sum of the boltzmann weights of all alignments.

Dynamic programming

Let Zi,j denote the partition function of the prefixes x0,x1,...,xi and y0,y1,...,yj. Three different cases are considered:

  1. Zi,jM: the partition function of all alignments of the two prefixes that end in a match.
  2. Zi,jI: the partition function of all alignments of the two prefixes that end in an insertion (,yj).
  3. Zi,jD: the partition function of all alignments of the two prefixes that end in a deletion (xi,).

Then we have: Zi,j=Zi,jM+Zi,jD+Zi,jI

Initialization

The matrixes are initialized as follows:

  • Z0,jM=Zi,0M=0
  • Z0,0M=1
  • Z0,jD=0
  • Zi,0I=0

Recursion

The partition function for the alignments of two sequences x and y is given by Z|x|,|y|, which can be recursively computed:

  • Zi,jM=Zi1,j1eσ(xi,yj)T
  • Zi,jD=Zi1,jDeβT+Zi1,jMeg(1)T+Zi1,jIeg(1)T
  • Zi,jI analogously

Base pair probability

Finally the probability that positions xi and yj form a base pair is given by:

P(xiyj|x,y)=Zi1,j1eσ(xi,yj)TZ'i,jZ|x|,|y|

Z,i,j are the respective values for the recalculated Z with inversed base pair strings.

See also

References

  1. U. Roshan and D. R. Livesay, Probalign: multiple sequence alignment using partition function posterior probabilities, Bioinformatics, 22(22):2715-21, 2006 (PDF)
  2. Lecture "Bioinformatics II" at University of Freiburg