概述
BLAST(基本局部比对搜索工具)是最广泛使用的算法,用于将查询序列与已知序列的数据库进行比较。它可以快速识别统计上显着的局部比对,为新基因提供功能注释,检测远缘物种之间的同源性,并揭示进化关系。 BLAST 牺牲了完全动态规划的最优性保证,以获得足够快的启发式搜索包含数十亿个残基的数据库。每个命中的统计显着性以 E 值的形式报告,在该规模的数据库中与给定分数的机会比对的预期数量。
关键概念
BLAST 的工作原理是首先将查询分解为短单词(通常为 3 个蛋白质,11 个核苷酸),扫描数据库以查找与这些单词的精确匹配,然后在两个方向上扩展有希望的匹配以构建更长的比对。变体针对特定用例:BLASTP 将蛋白质查询与蛋白质数据库进行比较,BLASTN 将核苷酸查询与核苷酸数据库进行比较,BLASTX 在所有六个阅读框架中翻译核苷酸查询以进行蛋白质水平比较,而 PSI-BLAST 迭代构建特定位置的评分矩阵以检测远距离同源物。 MegabLAST 针对高度相似的序列进行了优化,而不连续的 MegabLAST 则处理跨物种比较。
应用程序
BLAST 是注释 DNA 测序 项目中的未知数的第一步。它通过检测与特征性[蛋白质结构](/guides/ Protein-Structure.html)的同源性来为新蛋白质分配假定的功能。在[细菌遗传学](/guides/bacterial- Genetics.html) 中,BLAST 可识别毒力因子和抗生素抗性基因。 重组 DNA 技术 使用 BLAST 通过将测序读数与预期载体序列进行比对来验证构建体的完整性。
实用协议
标准 BLAST 搜索通过 NCBI Web 界面或命令行运行。对于使用命令行 BLAST 对 nr 数据库进行蛋白质查询:blastp -query query.fasta -db nr -out results.txt -evalue 1e-5 -num_threads 8 -outfmt "6 qseqid sseqid pident length Mismatch gapopen qstart qend sstart send evalue bitscore stitle"。 -outfmt 6 生成适合下游解析的表格输出。 E 值(期望值)表示在给定数据库大小的情况下,在给定分数下偶然预期的命中数 - 蛋白质值 < 1 × 10⁻⁵ 或核苷酸 < 1 × 10⁻10 表示显着同源性。 位分数是独立于数据库大小的标准化分数,可以跨搜索进行比较; 50 以上的分数通常对蛋白质有意义。对于翻译搜索(针对蛋白质数据库的核苷酸查询),请使用 BLASTX:blastx -query ests.fasta -db swissprot -outblastx_results.txt -evalue 1e-5。对于高度相似的序列,请使用 MegabLAST:“blastn -task megablast -query query.fna -db nt -out megablast_results.txt -evalue 1e-50”。优化参数:将字长减少到 2(对于蛋白质)或 7(对于核苷酸)以提高对远距离同源物的灵敏度;提高扩大种子命中的门槛。对于迭代配置文件搜索,请运行 PSI-BLAST:psiblast -query Seed.fasta -db nr -out psi_results.txt -num_iterations 3 -evalue 1e-3。 PSI-BLAST 根据第一轮命中构建位置特异性评分矩阵 (PSSM),并将其用于后续轮次,检测标准 BLAST 遗漏的远程同源物。对于大规模批量搜索,请使用比 BLASTP 快 100–1000 倍的“diamond”:“diamondblastp -d nr.dmnd -q query.fasta -o Diamond_results.txt –outfmt 6 –evalue 1e-5 –threads 16”。