blast的-max_target_seqs?

news/2024/11/17 2:31:09/

Shah, N., Nute, M.G., Warnow, T., and Pop, M. (2018). Misunderstood parameter of NCBI BLAST impacts the correctness of bioinformatics workflows. Bioinformatics.

杂志Bioinformatics以letter to the editor的形式刊发了来自美国马里兰大学计算机系的Nidhi Shah等人的一篇文章,报道BLAST中-max_target_seqs存在的“bug”(Shah et al., 2018)。
该“bug”就是:-max_target_seqs参数返回的不过是前N个符合给定的E值的hit,而并不一定保证就是E值最低的N个hits。

https://ibook.antpedia.com/x/146750.html
https://www.jianshu.com/p/7eb530bc1a9c

之前大部分人都将这个参数的值设置为1,认为会输出最优匹配的一条,但是作者验证后发现,这是一个错误的用法,它输出的并不是最优匹配的一条结果,而是第一条较好的匹配结果;更糟糕的是,产生的输出取决于序列在数据库中出现的顺序。对于相同的比对任务,使用不同版本的数据库时,即使所有版本都包含相同的最佳匹配结果,但是BLAST却返回不同的结果。而且以不同的方式对数据库进行排序,也会导致在将max_target_seqs参数设置为1时,BLAST返回不同的“top hit”。原文如下:
To enable the efficient processing of large data sets, researchers frequently rely on shortcuts aimed at reducing the number of BLAST results that need to be processed. A common strategy involves using the ‘-max_target_seqs’ parameter of the NCBI BLASTþ suite. According to the BLAST documentation itself (2008), this parameter represents the ‘number of aligned sequences to keep’. This statement is commonly interpreted as meaning that BLAST will return the top N database hits for a sequence query if the value of max_target_seqs is set to N. For example, in a recent article (Wang et al., 2016) the authors explicitly state ‘Setting “max target seqs” as “1,” only the best match result was considered.’
To our surprise, we have recently discovered that this intuition is incorrect. Instead, BLAST returns the first N hits that exceed the specified E-value threshold, which may or may not be the highest
scoring N hits. The invocation using the parameter ‘-max_target_seqs 1’ simply returns the first good hit found in the database,not the best hit as one would assume. Worse yet, the output produced
depends on the order in which the sequences occur in the database. For the same query, different results will be returned by BLAST when using different versions of the database even if all versions
contain the same best hit for this database sequence. Even ordering the database in a different way would cause BLAST to return a different ‘top hit’ when setting the max_target_seqs parameter
to 1.
测试发现,blast没有哪个参数可以返回最优匹配的结果,最好的方式就是通过脚本过滤筛选!

diamond可以返回最优?
开发者Benjamin Buchfink 在个人的推特里刚刚给出答案:
在这里插入图片描述


http://www.ppmy.cn/news/53213.html

相关文章

Windows子系统保存位置更改释放C盘(最简单)

Windows子系统保存位置更改 目录 使用场景解决思路操作流程关闭子系统找到文件存放地址新的路径文件迁移创建链接 使用场景 使用WSL(Linux子系统)做深度学习开发,在微软的应用商店安装的Ubuntu22.04会将系统默认安装在C盘,随着使用时间测增长&#xff…

springmvc jpa 多数据源

本次使用Mysql 和 sqlServer 一 POM 版本大家自己换一下 <!-- JPA --><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-commons</artifactId><version>1.13.13.RELEASE</version></d…

美颜SDK的性能测试和优化方案

美颜SDK作为美颜相机、短视频等应用的核心技术之一&#xff0c;对于提升用户体验和增加应用商业价值起到了至关重要的作用。然而&#xff0c;如何对美颜SDK进行性能测试和优化&#xff0c;成为了广大应用开发者们所面临的一大难题。很多开发者也曾经向小编提起过应该如何着手优…

干货:行政与人事管理的区别在哪里?

行政管理和人事管理是现代组织管理中非常重要的两个部分&#xff0c;两者共同构成了组织运作的基本框架。本文将对行政管理和人事管理进行解析&#xff0c;并探讨其在组织中扮演的角色以及如何有效地进行管理。 一、行政管理 行政管理是指对组织的资源进行规划、组织、领导、…

C语言从入门到精通第12天(函数的定义)

函数的定义 函数的概念函数的定义函数的参数函数的返回值 函数的概念 在程序设计中&#xff0c;为了实现某个功能需要编写多行代码&#xff0c;我们每次在使用时都将原来的代码重复编码&#xff0c;这样就非常的麻烦&#xff0c;而且编程的效率也不高。为了解决这一问题&#…

【Linux命令行与Shell脚本编程】第十一章 构建基础脚本

Linux命令行与Shell脚本编程 第十一章 构建基础脚本 文章目录 Linux命令行与Shell脚本编程一,构建基础脚本1,使用多个命令 ;2,创建shell脚本文件2.1,格式2.2,运行 3,显示消息 echo4,使用变量4.1,环境变量 $4.2,用户自定义变量4.3,命令替换 $() 5,重定向输入和输出5.1,输出重定…

学成在线笔记+踩坑(8)——课程预览、提交审核,Freemarker模板引擎

导航&#xff1a; 【黑马Java笔记踩坑汇总】JavaSEJavaWebSSMSpringBoot瑞吉外卖SpringCloud黑马旅游谷粒商城学成在线牛客面试题_java黑马笔记 目录 1 模块需求分析 1.1 模块介绍 1.2 业务流程 1.2.1 课程预览 1.2.2 课程审核 1.2.3 课程发布 2 课程预览 2.1 需求分析…

深度学习笔记之稀疏自编码器

深度学习笔记之稀疏自编码器 引言引子&#xff1a;题目描述正确答案&#xff1a; A B C D \mathcal A \mathcal B \mathcal C \mathcal D ABCD题目解析 介绍&#xff1a;自编码器欠完备自编码器正则自编码器从先验角度解释稀疏自编码器稀疏自编码器的构建 引言 本节以一道算法…