samtools
是一个用于处理SAM(Sequence Alignment/Map)和 BAM(Binary Alignment/Map)格式的文件的强大工具集。以下是samtools
的一些常用命令及其参数:
samtools view
- 作用:提取或转换SAM/BAM文件。
- 示例:
samtools view -bS input.sam > output.bam
- 常用参数:
-b
:输出为BAM格式。-h
:输出包含头信息的SAM格式。-S
:输入为SAM格式。-s
:按指定顺序输出读段。-u
:输出为未压缩的BAM格式。-o
:指定输出文件。-c
:仅输出读段数量。-q
:设置最小映射质量阈值。-f
:按标志过滤读段。
samtools sort
- 作用:对BAM文件按坐标排序。
- 示例:
samtools sort input.bam -o output.sorted.bam
- 常用参数:
-o
:指定输出文件的名称。-O
:指定输出格式(bam
,cram
,sam
)。-l
:设置压缩级别(0-9),0表示不压缩,9表示最大压缩。-m
:设置最大内存使用量(以MB为单位)。默认值是500000000(大约500MB)。
samtools index
- 作用:为排序后的BAM文件创建索引。
- 示例:
samtools index output.sorted.bam
- 常用参数:无
samtools merge
- 作用:合并多个BAM文件。
- 示例:
samtools merge merged.bam file1.bam file2.bam
- 常用参数:
-f
:如果输出文件已存在,则覆盖。-n
:按读组排序。-r
:忽略读组信息。
samtools flagstat
- 作用:统计BAM文件的读段标记。
- 示例:
samtools flagstat input.bam
- 常用参数:无
samtools mpileup
- 作用:生成pileup(堆积)文件,用于变异检测。
- 示例:
samtools mpileup -f reference.fa input.sorted.bam > output.pileup
- 常用参数:
-f
:参考基因组文件。-l
:指定区域的列表文件。-r
:仅处理指定的区域。
samtools depth
- 作用:计算参考基因组上每个位置的覆盖深度。
- 示例:
samtools depth input.sorted.bam > depth.txt
- 常用参数:
-a
:输出所有位置,即使深度为0。-b
:指定区域的列表文件。-r
:仅处理指定的区域。
samtools tview
- 作用:文本视图查看BAM文件。
- 示例:
samtools tview input.sorted.bam reference.fa
- 常用参数:无
这些命令是samtools
功能的一部分。