使用Minimac進行基因型填充
- 2019 年 12 月 19 日
- 筆記
Minimac是一款經典的基因型填充軟體,該軟體也是以記憶體消耗小,運行速度快而著稱,歷經了MaCH, minimac, minimac2, minmac3多個版本的更新換代,目前最新版本為v4, 網址如下
https://genome.sph.umich.edu/wiki/Minimac4
源程式碼保存在github上,網址如下
https://github.com/statgen/Minimac4
為了減少記憶體消耗,和beagle軟體類似,minimac提出了一種名為M3VCF
的格式,用來存儲referenc panel的單倍型資訊,將單倍型劃分為不同的block, 示意如下

上圖表示的是9個SNP位點構成的8種單倍型,minimac會根據染色體位置劃分成不同的block區間,識別block區間內的unique haplotypes。兩個鄰近的block區域必須有一個重疊的位點,圖中的9個位點劃分成了兩個block, 1-6號位點對應block B, 6到9號位點對應block B+1。在block B中,有3種唯一的單倍型,對應三種不同顏色。
M3VCF的內容示意如下

和VCF格式類似,在每個blcok的開頭會有一行用於顯示block的資訊,包含的變異位點數VARIANTS
,unique haplotype的個數REPS
等,詳細的介紹請參考以下鏈接
https://genome.sph.umich.edu/wiki/M3VCF_Files
相比VCF格式,該格式磁碟佔用小,讀取速度更快,記憶體消耗小。官網提供了1000G的reference panel供下載,鏈接如下
https://genome.sph.umich.edu/wiki/Minimac4#Reference_Panels_for_Download

該軟體推薦的基因型填充pipeline步驟如下
- study樣本分型結果的品質控制,參考GWAS的質控條件
- 對質控後的分型結果進行pre-phasing, 支援MACH和shapeit兩個軟體的結果
- 將pre-phasing的結果轉化成VCF格式
- 選擇reference panel,推薦1000G或者HRC
- 進行填充
實際操作中典型的用法如下
1. pre-phasing
以MACH為例,用法如下
mach1 -d Gwas.chr20.Unphased.dat -p Gwas.chr20.Unphased.ped --rounds 20 --states 200 --phase --interim 5 --sample 5 --prefix Gwas.Chr20.Phased.Output
MACH要求輸入的分型結果格式為dat和ped格式,詳細的解釋參見以下鏈接
http://csg.sph.umich.edu/abecasis/Merlin/tour/input_files.html
2. convert to vcf
通過MACH2VCF進行格式轉換,用法如下
mach2VCF --haps Gwas.Chr20.Phased.Output.hap --snps Gwas.Chr20.Phased.Output.snps --prefix Gwas.Chr20.Phased.Output.VCF.Format
該腳本可以從以下鏈接下載
ftp://share.sph.umich.edu/minimac3/Mach2VCF.v1.Source.Binary.tar.gz
3. impute
採用minimac4進行填充,用法如下
minimac4 --refHaps refPanel.m3vcf --haps Gwas.Chr20.Phased.Output.VCF.Format.vcf --prefix testRun --cpus 5
minimac4會自動將染色體拆分成不同的區間,在結合多執行緒,可以大大提高運行速度。