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

2019-04-13 12:59发布

从2018年7月16号早上开始到2018年7月18号傍晚19点左右,也就是在周一到周三差不多三天的时间里,学习了实验室要求的基础知识,趁着今天晚上有空小总结一下。

植入模体发现(Planted (l, d) motif search, PMS)

  • 输入:给定一个字母表∑上的t条长为n的序列集合D = {s1, s2, …, st},以及满足0 ≤ d < l < n的非负整数ld
  • 目标:找到一个l-mer (长为l的字符串) m,使得每条序列si中都含有一个与m存在至多d个位置差异的 m_i
  • l-mer m称为一个(l, d)模体,序列中的l-mer m_i称为m模体实例
       

PMS问题的扩展q-PMS问题

  • 输入给定一个字母表∑上的t条长为n的序列集合D = {s1, s2, …, st},以及满足0 ≤ d < l < n的非负整数ld
  • 目标找到一个l-mer (长为l的字符串) m,使得至少q (q t)条序列s_i中都含有一个与m存在至多d个位置差异的l-mer m_i

PMSP算法

  • 首先为了更好的说明此算法,笔者模仿导师给出的论文的方法定义了相关概念。
  1. 给出一个字符串s,这个字符串由字符集{A,C,G,T}随机组成。|s|表示字符串s的长度。
  2. 给定一个长度为n的字符串s和一个长度为l的字符串x,ll-mer,记为x	riangleleft _{l}s
  3. 候选模体B_{d} left ( x 
ight )表示与字符串x长度相同的且跟x的海明距离不超过d的所有模体实例
  4. 最后一个定义如下:
  • 算法描述:
  1. 输入:t ,n, l, d (分别代表序列数,每条序列长度,模体长度,允许最大的模体突变个数) 
  2. 输出: 模体Q
  3. 首先把第一条序列拿出来,取出长为l的所有子串,拿出每一个子串分别对剩下的每一行序列做循环。取出每一行的C(x,s)。对所有的候选模体B_{d} left ( x 
ight )做循环,如果存在一个候选模体y与每行的C(x,s)中的某一个元素海明距离小于d,则添加到模体Q并输出。

模体发现的难度评测

  • 2d邻居概率(公式没看懂)
  • E(l, d)值(公式没看懂)

模体表示

  • 一致序列
  • 位置权值矩阵

模体度量

  • 一致序列得分
  • 相对熵(没看懂)
大概就这些了,三天来化繁为简,整理出来其实只有一点点的东西,还需继续加油!