You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BLAST+ blastn输出fmt17(SAM)格式异常:参考与查询序列位置颠倒

BLAST+ outfmt 17输出SAM时参考与查询序列位置颠倒的解决方法

你遇到的问题是BLAST+默认的SAM输出逻辑导致的:当使用-outfmt 17时,程序默认将查询序列(你的nanopore reads)作为SAM文件中的参考序列(@SQ条目),而你需要的是把自定义参考序列作为SAM的参考,所以才会出现位置颠倒、IGV等工具无法识别的情况。

修正后的命令

添加-sam_outfmt 1参数即可解决:

blastn -db .\db\path\ref.fa -query .\query\path\query.fasta -out .\results\path\file_fmt17.sam -outfmt 17 -sam_outfmt 1

参数说明

  • -sam_outfmt 1:强制BLAST将数据库中的自定义参考序列作为SAM文件里的@SQ条目源,这样比对行中的参考列会对应你的ref.fa序列,查询列对应nanopore reads,完全符合SAM规范和IGV/Tablet的要求。

验证步骤

  1. 运行修正命令后,打开输出的SAM文件,检查开头的@SQ行,确认序列ID是你ref.fa中的序列,而非查询reads的ID。
  2. 用samtools view -Sb将SAM转为BAM,再用samtools sort排序、samtools index建索引。
  3. 打开IGV/Tablet,加载你的ref.fa作为参考基因组,再导入BAM文件,即可正常显示比对结果。

补充说明

-outfmt 0和6是BLAST原生输出格式,它们的逻辑是“查询比对到参考”,所以不会出现位置颠倒;但SAM格式的定义是“reads比对到参考基因组”,BLAST默认的SAM输出逻辑与这个定义相反,必须通过-sam_outfmt 1调整才能匹配标准SAM的使用场景。

内容的提问来源于stack exchange,提问作者BioNewb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 11:57:08