从早期序列比对工具Needleman-Wunsch、Smith-Waterman到后来的Clustal算法,以及近几年的Muscle、MAFFT序列比对算法。算法在向更快、更精确、能处理更多数据这些方向进行缓慢而有力的发展。常用的在线序列比对工具主要由EMBL-EBI提供,包括但不限于Needle, Water, Clustal Omega, Muscle, Mafft, T-coffee等,以及NCBI提供的blast2seq工具;常用的序列相似性搜索工具有NCBI提供的BLAST、UCSC提供的BLAT等。EMBL-EBI与NCBI同时期也开发了一套序列相似性搜索工具FASTA,然后最终没能流行起来。BLAST一家独大,BLAT依赖UCSC占据一点小市场,FASTA的亲爹同时提供了FASTA及BLAST服务,可能现在说FASTA人们只会想到FASTA文件格式吧。EMBL-EBI提供大量的对比工具在线服务,并不代表其拥有这些工具的所有权。
按工具功能大致可以分为3类:配对序列比对工具,多序列比对工具以及序列相似性搜索工具。
配对序列比对是用来研究两条序列(核酸序列或者蛋白序列)之间功能、结构或者进化关系。
多序列比对工具当然也支持配对序列比对,不过更多的是用来比对3条及以上序列,研究序列之间是否同源以及序列间的进化关系。
序列相似性搜索工具主要是在一个序列数据库中查找一条序列,找出与查询序列最相似的序列。
配对序列比对工具
工具集网址:
https://www.ebi.ac.uk/Tools/psa/
这些可能是史前比对工具了,现在估计没有什么人在用了,可能也没人听过还有这样的工具存在。但是他大爷毕竟是他大爷,如果想比对两条序列全局情况,Needle仍是不错的选择,至于Smith-Waterman算法,在许多二代比对算法里仍可见,比如bwa-sw算法,Minimap2计算overlap时使用的也是Smith-Waterman算法;Smith-Waterman也拥有CUDA版本程序。
Needle比对工具
以Needle工具为例进行一下简单的演示,其提供了核酸及蛋白比对两个版本,比对不同类型的序列需要选择不同的工具。Needle是全局比对工具,将两条序列全部内部进行比对并展示。
1. 打开Needle核酸比对工具页面
https://www.ebi.ac.uk/Tools/psa/emboss_needle/nucleotide.html
2. 输入两条需要比对的序列
一个文本框里输入一条FASTA记录,其他参数不需要调整。
3. 查看结果
Needle的结果看起来是非常友好的,类似于NCBI BLAST显示结果,
多序列比对工具
工具集网址:
https://www.ebi.ac.uk/Tools/msa/
该主页提供了多款多序列比对工具,其中Clustal Omega结果形式是全局比对形式,但是算法还是局部比对算法,不建议在分子进化树分析过程使用Clustal相关程序,因为其速度及准确度均逊色于下述的MAFFT及MUSCLE。
下表列出了常用的多序列比对工具,在平时学习或者工作中建议使用MAFFT或者MUSCLE进行多序列比对。
MAFFT比对工具
MAFFT是2002年开发的一款快速的局部/全局多序列比对工具,与之相对的是2004年开发的MUSCLE多序列比对工具,在网页使用过程中,两者差异不明显,但是MUSCLE在比对数百条、数千条序列时,速度较慢,这时候使用MAFFT效果会好一点。
1. 打开MAFFT主页
https://www.ebi.ac.uk/Tools/msa/mafft/
2. 输入自己想要进行比对的多序列
支持2条以上序列比对,目前EMBL-EBI提供的网页版本MAFFT最大支持500条序列且文件大小不超过1MB(差不多1,000,000bp的碱基)。如果自己提交的文件较大,可以在提交时勾选Be notified by email。这样在比对完成时,EMBL-EBI会邮件通知你比对结果。
3. 查看结果
提交任务,过一段时间后就可以查看到比对结果了。其中Phylogenetic Tree可以查看分子进化树。
不同序列比对工具对比
其他工具使用方式与MAFFT一致,相对于ClustalW/Clustal Omega,MAFFT及MUSCLE比对结果无计数。但是MAFFT及MUSCLE在处理INDEL时,效果比ClustalW/Clustal Omega要好。
相同两条序列不同软件比对结果
可以很明显的看出各种工具对INDEL的处理,这主要是不同工具使用算法不同有关。Clustal,Water及blast2seq,在遇到Gap及Gap持续延长时,比对分值线性下降,而其他几种算法在遇到Gap及Gap持续延长时,比对分值会下降但不会低于0,不会线性下降。
序列相似性搜索工具
工具集网址:
https://www.ebi.ac.uk/Tools/sss
EMBL-EBI提供了FASTA及BLAST两款序列相似性搜索工具,不过序列相似性工具还是使用NCBI的BLAST以及UCSC的BLAT比较好。
NCBI BLAST
BLAST是目前最常用的生信工具之一,NCBI围绕BLAST开发了大量的周边工具,比如引物设计及特异性验证工具Primer-BLAST。
1.打开BLAST主页
https://blast.ncbi.nlm.nih.gov/Blast.cgi
其提供了4款BLAST子工具,常用的是核酸BLAST以及蛋白BLAST,点击核酸BLAST进入工具内部。
2. 选择适合的参数进行搜索
3. 搜索结果查看
有疑问可以点击整个页面右上角的HELP,进行个人自助。
4. 图形化浏览比对结果
这里又可以使用NCBI强大的基因组浏览功能了,可以添加自己想要的track进行数据关联展示,可惜好多人不太喜欢这个功能。
UCSC BLAT
1.打开BLAT主页
https://genome.ucsc.edu/cgi-bin/hgBlat
2. 选择合适参数进行序列搜索
3. 搜索结果查看
详细结果支持两种查看方式:基因组浏览器以及文本形式。基因组浏览器形式可以查看全局比对情况,以及匹配区域在基因组中的位置、注释等情况,文本形式可以详细的查看比对结果。
4. 基因组浏览器查看比对结果
5. 文本形式比对结果
BLAT更多体现的是一个定位功能,将查询序列定位到目标基因组上,而BLAST更加的是搜索功能,从序列数据库中搜索出与查询序列接近的目标序列。
总结:
对于链相反的序列比对建议使用blast2seq;
对于序列相似,想要查看序列全局比对的建议使用needle及MAFFT;
对于多条序列比对,建议使用MAFFTT;
实在特别想要Clustal计数形式结果,建议使用Clustal Omega或者Needle;
想做多条序列分子进化树,建议MAFFT;
未知序列搜索,想要研究序列功能可以使用blast,速度稍慢,但搜索库数据量大;
某一物种未知序列定位,建议使用blat,速度快。