计算Pattern=ACGT的3-neighborhood中4-mer的数量
相关定义
k-mer对应的Pattern的d-neighborhood(d邻域),是所有与Pattern的汉明距离(Hamming distance)不超过d的k-mer构成的集合,该集合包含Pattern本身。
汉明距离:两个等长字符串对应位置字符不同的位置总数。
待求解问题
Pattern为ACGT(长度为4的4-mer),计算其3邻域内包含的4-mer总个数。
计算过程
DNA序列每个位点有A、C、G、T共4种可选碱基,突变位点指和原Pattern对应位置碱基不同的位点,每个突变位点有3种合法的碱基选择(排除原位置的碱基)。按汉明距离(即突变位点数量)从0到3分类统计:
- 汉明距离为0(0个位点突变):从4个位点选0个突变,序列数为
C(4,0) * 3^0 = 1*1 = 1 - 汉明距离为1(1个位点突变):从4个位点选1个突变,序列数为
C(4,1) * 3^1 = 4*3 = 12 - 汉明距离为2(2个位点突变):从4个位点选2个突变,序列数为
C(4,2) * 3^2 = 6*9 = 54 - 汉明距离为3(3个位点突变):从4个位点选3个突变,序列数为
C(4,3) * 3^3 = 4*27 = 108
也可以用补集验证:所有可能的4-mer总共有4^4=256个,其中汉明距离为4(4个位点全突变,不在3邻域范围内)的序列数为C(4,4)*3^4=81个,因此3邻域内序列总数为256-81=175,和分类累加结果一致。
最终结果
Pattern为ACGT时,其3邻域中共包含175个4-mer。
内容的提问来源于stack exchange,提问作者Imoh Essien
相关产品推荐
相关产品推荐

