Probalignは、分配関数事後確率を用いて最大期待精度のアライメントを計算する配列アライメントツールです。 [ 1 ]塩基対確率は、 ボルツマン分布に類似した推定値を用いて推定されます。分配関数は動的計画法を用いて計算されます。
アルゴリズム
以下はprobalignが塩基対確率を決定するために使用するアルゴリズムについて説明しています。[ 2 ]
アライメントスコア
2 つの配列のアライメントをスコアリングするには、次の 2 つが必要です。
- 類似度関数(例:PAM、BLOSUM、...)

- アフィンギャップペナルティ:

アライメント a の スコアは次のように定義されます。

アライメント a のボルツマン重み付けスコアは次のようになります。

はスケーリング係数です 。
ボルツマン分布を仮定した整列の確率は次のように与えられる。
![{\displaystyle Pr[a|x,y]={\frac {e^{\frac {S(a)}{T}}}{Z}}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
ここで、パーティション関数、つまりすべてのアライメントのボルツマン重みの合計です。 
動的計画法
接頭辞との分割関数をとします。3つの異なるケースが考えられます。 


一致して終わる 2 つのプレフィックスのすべてのアライメントのパーティション関数。
挿入で終わる 2 つのプレフィックスのすべてのアライメントのパーティション関数。
削除で終わる 2 つのプレフィックスのすべてのアラインメントのパーティション関数。
次に次のようになります。
初期化
行列は次のように初期化されます。




再帰
2つの配列とをアラインメントする分割関数は で与えられ、これは再帰的に計算できます。 




同様に
塩基対確率
最後に、位置とが塩基対を形成する 確率は次のように与えられます。


逆塩基対文字列で 再計算されたそれぞれの値です。
参照
参考文献
外部リンク