暑期学习之生物序列模体发现算法研究基础(二)

本文的主要任务主要是把上篇遗留的问题给解决n(*≧▽≦*)n

模体发现的难度评测

  • 2d邻居概率
  • E(l, d)值

先说2d邻居概率,它是这么一个意思,表示任意的两个l-mer的海明距离小于等于2d的概率,用p_{2d}表示 。p_{2d}越大,说明背景序列对模体发现的干扰性越大。(l, d)模体的性质:任意的两个模体实例的海明距离小于等于2d 。

公式如下:

首先求和的部分,总概率是把海明距离从0到2d的所有的概率加起来共同的概率之和。长为 l 的模体共|∑|的 l 次方种可能,那么跟他有i个差异的另一个模体的概率为分子部分,并且是随机从 l 里取i个,所以正好的C_{l}^{i}种可能。组合起来,正是上式。

然后是E(l, d)值 ,他表示t条长为n的序列集合中包含的(l,d)模体的期望个数。直接在下面先给出公式(为什么会有我自己的水印我也不知道.....):

首先分为两个部分,括号外面的是一共有多少种模体的可能性,里面是每一个是l-mer是模体的概率。p_d表示的意思是(l, d)模体在随机序列中的随机位置上以最大d个位置差异出现的概率。(1-p_d)的意思就是在某一个位置上不出现的概率,\left ( 1-p_{d} \right )^{n-l+1}表示的意思就是在某一行都不出现的概率,用一减去它则是出现的概率,再来个t次方便是t行出现的概率,最后和括号外面的相乘,得到最终的模体期望个数。

需要注意的是:E(l,d)越大,问题的求解越困难,当期望大于1的时候,称为挑战问题实例。

今天还用c++写了模体发现的穷举法,明天再贴吧,后面还要写PMSP算法。继续努力。

猜你喜欢

转载自blog.csdn.net/qq_27286563/article/details/81145885