一.替换计分矩阵:
1.DNA序列比对的替换计分矩阵
1.等价矩阵:最简单的一种替换计分矩阵,即相同核苷酸间匹配得分,不匹配则不得分。缺点在于没有区别对待不同碱基的替换,因此实际应用很少。
2.转换-颠换矩阵:是考虑碱基的转换和颠换而设计的矩阵,因为碱基转换比颠换容易的多,因此转换得分会比颠换得分高一点,此种矩阵应用也较少。
3.BLAST矩阵 :大量实际比对发现当两个核苷酸相同时得分为+5,不同则得分为-4时比对的效果较好,因此这种打分方法被广泛地用于DNA序列比对,被称为BLAST矩阵。
2.蛋白质序列比对的替换计分矩阵
1.等价矩阵:同DNA等价矩阵,应用少。
2.遗传密码矩阵:计算一个氨基酸要转化为另一种氨基酸所需的密码子变化数目而得到。
3疏水性矩阵:根据20种氨基酸侧链基团疏水性的不同以及氨基酸替换前后理化性质变化的大小而指定的矩阵,适用于偏蛋白质功能方面的比对。
4.PAM矩阵:PAM(point accepted matrix)矩阵也叫可接受点突变矩阵,是根据进化中氨基酸的实际替换率大小制定的矩阵,即若某两个氨基酸之间替换频繁,那么这样的替换得分就较高。PAM-1表示每100个氨基酸平均仅发生一个突变时的矩阵,PAM-1可以自乘n次得到PAM-n,代表某些氨基酸位置经历多次突变。此方法较为广泛使用。
5.BLOSUM矩阵:此矩阵也是通过替换率得到,但和PAM两种矩阵的形成方式不同,来源数据亦不同。BLOSUM矩阵的编号代表的是序列可能相同的最高水平,即若是BLOSUM-62那么代表此矩阵是由具有62%相同比例的序列被统计后形成的。因此高相似性的序列应使用高编号的BLOSUM矩阵,低编号的PAM矩阵,反之亦然1。
二.比对算法
首先,序列之间比对会产生几种情况即匹配、失配(即不同氨基酸或碱基对上)、插入或缺失(产生空位)。设x、y两条序列,那么当需要比对两条链时,利用动态规划算法,即一直在匹配中采取最好的结果,局部最优演化为全链最优。
1.将空位罚分一视同仁,即不考虑空位延伸的特殊性时:
S
(
i
,
j
)
=
m
a
x
{
S
(
i
−
1
,
j
−
1
)
+
w
(
x
i
,
y
j
)
S
(
i
−
1
,
j
)
+
d
S
(
i
,
j
−
1
)
+
d
S (i,j) = max\left\{ \begin{array}{c} S(i-1,j-1)+w(x_i,y_j) \\ S(i-1,j)+d \\ S(i,j-1)+d\end{array}\right.
S(i,j)=max⎩⎨⎧S(i−1,j−1)+w(xi,yj)S(i−1,j)+dS(i,j−1)+d其中 S 表示在比对中某一个点的累计得分最大值,w 表示 某个位置根据计算的得分如w(xi,yj)表示xi,yj处匹配上的得分。d 是对上了空位所要罚的分(负值)。S(i-1,j) + d 表示 xi 对上了一个空位, 因为此时x 的 i-1 位与 y 的 j 位对上了,所以 x 的 i 位被空出来不能匹配了。因此 ,同理 S(i,j-1) + d 表示 yj 对上了一个空位。按照此方法,将两条序列排列下来,寻找最大得分的排列,即可得到最佳的序列匹配结果。
2.对空位延伸和开启采取不同打分方式时:
概率学上来讲,相邻碱基N次独立删除的概率小于1次含N个碱基的片段删除的概率,因此罚分中gap-open > gap-extended, 一般gap-open默认设置为11,而gap-extended默认设置为1。
S
(
i
,
j
)
=
m
a
x
{
S
(
i
−
1
,
j
−
1
)
+
s
(
x
i
,
y
j
)
X
(
i
−
1
,
j
−
1
)
+
s
(
x
i
,
y
j
)
Y
(
i
−
1
,
j
−
1
)
+
s
(
x
i
,
y
j
)
S (i,j) = max\left\{ \begin{array}{c} S(i-1,j-1)+s(x_i,y_j) \\ X(i-1,j-1)+s(x_i,y_j) \\ Y(i-1,j-1)+s(x_i,y_j)\end{array}\right.
S(i,j)=max⎩⎨⎧S(i−1,j−1)+s(xi,yj)X(i−1,j−1)+s(xi,yj)Y(i−1,j−1)+s(xi,yj)
X
(
i
,
j
)
=
m
a
x
{
M
(
i
−
1
,
j
)
+
d
X
(
i
−
1
,
j
)
+
e
X (i,j) = max\left\{ \begin{array}{c} M(i-1,j)+d \\ X(i-1,j)+e \end{array}\right.
X(i,j)=max{M(i−1,j)+dX(i−1,j)+e
Y
(
i
,
j
)
=
m
a
x
{
M
(
i
,
j
−
1
)
+
d
Y
(
i
,
j
−
1
)
+
e
Y (i,j) = max\left\{ \begin{array}{c} M(i,j-1)+d \\ Y(i,j-1)+e \end{array}\right.
Y(i,j)=max{M(i,j−1)+dY(i,j−1)+e此处 S 与上例相同,一个gap-open罚分设置为d(负分),一个gap-extend设置罚分为e,用X或者Y记录分数时即表示(xi,yj)位置对上空位,S(i,j)则表示在(xi,yj)位置处是匹配上的。因此X(i,j) 与 Y(i,j) 分别表示Xi与Yj对上了一个空位。在空位之前的位置都是未知的,空位的上一位可能匹配但也可能是空位,若是两个空位连着,那么第二个空位罚分即变为e。按照此计分方式,同样可将最大得分的排列找出,从而得到最佳匹配结果2。
三.BLAST的一些参数
BLAST首先将查询序列拆分为种子序列,种子序列长度设定时氨基酸长度一般默认为3,碱基长度默认为11。若查询长度为n,种子序列长度为w,那分成的种子序列有n-w+1个。得到的种子序列用于后续与数据库序列进行对比,这些对比依赖的就是上述的各种打分矩阵,通过寻找word hits并且延伸(extend)这些种子序列从而找到查询序列在数据库中的匹配。当然其中会涉及到一些重要参数,对于两个随机序列s和t,随机观察到一个比对得分等于或大于x的概率为:
其中s代表查询序列长度,t代表被查询的数据库的长度,乘积st表示搜索空间的大小,可以看出x值取的越大,那么P(S≥x)的概率就越小,即表明设置比对得分越高,那么得到的结果就越少。经过BLAST后得分高于x的返回片段对的期望数量为:
在这两个式子中,K与λ都与打分矩阵的选择有关系。可以从两个式子中分析得到,期望值越大,那么S(即得分)就越小,比对结果就越不准确。
上式即为常见的P值和E值的换算方法,可以看出E值越大,P值也越大,但是两者不成正比关系。通常情况下人们会使用低于0.05的P值来衡量统计的显著性,但是在BLAST中一般采取E值来衡量搜索效果的好坏。
题外话:想写博客很久了,终于开始了,非常开心 O(∩_∩)O~~!一枚生信菜鸡就要开始慢慢分享自己的生信之旅了,既相当于自己的学习记录也可能帮助到别人,也能备忘,何乐而不为呢?第一篇写的比较长,但是确实是我个人认为比较基础的内容,掌握后绝不吃亏!之后也会认真写的!冲冲冲!!!
ps:若有侵权情况或者有错误,请通知我,我立刻修改!

1万+

被折叠的 条评论
为什么被折叠?



