什么是BLAST局部比对算法?
BLAST算法由Altschul、Gish、Miller等人于1990年前后在美国国家生物技术信息中心(NCBI)开发。BLAST用于推导序列之间的功能和进化关系,并帮助识别基因家族成员。
NCBI网站包含几个常用的BLAST数据库。根据其内容,它们被组合成核苷酸和蛋白质数据库。NCBI还支持专门的BLAST数据库,包括载体筛选数据库,还有多个生物体的多个基因组数据库和追踪数据库。
BLAST使用启发式方法来发现查询序列和数据库之间最大的局部比对。BLAST通过将待比较的序列分成片段序列(定义为词)并首先寻找这些词之间的匹配来提高搜索的整体速度。
在BLAST中,词被视为k-元组。对于DNA核苷酸,一个词通常包含11个碱基(核苷酸),而对于蛋白质,一个词通常包含3个氨基酸。BLAST创建一个邻域(即近似匹配)词的哈希表,而“接近”的阈值取决于统计数据。它从精确匹配到邻域词开始。
因为好的比对必须包含几个接近的匹配,所以它可以使用统计数据来决定哪些匹配很重要。通过哈希,它可以在O(n)(线性)时间内找到匹配。通过双向查找匹配,该方法可以发现高质量的比对,包括几个高分段和最大段对。
BLAST算法有几个版本和扩展。例如,MEGABLAST、不连续MEGABLAST和BLASTN都可以用来识别核苷酸序列。MEGABLAST专门设计用于有效地查找非常相似序列之间的长比对,因此它是查找与查询序列完全匹配的最佳工具。
指导BLAST搜索灵敏度的重要参数之一是原始词的长度,或词大小。词大小在BLASTN中是灵活的,可以从默认值降低到最低7以提高搜索灵敏度。因此,BLASTN在发现来自不同生物体的相关核苷酸序列的比对方面优于MEGABLAST。
标准蛋白质-蛋白质BLAST (BLASTP) 用于识别查询氨基酸序列和在蛋白质数据库中发现相同序列。位置特异性迭代(PSI)-BLAST专为提高蛋白质相似性搜索的灵敏度而创建。它有利于发现非常远缘的蛋白质。
模式命中启动(PHI)-BLAST可以进行有限的蛋白质模式搜索。它被设计用来搜索包含用户定义的模式并且在模式附近与查询序列相同的蛋白质。