前几天,实验室的师弟师妹通过本地blast获取一些没有基因组注释物种的蛋白编码序列。原本以为可以快速地进行下一步的选择压力分析,没想到却在多序列比对这一环节出现了棘手的问题。以前,我都是经过PRANK软件进行多序列比对,然后再使用Gblocks软件对数据进行过滤的。现在,由于师弟师妹在拼接CDS序列时,有些碱基并不是保留3的倍数,造成很多编码序列出现移码突变,甚至变成了伪假基因(几百个基因)。虽然,现在可以进行多序列比对的软件有很多,比如Muscle、MAFFT、PRANK等,但它们均不能解决移码突变的问题。于是,我开始去google搜寻解决方案。功夫不负有心人,我最终找到了完美的解决办法,收获颇丰,所以把这个过程记录下来。
多序列比对(multiple sequences alignment,MSA)是开展进化生物学研究的前提,后续可以进行选择压力分析以及推断物种系统发育历史。
多序列比对表示不同序列中的氨基酸/核苷酸的位点同源性。将序列比对用于进化分析时,处于相同位置的氨基酸/核苷酸位点则被认为在进化上是同源的,并且具有共同的祖先。通过研究序列比对中同源序列是如何随时间变化的,可以推断序列的结构和功能是如何进化的。比如,对多个物种同源序列的比较可以发现发生替换的位点,进而判断出哪个序列在哪个位置发生变化。另外,两个序列之间的长度差异可以通过删除一个序列中的现有碱基位点或插入另一个序列中的新碱基位点来解释。两个序列之间发生替换差异的进化谱系,可以用外群序列来解决,也可以通过推断两个序列的祖先的特征状态来解决。因此,以上所有情况的结论准确性很可能取决于多序列比对(MSA)的准确性。
最近的研究表明,MSA算法在分析基因组序列时会产生不同的结果,包括系统发生树推断和适应性进化的检测。换句话说,错误的MSA将会产生一个非真实的进化历史信号,从而导致错误的推断。为了减少MSA错误的影响,许多研究人员在优化MSA算法和MSA质量过滤软件等方面做出了大量的努力。然而,MSA不仅包含比对错误,而且还包含序列自身错误(如测序错误、组装错误或错误的基因注释等)。所以,正确选择MSA分析流程可以显著减少这些错误的产生,从而获得高质量的保守同源序列用于下游的分子进化分析。
接下来,我主要是介绍一些平时比较常用的主流分析软件以及它们的优缺点。可能还有很多优秀的软件,由于个人精力有限,暂时只讲一下我自己比较熟悉的工具,请大家见谅。
01. Multiple Sequence Alignment
2013年,Blackburne 和 Whelan 在Molecular Biology and Evolution期刊发表他们的研究成果,该成果证明了MSA方法在下游分析中的关键作用,突出了在分析中选择的不同的MSA软件对其结果有明显的影响。
是最早开始使用的多序列比对工具,由 Feng 和 Doolittle 于1987年提出,该程序有许多版本,可以基于多种平台,目前引用次数已近100000次(Thompson et al. 1994; Larkin et al. 2007)。它采用一种渐进的比对方法,先将多个序列两两比对构建距离矩阵,反应序列之间两两关系;然后根据距离矩阵计算产生系统进化指导树,对关系密切的序列进行加权,然后从最紧密的两条序列开始,逐步引入临近的序列并不断重新构建比对,直到所有序列都被加入为止。因此,它是一种试探算法,所以渐进比对不能保证能够得到最优的比对。
是一款速度最快的比对软件之一,在速度和精度上都优于ClustalW,目前引用次数高达26246次(Edgar 2004)。Muscl