如果我有 3 个 DNA 序列并且我想通过一些函数来评估它们:
seq1='AG_CT'
seq2='AG_CT'
seq3='ACT_T'
如何在python中计算这三个DNA序列的共识分数和加权对分数(WSP分数)?
共识得分是序列和共识序列之间的成对得分之和,共识(A)=sum{l}^{i=1}d(i)l是序列的长度,d是两个碱基之间的距离,例如:d(A,B)=2 代表 A!=B,d(A,-)=d(-,A)=1 代表 A!='-',否则为 0。对于上述示例,A 和 B 可能是“A 或 C 或 G 或 T”
we calculate distance between seq1 and seq2 then seq1 and seq3 then seq2 and seq3
**seq1 and seq2:**
d(A,A)=0, d(G,G)=0, d(-,-)=0, d(c,c)=0, d(t,t)=0
**seq1 and seq3**:
d(A,A)=0, d(G,C)=2, d(-,T)=1, d(c,-)=1, d(t,t)=0
**seq2 and seq3**:
d(A,A)=0, d(G,C)=2, d(-,T)=1, d(c,-)=1, d(t,t)=0
seq1= A G _ C T
seq2= A G _ C T
seq3= A C T _ T
0 0 0 0 0
0 2 1 1 0
0 2 1 1 0
++++++++++++++
0+ 4+ 2+ 2+ 0= 8
共识(A)=8
WSP (A) = \ sum_ {i=1}^{k-1} \sum_{j=i+l}^k \sum_{h=1}^lw ij * s( A[ i, h ], [ j,h ] l : 序列长度, k 序列数, w ij序列 i 和 j 的权重
s(A,B)=2 for A!=B, s(A,-)=d(-,A)=-1 for A!='-',3 else.all 权重因子为 1。
seq1= A G _ C T
seq2= A G _ C T
seq3= A C T _ T
3 3 3 3 3
3 2 -1 -1 3
3 2 -1 -1 3
++++++++++++++
(3+3+3)*1+(3+2+2)*1+(3-1-1)*1+(3-1-1)*1+(3+3+3)*1=9*1+7*1+1*1+1*1+9*1
9+7+1+1+9=27
因此,三个序列的 WSP 得分为27