2025-06-16 Samtools 工具最詳細介紹

以下是對 samtools 各命令的詳細中文解釋及其拓展應(yīng)用場景,結(jié)合功能分類和實際生物信息學(xué)分析需求整理:

一、索引命令(Indexing)

dict
功能:創(chuàng)建參考基因組的序列字典文件(.dict),記錄染色體名稱、長度等信息。
應(yīng)用:為GATK等變異檢測工具提供參考基因組元數(shù)據(jù),確保染色體命名一致性。
示例

samtools dict ref.fa -o ref.dict

faidx
功能:為FASTA文件建立索引(.fai),支持快速提取特定序列區(qū)域。
應(yīng)用:配合 samtools faidx 提取子序列,或為BWA等比對工具提供索引。
示例

samtools faidx ref.fa  # 生成ref.fa.fai
samtools faidx ref.fa chr1:1000-2000 > region.fa

index
功能:為排序后的BAM文件創(chuàng)建索引(.bai),實現(xiàn)快速區(qū)域查詢。
應(yīng)用:samtools view 或IGV查看特定基因組區(qū)域時必備。
示例

samtools index sorted.bam  # 生成sorted.bam.bai

二、編輯命令(Editing)

calmd
功能:重新計算MD(Mismatch)和NM(Number of Mismatches)標(biāo)簽,標(biāo)記與參考基因組不一致的堿基。
應(yīng)用:提高變異檢測準(zhǔn)確性(如GATK預(yù)處理)。
示例

samtools calmd -b -@ 4 aln.bam ref.fa > aln.calmd.bam

fixmate
功能:修復(fù)雙端測序數(shù)據(jù)的配對信息(如插入片段長度、方向)。
應(yīng)用:處理比對錯誤導(dǎo)致的配對信息丟失,為后續(xù)標(biāo)記重復(fù)序列做準(zhǔn)備。
示例

samtools fixmate -@ 4 in.bam out.bam

reheader
功能:替換BAM文件的頭信息(Header)。
應(yīng)用:合并樣本時統(tǒng)一頭信息,或修正錯誤的測序平臺信息。
示例

samtools reheader new_header.sam in.bam > out.bam

markdup
功能:標(biāo)記PCR重復(fù)序列(不刪除),通過FLAG字段標(biāo)注。
應(yīng)用:變異檢測前減少假陽性,保留原始數(shù)據(jù)。
示例

samtools markdup -@ 4 in.bam out.bam

addreplacerg
功能:添加或替換Read Group(RG)標(biāo)簽,包含樣本、文庫等信息。
應(yīng)用:多樣本分析時區(qū)分來源,為GATK等工具提供必要元數(shù)據(jù)。
示例

samtools addreplacerg -r "ID:Sample1" -r "SM:Normal" -o out.bam
 in.bam

三、文件操作命令(File Operations)

collate
功能:按Read名稱打亂并分組排序,優(yōu)化后續(xù)處理效率。
應(yīng)用:在名稱排序的BAM文件上運行 fixmate 或 markdup。
示例**:

samtools collate -o collated.bam in.bam

merge
功能:合并多個已排序的BAM文件(需同參考基因組)。
應(yīng)用:合并不同批次或技術(shù)重復(fù)的樣本數(shù)據(jù)。
示例

samtools merge merged.bam sample1.bam sample2.bam

sort
功能:按染色體坐標(biāo)或Read名稱排序(-n參數(shù))。
應(yīng)用:排序是索引、區(qū)域查詢和變異檢測的前提步驟。
示例

samtools sort -@ 4 -o sorted.bam unsorted.bam

mpileup
功能:生成基因組每個位點的堿基覆蓋信息(Pileup)。
應(yīng)用:變異檢測(SNP/Indel)的基礎(chǔ),可輸出BCF/VCF格式。
示例

samtools mpileup -f ref.fa -r chr1:1-1000 in.bam > out.pileup

fastq/fasta
功能:將BAM轉(zhuǎn)換為FASTQ或FASTA格式。
應(yīng)用:重新比對或序列提?。ㄈ缣崛∥幢葘eads)。
示例

samtools fastq -f 4 unmapped.bam > unmapped.fq  # 提取未比對Reads

四、統(tǒng)計命令(Statistics)
depth
功能:計算每個位點的測序深度。
應(yīng)用:評估覆蓋均勻性,識別低覆蓋區(qū)域。
示例

samtools depth -r chr1:1000-2000 in.bam > depth.txt

flagstat
功能:統(tǒng)計BAM文件的比對狀態(tài)(如比對率、配對率)。
應(yīng)用:質(zhì)控報告核心指標(biāo),快速評估數(shù)據(jù)質(zhì)量。
示例

samtools flagstat in.bam > flagstat.txt

idxstats
功能:統(tǒng)計每條染色體的比對Reads數(shù)量。
應(yīng)用:檢測污染(如線粒體比例過高)或性染色體劑量異常
。
示例

samtools idxstats in.bam > idxstats.txt

bedcov
功能:計算BED文件中每個區(qū)域的覆蓋深度總和。
應(yīng)用:靶向測序中目標(biāo)區(qū)域覆蓋統(tǒng)計(如外顯子捕獲)。
示例

samtools bedcov targets.bed in.bam > cov_sum.txt

五、查看命令(Viewing)
view
功能:核心命令,支持SAM/BAM格式轉(zhuǎn)換、區(qū)域提取、過濾。
應(yīng)用:

格式轉(zhuǎn)換:samtools view -bS in.sam > out.bam
區(qū)域提取:samtools view in.bam chr1:1000-2000
過濾:samtools view -b -q 30 -f 2 in.bam > high_qual.bam(高質(zhì)量且正確配對的Reads)

tview
功能:終端可視化比對結(jié)果(交互式查看)。
應(yīng)用:快速驗證特定位點的比對情況(如疑似突變位點)。
示例

samtools tview -p chr1:1000 in.bam ref.fa

flags
功能:解釋FLAG數(shù)值的含義(如0x4=未比對)。
應(yīng)用:輔助設(shè)計過濾條件(如 -f 2 -F 3844 過濾出唯一比對且正確配對的Reads)。
示例

samtools flags 77  # 解釋FLAG=77的含義

六、拓展使用場景總結(jié)

場景 推薦命令組合 說明
變異檢測預(yù)處理 sort → markdup → index → calmd 標(biāo)記重復(fù)、修復(fù)堿基標(biāo)簽
多樣本合并 reheader → merge 統(tǒng)一頭信息后合并文件
快速質(zhì)控 flagstat + idxstats + depth 綜合評估比對質(zhì)量與覆蓋度
靶向區(qū)域分析 view -L targets.bed → bedcov 提取目標(biāo)區(qū)域并統(tǒng)計覆蓋
數(shù)據(jù)轉(zhuǎn)換與提取 view -b -f 4 → fastq 提取未比對Reads并轉(zhuǎn)為FASTQ
交互式驗證 tview + mpileup 可視化查看疑似突變位點

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容