软件手册:Samtools 手册翻译
Samtools 是一个用于处理和分析 SAM(Sequence Alignment/Map)和 BAM(Binary Alignment/Map)格式文件的工具集。它提供了多种命令用于序列比对、格式转换、索引创建和统计分析等。
接下来我们翻译这一部分的命令说明:
常用 samtools
命令列表
好的,我们将这39条命令拆分为三部分进行说明,并为每个部分提供举例。
1. 添加或替换读取组信息:
samtools addreplacerg -r 'ID:fish' -r 'LB:1334' -r 'SM:alpha' -o output.bam input.bam
解释:将读取组信息(ID、Library、Sample等)添加到 BAM 文件中。
示例:如果你有一个 BAM 文件 input.bam
,想为其添加样本信息 alpha
,并将结果保存为 output.bam
,可以使用此命令。
2. 裁剪扩增子:
samtools ampliconclip -b bed.file input.bam
解释:基于 BED 文件中的位置信息,对 BAM 文件中的扩增子进行裁剪。
示例:将 input.bam
中的序列根据 bed.file
中定义的区域进行裁剪,生成更新后的 BAM 文件。
3. 生成扩增子统计数据:
samtools ampliconstats primers.bed in.bam
解释:根据引物 BED 文件,生成扩增子统计信息。
示例:通过 primers.bed
中定义的引物区域,统计 in.bam
文件中的数据,常用于分析扩增子测序数据。
4. 计算基因组覆盖范围:
samtools bedcov aln.sorted.bam
解释:计算 BAM 文件中的覆盖范围。
示例:统计 aln.sorted.bam
中每个区域的读取覆盖数,用于了解基因组覆盖情况。
5. 校正 MD 标签:
samtools calmd in.sorted.bam ref.fasta
解释:基于参考基因组文件,更新或校正 BAM 文件中的 MD 标签。
示例:使用 ref.fasta
作为参考,修复或校正 in.sorted.bam
文件中的 MD 标签。
6. 连接 BAM 文件
:
samtools cat out.bam in1.bam in2.bam in3.bam
解释:将多个 BAM 文件合并为一个。
示例:将 in1.bam
、in2.bam
和 in3.bam
合并为一个新的 BAM 文件 out.bam
。
7. 按名称整理 BAM 文件:
samtools collate -o aln.name_collated.bam aln.sorted.bam
解释:按读取名称整理 BAM 文件中的读取序列。
示例:将 aln.sorted.bam
按读取名称进行整理,输出为 aln.name_collated.bam
。
8. 生成共识序列
:
samtools consensus -o out.fasta in.bam
解释:从 BAM 文件生成共识序列。
示例:从 in.bam
文件中提取共识序列,并将其保存为 out.fasta
。
9. 计算覆盖率
:
samtools coverage aln.sorted.bam
解释:计算 BAM 文件的覆盖率。
示例:统计 aln.sorted.bam
中的每个基因组区域的覆盖率。
10. 计算 CRAM 文件大小:
samtools cram-size -v -o out.size in.cram
解释:计算 CRAM 文件大小的摘要信息。
示例:生成 in.cram
文件的大小摘要,并输出为 out.size
。
11. 去除插入位点的 BAM 文件:
samtools depad input.bam
解释:去除 BAM 文件中的插入位点,生成去插入位点的 BAM 文件。
示例:对 input.bam
进行处理,去除插入的位点信息。
12. 计算读取深度:
samtools depth aln.sorted.bam
解释:计算 BAM 文件中每个位置的读取深度。
示例:统计 aln.sorted.bam
文件中每个位点的深度,常用于覆盖率分析。
13. 生成字典文件:
samtools dict -a GRCh38 -s "Homo sapiens" ref.fasta
解释:基于参考基因组文件生成序列字典文件。
示例:生成 ref.fasta
的字典文件,包含注释信息。
14. 生成参考基因组索引
:
samtools faidx ref.fasta
解释:对参考基因组文件进行索引,生成一个 .fai
文件,方便后续快速查找。
示例:为 ref.fasta
生成索引文件 ref.fasta.fai
,便于快速检索序列。
15. 将 BAM 转换为 FASTA:
samtools fasta input.bam > output.fasta
解释:从 BAM 文件中提取序列,并将其转换为 FASTA 格式。
示例:将 input.bam
中的序列提取并保存为 output.fasta
文件。
16. 将 BAM 转换为 FASTQ:
samtools fastq input.bam > output.fastq
解释:从 BAM 文件中提取序列,并将其转换为 FASTQ 格式。
示例:将 input.bam
文件中的序列提取并保存为 output.fastq
文件。
17. 修复配对信息
:
samtools fixmate in.namesorted.sam out.bam
解释:修复 BAM 文件中成对读取的配对信息。
示例:对按名称排序的 SAM 文件 in.namesorted.sam
进行处理,修复配对信息并输出为 BAM 文件 out.bam
。
18. 解释 FLAG 字段:
samtools flags PAIRED,UNMAP,MUNMAP
解释:解释 BAM 文件中的 FLAG 字段,将其转换为可读形式或数值形式。
示例:解释 PAIRED
(成对读取)、UNMAP
(未比对的读取)和 MUNMAP
(下一个片段未比对)这些 FLAG 的含义。
19. 统计 FLAG 信息:
samtools flagstat aln.sorted.bam
解释:生成 BAM 文件中的 FLAG 字段的统计信息。
示例:统计 aln.sorted.bam
文件中每个 FLAG 的数量,如成对读取、未比对读取等。
20. 生成 FASTQ 索引:
samtools fqidx ref.fastq
解释:为 FASTQ 文件生成索引。
示例:为 ref.fastq
文件生成一个 .fai
索引文件,以便快速检索序列。
21. 打印 BAM 文件头
:
samtools head in.bam
解释:打印 BAM 文件的头部信息,通常包含文件的元数据信息。
示例:打印 in.bam
文件的头部信息,用于检查文件格式或验证元数据。
22. 获取 BAM 文件索引信息:
samtools idxstats aln.sorted.bam
解释:从 BAM 文件的索引中获取统计信息。
示例:打印 aln.sorted.bam
文件的索引统计信息,如参考序列的长度、映射读取的数量等。
23. 导入 FASTQ 文件:
samtools import input.fastq > output.bam
解释:将 FASTQ 文件转换为未比对的 BAM 文件。
示例:将 input.fastq
文件转换为 BAM 格式并保存为 output.bam
。
24. 为 BAM 文件生成索引:
samtools index aln.sorted.bam
解释:为排序后的 BAM 文件生成索引,便于快速检索特定区域的读取。
示例:为 aln.sorted.bam
生成 .bai
索引文件,允许通过参考序列位置快速查找读取。
25. 标记重复读取:
samtools markdup in.algnsorted.bam out.bam
解释:在 BAM 文件中标记 PCR 或光学重复的读取。
示例:将 in.algnsorted.bam
文件中的重复读取标记,并将结果输出为 out.bam
。
26. 合并 BAM 文件:
samtools merge out.bam in1.bam in2.bam in3.bam
解释:将多个 BAM 文件合并为一个文件。
示例:将 in1.bam
、in2.bam
和 in3.bam
合并为一个 out.bam
文件,通常用于将多个样本数据合并。
27. 生成 pileup 文件:
samtools mpileup -f ref.fasta -r chr3:1,000-2,000 in1.bam in2.bam
解释:生成 pileup 格式的输出文件,显示指定区域内的每个碱基的覆盖情况。
示例:在 in1.bam
和 in2.bam
文件中生成参考序列 ref.fasta
的第3号染色体1,000到2,000碱基的 pileup 信息。
28. 处理相位信息:
samtools phase input.bam
解释:处理 BAM 文件中的相位信息,将成对读取的相位信息区分开。
示例:为 input.bam
文件中的成对读取处理相位信息,帮助确定各个片段的父母来源。
29. 快速检查文件完整性:
samtools quickcheck in1.bam in2.cram
解释:快速检查 BAM 或 CRAM 文件是否完整,是否包含有效的头部和 EOF。
示例:快速检查 in1.bam
和 in2.cram
是否包含有效的头部和结尾标记,以确认文件完整性。
30. 生成参考文件:
samtools reference -o ref.fa in.cram
解释:从 CRAM 文件中提取参考序列信息,生成一个参考基因组文件。
示例:从 in.cram
中提取参考序列,输出为 ref.fa
。
31. 替换 BAM 文件头:
samtools reheader in.header.sam in.bam > out.bam
解释:用新的头部信息替换 BAM 文件的原始头部信息。
示例:用 in.header.sam
中的头部信息替换 in.bam
的头部,并将结果保存为 out.bam
。
32. 重置 BAM 文件:
samtools reset -o /tmp/reset.bam processed.bam
解释:重置 BAM 文件,移除比对信息和标志,生成未比对的 BAM 文件。
示例:重置 processed.bam
中的比对信息,并将结果保存到 /tmp/reset.bam
。
33. 列出样本信息:
samtools samples input.bam
解释:列出 BAM 文件中的样本信息。
示例:显示 input.bam
文件中的所有样本名称和相关信息。
34. 排序 BAM 文件:
samtools sort -T /tmp/aln.sorted -o aln.sorted.bam aln.bam
解释:对 BAM 文件按照左端坐标进行排序,并输出排序后的 BAM 文件。
示例:将 aln.bam
按照坐标排序,结果保存为 aln.sorted.bam
,临时文件保存路径为 /tmp/aln.sorted
。
35. 拆分 BAM 文件:
samtools split merged.bam
解释:根据读取组(Read Group)信息将 BAM 文件拆分成多个文件。
示例:将 merged.bam
文件按读取组信息拆分为多个 BAM 文件。
36. 统计 BAM 文件
:
samtools stats aln.sorted.bam
解释:生成 BAM 文件的统计数据,结果包括映射质量、读取长度分布等。
示例:生成 aln.sorted.bam
的统计信息,用于分析读取质量、覆盖率等。
37. 剪切目标区域:
samtools targetcut input.bam
解释:基于读取的覆盖连续性剪切 BAM 文件中的目标区域。
示例:对 input.bam
进行剪切,生成剪切后的 BAM 文件,适用于特定的克隆或扩增子测序数据。
38. 查看比对信息:
samtools tview aln.sorted.bam ref.fasta
解释:使用基于 ncurses 的文本查看器,显示 BAM 文件中的比对信息。
示例:在终端中查看 aln.sorted.bam
中比对到参考基因组 ref.fasta
的结果,交互式查看对齐情况。
39. 转换 SAM/BAM/CRAM 格式
:
samtools view -bt ref_list.txt -o aln.bam aln.sam.gz
解释:将 SAM、BAM 或 CRAM 文件转换为另一种格式,如 BAM 转 SAM,SAM 转 BAM。
示例:将 aln.sam.gz
转换为 BAM 格式 aln.bam
,使用 ref_list.txt
文件作为参考。
好的,接下来是这段 DESCRIPTION(描述) 和 COMMANDS(命令) 部分的翻译。
DESCRIPTION(描述)
Samtools
是一组用于操作 SAM(序列比对/映射)、BAM 和 CRAM 格式文件的工具。它可以在这些格式之间进行转换,还能够对文件进行排序、合并和索引,并且能够快速检索任意区域的读取信息。
Samtools
被设计为流式处理工具,它将输入文件 -
视为标准输入(stdin),将输出文件 -
视为标准输出(stdout)。因此,多个命令可以通过 Unix 管道(pipes)组合使用。Samtools
始终将警告和错误消息输出到标准错误输出(stderr)。
Samtools
还可以打开远程 FTP 或 HTTP(S) 服务器上的文件(如果文件名以 ftp://
、http://
等开头)。Samtools
会在当前工作目录中查找索引文件,若索引文件不存在,则会自动下载索引文件。除非特别要求,Samtools
不会检索整个比对文件。
如果需要索引,Samtools
会寻找附加在文件名上的索引后缀(如 in.bam.bai
),如果找不到,它会再次尝试使用没有文件名后缀的文件(如 in.bai
)。不过,如果索引位于完全不同的位置或具有不同的名称,则数据文件名和索引文件名可以通过 ##idx##
语法组合在一起。例如,/data/in.bam##idx##/indices/in.bam.bai
可明确指定数据和索引文件的位置。
COMMANDS(命令)
每个命令都有单独的手册页面,可以通过如 man samtools-view
或使用较新的 GNU 手册页工具 man samtools view
来查看。以下是各子命令的简要语法和描述。
常见选项在**GLOBAL COMMAND OPTIONS(全局命令选项)**部分有说明。
view
samtools view [选项] in.sam|in.bam|in.cram [region...]
如果未指定选项或区域,将会输出指定输入文件(SAM、BAM 或 CRAM 格式)中的所有比对数据,并以 SAM 格式输出(默认不含头部)。
你可以在输入文件名后指定一个或多个空格分隔的区域,以限制输出只包含那些与指定区域重叠的比对。指定区域要求输入文件已按坐标排序并生成索引。
此命令还可以将输出格式从 SAM 转换为 BAM 或 CRAM,因此也可以作为文件格式转换工具。
tview
samtools tview [-p chr:pos] [-s STR] [-d display] <in.sorted.bam> [ref.fasta]
基于 ncurses 库的文本比对查看器。在查看器中,按 ?
可以查看帮助,按 g
可以从某个区域开始查看比对,例如 chr10:10,000,000
或 =10,000,000
(在查看同一参考序列时使用)。
quickcheck
samtools quickcheck [选项] in.sam|in.bam|in.cram [ ... ]
快速检查输入文件是否完整。检查文件开头是否包含有效头部(适用于所有格式),并检查文件末尾是否有完整的文件结束标记(EOF,仅适用于 BAM 格式)。
该命令不会读取文件中间的数据,因为这样会非常耗时,因此该命令无法检测到文件内部的损坏,但它可以用于在执行更复杂的任务之前检查文件是否被截断。
如果任何输入文件没有有效头部或缺少 EOF 块,该命令将以非零退出代码退出。否则,将成功退出(退出代码为 0)。
head
samtools head [选项] in.sam|in.bam|in.cram
打印输入文件的头部信息,且可选地输出文件的前几条比对记录。此命令始终按原样显示文件中的头部信息,且不会添加额外的 @PG 头部。
index
samtools index [-bc] [-m INT] aln.sam.gz|aln.bam|aln.cram [out.index]
为按坐标排序的 SAM、BAM 或 CRAM 文件生成索引,以便快速随机访问。注意,若为 SAM 文件,必须先进行 BGZF 压缩(block gzip file)。
从 Samtools 1.16 版本开始,此命令也可以接受多个比对文件名,并为它们单独生成索引。
该索引在使用 samtools view
和其他类似命令时,通过指定区域参数限制操作区域时是必需的。
如果提供了输出文件名,索引文件将保存为 out.index
。否则,对于 CRAM 文件 aln.cram
,索引文件将生成为 aln.cram.crai
;对于 BAM 或 SAM 文件,索引文件可能为 aln.bam.bai
或 aln.bam.csi
,具体取决于选择的索引格式。