samblaster v.0.1.26安装与使用--生信工具096

samblaster 是一款高速、轻量灵活的工具,用于对按 read ID 分组的双端 SAM 比对文件标记 PCR 重复。 额外可选功能:将不一致配对 reads、分段嵌合比对分别输出至独立 SAM 文件;也可将未比对 / 软剪切 reads 输出至独立 FASTQ 文件。 标记重复时,每 100 万对 reads 仅占用约 20MB 内存。

bash 复制代码
https://github.com/GregoryFaust/samblaster   #官网

安装

samblaster 为独立程序,仅依赖 g++ 编译器与 make 编译工具,无其他第三方依赖。 可在 GitHub 发布页下载,或通过 git 克隆源码编译,编译完成后将二进制程序放入系统环境变量目录即可全局调用:

复制代码
git clone git://github.com/GregoryFaust/samblaster.git
cd samblaster
make
cp samblaster /usr/local/bin/.

使用说明

SAM 格式规范详见官方 SAM 文档。 默认行为:从标准输入 stdin 读取 SAM,处理后输出至标准输出 stdout。 输入 SAM 文件需为双端测序数据、包含 @SQ 序列头信息、且按 read ID 连续分组 。 输出 SAM 保留全部原始比对记录、顺序不变;PCR 重复通过 SAM 标签0x400标记。 若添加--removeDups参数,则直接从输出中删除全部重复比对,仅保留非重复 reads。

注释:按 read ID 分组的 SAM,指同一 QNAME(read 名称)的所有比对行连续排布。比对软件输出天然满足该格式;也可通过samtools sort -n按 read name 排序得到。若原始比对文件已天然分组,无需提前排序即可输入 samblaster。

常用标准流程示例

1. bwa mem 比对后直接管道标记重复,转 BAM

复制代码
bwa mem <参考索引前缀> 样本R1.fq R2.fq | samblaster | samtools view -Sb - > samp.out.bam

2. bwa mem 使用 - M 参数时,samblaster 同步加 - M 兼容模式

复制代码
bwa mem -M <参考索引前缀> 样本R1.fq R2.fq | samblaster -M | samtools view -Sb - > samp.out.bam

3. 标记重复,并额外输出不一致配对 reads、分段嵌合比对至独立 SAM

复制代码
bwa mem <参考索引前缀> 样本R1.fq R2.fq | samblaster -e -d samp.disc.sam -s samp.split.sam | samtools view -Sb - > samp.out.bam

4. 对已标记重复的现成 BAM,单独提取嵌合 reads、不一致配对 reads

复制代码
samtools view -h samp.bam | samblaster -a -e -d samp.disc.sam -s samp.split.sam -o /dev/null

5. 单组长读 BAM 处理,提取分段 / 未比对 reads,可选标记重复

复制代码
# 标记重复,输出最终BAM
samtools view -h samp.bam | samblaster --ignoreUnmated [-e] --maxReadLength 100000 [-s samp.split.sam] [-u samp.umc.fasta] | samtools view -Sb - > samp.out.bam
# 仅提取分段/未比对reads,不输出主SAM
samtools view -h samp.bam | samblaster --ignoreUnmated -a [-e] [-s samp.split.sam] [-u samp.umc.fasta] -o /dev/null

参数说明(默认值置于方括号 \[\])

输入输出参数

-i --input FILE:输入 SAM 文件 默认读取 stdin -o --output FILE:主输出 SAM 文件 默认输出 stdout -d --discordantFile FILE:输出不一致配对 reads 到该文件 默认不输出 -s --splitterFile FILE:输出分段嵌合 reads 至该文件,受下方过滤参数约束 默认不输出 -u --unmappedFile FILE:将未比对 / 剪切 reads 输出为 FASTQ,受下方参数约束 默认不输出

要求输入包含软剪切 CIGAR;存在质量值 QUAL 则输出 FASTQ,无 QUAL 则输出 FASTA

功能控制参数

-a --acceptDupMarks:复用输入文件已有的重复标记,不再重新检测重复 -e --excludeDups:从不一致配对、分段 reads、未比对 reads 输出文件中剔除标记为重复的 reads -r --removeDups:从全部输出文件中删除重复 reads(自动等效开启--excludeDups--addMateTags:为所有双端 SAM 行添加 MC、MQ 配对标签 --ignoreUnmated:关闭 "配对缺失" 报错。仅确认输入已按 read ID 分组、或已过滤双端数据、或输入为单端长读时使用;常规双端 Hi-C / 重测序不推荐,会丢失输入排序异常校验。 -M:兼容模式(下文详述),0x100次优比对、0x800辅助嵌合比对统一视为 supplementary;适配bwa mem -M输出 --maxReadLength INT:输入 SEQ/QUAL 字符串允许最大长度 500 --maxSplitCount INT:单条 read 最多允许的分段比对数量,超出则不写入分段文件 2 --maxUnmappedBases INT:两段比对之间允许的最大未对齐碱基长度 50 --minIndelSize INT:分段比对判定结构变异的最小插入缺失长度 50 --minNonOverlap INT:两段比对之间最小非重叠碱基长度 20 --minClipSize INT:剪切碱基最低阈值,达到才会写入未比对文件 20

辅助参数

-h --help:打印帮助信息至标准错误流 -q --quiet:精简统计输出 --version:打印程序版本号

比对类型定义

自 0.1.22 版本起,比对类型判定受-M参数影响:

  1. 默认模式:遵循标准 SAM 规范
    • FLAG 0x100 = 次优比对 secondary
    • FLAG 0x800 = 辅助嵌合比对 supplementary 主比对 primary:既非次优、也非辅助比对;仅主比对 + 辅助比对用于识别分段嵌合 reads。
  2. -M兼容模式:0x1000x800全部判定为辅助嵌合比对,无次优比对概念。 用于兼容旧版 SAM 文件(旧版嵌合 reads 标记为 0x100),搭配bwa mem -M输出必须使用。

重复判定规则

一对 reads 若两端有效比对 5' 端特征坐标与前文某对 reads 完全一致,则判定为 PCR 重复。 特征签名由染色体名称、链方向、5' 端完整比对参考坐标组合而成;坐标由 POS、链方向、CIGAR 字符串共同计算,逻辑与 Picard MarkDuplicates 完全一致。

  1. 双端均比对成功:两端特征签名必须同时匹配才判定为重复;
  2. 仅一端比对成功(单端孤儿 reads):比对端签名匹配即判定重复;0.1.25 版本起,正负链孤儿 reads 可互为重复;未比对端无需出现在文件中;单端长读独立比对按孤儿规则处理;
  3. 两端均未比对:不会标记为重复;
  4. 与重复主比对关联的所有次优、辅助嵌合比对,同步标记为重复 FLAG 0x400。

不一致配对 reads 判定标准

同时满足全部条件才判定为不一致配对:

  1. 双端均有比对(无 FLAG 0x4、0x8);
  2. 未设置 properly paired 标准配对标签 FLAG 0x2;
  3. 次优 / 辅助比对不会单独作为不一致配对输出,但合格配对可附带次优 / 辅助比对;
  4. 符合条件的重复配对默认输出至 discordant 文件,添加-e则剔除重复。

分段嵌合 reads 判定规则

单条 read 分段比对至基因组不同区域,两段比对断点常对应结构变异 SV,是 LUMPY 等 SV 检测软件输入源。筛选逻辑:

  1. 筛选拥有 2~--maxSplitCount条主 / 辅助比对的 reads;
  2. 按 read 内部坐标归一化排序所有比对;
  3. 相邻两段比对满足以下任一条件,输出为分段 reads:
    • 两段比对位于不同染色体 / 不同链;
    • 同染色体同链,但区间差异≥--minIndelSize,且中间未对齐碱基≤--maxUnmappedBases
    • 两段互相至少存在--minNonOverlap不重叠碱基。 属于重复的分段 reads 默认输出,添加-e则剔除。

未比对 / 剪切 reads 判定规则

未比对 read:带 FLAG 0x4; 剪切 read:可比对,但 CIGAR 首尾存在≥--minClipSize软剪切 S/H,且该 read 无辅助嵌合比对; 这类 reads 常跨结构变异断点,可输出至 FASTQ 供 YAHA 等分段比对软件重分析。

  1. 输入必须为软剪切主比对,才能完整提取 read 序列;
  2. 存在 QUAL 质量值输出 FASTQ,无 QUAL 输出 FASTA;
  3. 属于重复配对的剪切 / 未比对 reads 默认输出,添加-e则剔除。

引用

Faust, G.G. and Hall, I.M., "SAMBLASTER: fast duplicate marking and structural variant read extraction," Bioinformatics Sept. 2014; 30(17): 2503-2505.

相关推荐
紫昂张2 小时前
RFM模型与用户分群
大数据
财经资讯数据_灵砚智能2 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年6月15日
大数据·人工智能·python·ai·信息可视化·自然语言处理·灵砚智能
小马爱打代码2 小时前
Elasticsearch 容器化部署(单机版):从零搭建你的搜索和分析引擎
elasticsearch
天行健,君子而铎2 小时前
自适应分类·高准确率·可视化易用——运营商数据分类分级解决方案
大数据·分类
西敏寺的乐章2 小时前
排序三阶段:粗排→精排→重排,把业务信号灌进 ES 排序管道
elasticsearch·搜索引擎
root_102 小时前
kylin-v10-sp3-x86系统安装vmware-17
大数据·chrome·kylin
小t说说2 小时前
技术观察:从职坐标看一家IT培训机构的课程体系与AI教学工具
大数据·人工智能
超级赛博搬砖工2 小时前
SEO代理解析:成功搜索引擎抓取你需要了解的事项
大数据·运维·服务器·网络
babe小鑫2 小时前
大数据专业课难度高,学数据分析的价值
大数据·数据挖掘·数据分析