第二章 序列对比
2.4 考虑仿射空位罚分的序列对比,以及如何计算Needleman-Wunsch算法的时间复杂度
- 在之前介绍的全局和句对对比算法中,对于空位罚分都没有区分gap open和gap extending,而令其统一等于了一个值d。Why?
- 要正确区分gap open和gap extending,就需要引入状态的概念。
- 之前提到一对残基对比的状态只有三种,因此定义:M(Match,not necessarily identical);X(insert at sequence X=delete at sequence Y); Y(insert at sequence Y=delete at sequence X)
- X表示序列X的残基对到了一个空位,或者说在序列X上发生了一次插入。Y亦然。
- 因此我们就可以利用计算机科学中有限状态机(Finite State Automation, FSA)的概念。
- Needleman-Wunsch算法的时间复杂度:O(mn)
2.5 关于同源、相似性、相似性矩阵和点阵图的补充材料
- Homology & Similarity; Similarity Matrix; Dot Matrix
- Homology: derived from a common ancestor
- 同源性在生物学意义上就是指两个或多个东西具有共同的祖先。在基因、序列的层次,特别是关于系统发育的研究中,有时还把同源分为直系同源和旁系同源。
- ortholog(直系同源): derived from speciation; paralog(旁系同源): derived from duplication
- 直系同源是指在不同物种中的两个序列来自历史上的共同祖先的同一个序列,是因为物种形成事件而分到了两个或者多个物种中。
- 旁系同源一般是指在同一个物种中的两个序列在历史上来自同一个序列,是由于序列复制产生了多个拷贝,也可引申到多个物种中两序列的关系。
- 相似性和同一性是两个不同的概念。
- 比如说氨基酸按一些特性进行分类,那么同一类别的氨基酸可以称之为有相似性。
- 而同一性就是指A是A,G是G这样的完全相同的关系。
- Homology(同源性)和Similarity(相似性)有着千丝万缕的关系。
- 两序列有同源性表示两序列曾来自共同祖先序列,如果演化时间不长,变化较少,那么两序列常常会表现出相似性;如果演化时间很长,变化会越来越多,甚至无法分辨出来。
- 由相似性推测同源性这是思路是有效可行的,但不能保证100%正确。
- How to measuer similarity? Similarity matrix, 相似性矩阵,或者俗称序列对比的打分矩阵。
- 对于nucleotides(核苷酸)来说,只有4种核苷酸,所以在序列对比中我们常常用简单的单位矩阵,即只有对角线大于0且都相等的矩阵作为其打分矩阵。
- but a more complicated substitution model is used for phylogeny reconstruction.在系统发育树的重构工作中,大家常常会用更复杂一些的碱基替换模型,来更好地刻画碱基随演化改变的过程。
- 目前公认的定量相似性矩阵还是来自演化的思路,根据对序列对比看实际生物序列中各种变化的频率。
- For amino acids:
- PAM(1978, Margaret Dayhoff) :Two sequences are 1 PAM apart if they differ in 1% of the residus. 她把只相差1%的人工多序列比对起来,数出每种氨基酸变化的个数,建立了PAM 1矩阵。1 PAM = one step of evolution ,然后根据后面将介绍的Markov链的思想,把PAM 1视为进化的第一步,进行矩阵自乘运算,就得到适用于序列更大比例差异的打分矩阵。如PAM 30, PAM 70等
- BLOSUM(1992, Steven Henikoff & Jorja Henikoff) 用相似的思路又做了一些这样的工作,那时已知的多序列比对更多,他们就关注保守的序列段。computed by looking at "blocks" of conserved sequences found in multiple protein alignments. 利用差异度不同的多序列比对得到BLOSUM系列矩阵。
- 目前最常用的蛋白序列比对打分矩阵可能就是BLOSUM 62矩阵 .
- BLOSUM 62矩阵直接是从同一度不大于62%的多序列比对构建;类似的BLOSUM 80是同一度不大于80%的多序列比对;BLOSUM 45是同一度不大于45%的多序列比对。
- 在实际的序列比对应用中,如果你比对的序列差异大,可以考虑使用BLOSUM 45矩阵。差异小,则 BLOSUM 80.
- How to find out alignment? Dot matrix; Dynamic programming; BLAST
- Dot matrix在形式上和动态规划填的矩阵接近,但其内容是有明显不同的。dot matrix只关心local的几位碱基构成的word是否完全匹配;而动态规划则关心前面已考察的子序列的最优匹配方式及得分。BLAST考虑到了Dot matrix的特性,从而使比对算法加速。
2.6 Interview with M. S. Waterman 访谈
- Waterman 是数学出身,计算生物学的创始人之一,他曾经离开了自己的实验室,准备做一些地质学研究,后来发现自己之前做的生物方面的工作也挺有意思,然后把这个当成了自己的终身事业。
- Smith-Waterman的局部比对算法虽然你看起来这个改动很巧妙,也很小,但是两位作者也是耗费了许多精力,困扰了很久,做了很多工作才最终获得的成果。
- 团队合作的一个重要方面是确保其他人信息通畅。而大团队的人要很“综合”,并且都愿意为团队的终极目标拼搏努力。
- 动态规划在应用到高维问题时有很大的局限性,因此他们的算法只在一维情况下有用,而且算法复杂度也较高了。
- 计算机科学和数学不是单纯的计算机科学和数学了,需要跟生物学结合,很多时候,解决这些问题的算法不一定需要是多项式级别的时间复杂度的,可能需要设计一个模拟的方法, 或者用机器学习。
- 陷入科研的困境怎么办?有些问题首先需要找对看待问题的角度,而在找对角度的过程中,你可以能已经放弃了很多次。之所以坚持,是因为这个问题在大脑里阴魂不散。。。然后就告诉自己,去解决它吧。。。
- 数据爆发式增长,对于NIH都是一个难题,对于一个实验室应该怎么办?没有什么好的答案,但是有很多人为这个挑战在努力。
- 生物信息学的未来会跟着技术走。