SuperAPI AI 工具集

samtools-bam-processing

通用与其它

查看项目

更新于 10-15 22:40

技能介绍

用途:samtools 是处理 SAM/BAM/CRAM 序列比对文件的标准命令行工具,负责比对后的文件整理与质控,处于比对(STAR、BWA)与下游分析(变异检测、peak calling、覆盖度)之间。

主要能力:格式互转(SAM/BAM/CRAM)、按坐标或名称排序、建立索引、生成 QC 统计(flagstat、stats、idxstats、coverage、depth)、按 MAPQ/FLAG/区域过滤读段、标记或去除 PCR 重复、合并多个 BAM 文件。

典型用法:先做 sort 再 index,例如 samtools sort -@ 8 -o sorted.bam input.bam、samtools index sorted.bam、samtools flagstat sorted.bam。去重流程为 collate → fixmate → sort → markdup。转换示例:samtools view -b -h input.sam -o output.bam;CRAM 需 -T 参考 FASTA。安装可用 conda install -c bioconda samtools 或 brew install samtools,建议 1.17+。若环境中已有 samtools,先运行 command -v samtools 检查。

适用场景:坐标排序与索引、区域内随机访问、存储压缩归档、比对质量评估、按质量或 FLAG 过滤、变异检测前去重、多 lane/样本合并、目标区域深度统计。

限制与注意事项:samtools index 要求坐标排序输入;染色体超过 512 Mbp 需用 samtools index -c 建立 CSI 索引;CRAM 依赖参考 FASTA;markdup 前必须经过 fixmate -m,否则重复检测不正确;MAPQ 与 FLAG 过滤会静默改变下游统计结果。Python 原生操作可考虑 pysam,标准化 bigWig 覆盖度用 deeptools bamCoverage,全基因组逐碱基深度可考虑 mosdepth。资料未提供具体收费与价格信息。