前面我們已經介紹了基因組選擇的各類模型,今天主要來了解一下做GS有哪些可用的軟件和工具。基因組選擇處在熱門研究階段,每年都有不少新工具開發出來,可分析的軟件非常之多,為了便於大家更加清晰地了解,這里我將它們分為免費開源包/庫、成熟軟件、WEB/GUI工具三類,用戶使用難度依次降低。
1. 免費開源包/庫
R和Python語言作為開源軟件的代表,在數據分析領域有着不可替代的優勢。近幾年大部分GS分析軟件都是由這兩種語言開發。免費開源的R包或者Python庫使用起來比較靈活,可根據用戶的具體需求隨時變化參數來獲得最佳性能,但對使用用戶而言需要有一定的數據分析基礎。
1.1 R包
-
rrBLUP
https://cran.r-project.org/web/packages/rrBLUP/rrBLUP.pdf
主要用於建立RRBLUP模型,可估計每個SNP的效應值。 -
sommer
https://cran.r-project.org/web/packages/sommer/sommer.pdf
更新較頻繁,不同版本的用法可能稍有差異。可求解各種混合效應模型,包括RRBLUP和GBLUP經典模型。 -
BGLR
https://github.com/gdlc/BGLR-R
主要用於建立Bayes類模型,包括BayesA、BayesB、BayesC、BayesCpi、BRR、BL、RKHS,也可用於建立GxE、多性狀等復雜模型。 -
brnn
https://cran.r-project.org/web/packages/brnn/brnn.pdf
全稱貝葉斯正則化前饋神經網絡(Bayesian regularization for feed-forward neural networks),專門建立brnn模型,計算比較耗時。 -
HIBLUP
https://hiblup.github.io/
基於BLUP方法的分析工具,可實現ABLUP/PBLUP、GBLUP、SSBLUP等模型。具體可包括A、G、H矩陣構建,AI、EM等多種方差組分估計方法,以及混合模型方程求解等。 -
BWGS
https://cran.r-project.org/web/packages/BWGS/BWGS.pdf
針對小麥基因組選擇分析開發的R包,同樣適用於其他作物。整合了BLUP、Bayes和機器學習三類方法,其實就是整合了單獨分析這三類方法的R包,如rrBLUP、BGLR、glmnet、randomForest、brnn、e1071等。主要函數有交叉驗證建模和表型預測兩個。 -
synbreed
http://synbreed.r-forge.r-project.org/
很古老的R包,實現的功能有數據預處理、可視化及統計建模,包括BLUP和貝葉斯類方法。 -
cpgen
https://github.com/cheuerde/cpgen
可建立BLUP、Bayes模型,還可以做GWAS,特點是能實現多線程並行化計算。 -
GSMX
https://cran.r-project.org/web/packages/GSMX/GSMX.pdf
多變量基因組選擇分析工具。主要用於估計性狀遺傳力和處理過擬合。 -
PopVar
https://cran.r-project.org/web/packages/PopVar/PopVar.pdf
可建立常見的RRBLUP、BayesA/B/C、BL、BRR等模型,特點是可以根據雙親群體的子代作為訓練群體來預測雙親。此外也可進行多性狀分析。 -
BGGE
https://cran.r-project.org/web/packages/BGGE/BGGE.pdf
基於貝葉斯方法建立GxE模型。 -
GAPIT
https://www.zzlab.net/GAPIT/
主要用於GWAS分析,內置了作者提出的sBLUP和cBLUP方法。此外,作者專門開發出GUI工具iPat,詳見第三節。 -
KAML
https://github.com/YinLiLin/KAML
在BLUP方法LMM的基礎上,通過改變遺傳結構方法,如將pseudo-QTNs設為協變量,將某特異性狀賦予權重優化親緣關系矩陣等。可搭配HIBLUP使用。 -
snpReady
https://cran.r-project.org/web/packages/snpReady/vignettes/snpReady-vignette.html
不是專門做GS建模的R包,主要用來做SNP的預處理,包括質控、G矩陣處理、群體遺傳匯總。 -
GSelection
https://cran.r-project.org/web/packages/GSelection/GSelection.pdf
分析功能包括特征選取、特征去冗余、方差估計、表型預測等。 -
MTGS
https://rdrr.io/cran/MTGS/
全稱Genomic Selection using Multiple Traits,用於多性狀分析。但此包已被CRAN移除,只能源碼安裝舊版本。 -
BMTME
https://cran.r-project.org/web/packages/BMTME/BMTME.pdf
全稱Bayesian Multi-Trait Multi-Environment for Genomic Selection Analysis,基於貝葉斯模型的多環境和多性狀分析。 -
DeepGS
https://github.com/cma2015/DeepGS
通過卷積神經網絡算法來預測表型,並集成了RR-BLUP模型,提高預測性能。 -
機器學習用於GS的常見R包:如randomForest、glmnet、e1071、mxnet等。
-
混合線性模型分析的常見R包:lme、lme4、nlme、MCMCglmm等。
1.2 Python庫
-
SeqBreed
https://github.com/miguelperezenciso/SeqBreed
主要能實現常見的BLUP類模型,也可以靈活地評估特定場景中地遺傳結構,如QTN數目、作用及性狀數量等來提升預測性能。 -
常見機器學習Python工具:經典機器學習模塊如sklearn,深度學習框架如Karas、TensorFlow、PyTorch等。
2. 成熟軟件
動物基因組選擇發展較早,因此成熟的遺傳評估軟件一開始是專門為動物育種而設計開發,只有其中一部分功能適用於植物育種。
早期的軟件一部分是商業軟件,使用需付費。一部分雖然免費,但允許使用的數據量小,商用需授權。它們大多用FORTRAN、C等語言編寫,運行穩定且運算較快。但模型比較單一,基本都是通過混合線性模型來評估遺傳參數,建立的大多是BLUP類模型。
近幾年越來越多的高性能免費軟件趨於成熟,隨着海量數據的積累和實際應用的需求,這類軟件將顯得越來越重要。
-
ASREML
https://www.vsni.co.uk/software/asreml
包括ASReml-W和ASReml-R,專門用於海量數據的混合模型分析,可評估許多重要的遺傳參數,運算較快。僅應用BLUP類方法。 -
BLUPF90
http://nce.ads.uga.edu/wiki/doku.php
BLUPF90系列程序是Fortran 90/95中的軟件集合,用於動物育種中的混合模型計算。 -
DMU
https://dmu.ghpc.au.dk/
歷史悠久,主要用於動物數量遺傳評估。功能包括估計方差組分和固定效應,預測育種值。 -
MixBLUP
https://www.mixblup.eu/
動物育種軟件,結合系譜和基因組信息基於BLUP方法估計育種值。 -
WOMBAT
http://didgeridoo.une.edu.au/km/wombat.php
為動物育種開發,使用REML估計方差組分。 -
PIBLUP
https://github.com/huiminkang/PIBLUP
各類BLUP模型構建,包括加性、顯性和上位性矩陣。雖然用R編寫,但使用了多線程並行運算,加入了數學核心函數庫,使用預處理共軛梯度等方法加快了運算速度。 -
GVCBLUP
https://animalgene.umn.edu/gvcblub
在GBLUP基礎上可對加性和顯性效應進行基因組預測和方差成分估計。 -
JWAS
http://reworkhow.github.io/JWAS.jl/latest/
Julia語言編寫,基於貝葉斯多元回歸方法。對固定和隨機效應無限制,且可用於多性狀分析。
3. WEB/GUI工具
基於網頁或圖形界面的工具目前還較少,因此對於普通用戶使用GS技術,仍有一定的門檻。以下幾個工具僅供參考。
-
GS1.0
http://www.rmbreeding.cn/tool/gs1.0
基於GBLUP的水稻基因組選擇在線分析模塊,要求輸入基因型、表型和親緣關系矩陣三個文件。 -
solGS
https://cassavabase.org/solgs
基於RRBLUP模型建立的web工具。 -
iPat
http://zzlab.net/iPat/#!
圖形用戶界面GUI工具,可單獨進行GS(包括BLUP和貝葉斯類模型,內置rrBLUP、BGLR等R包),也可結合GWAS輔助GS分析。
以上僅列出了常見的GS分析工具及其簡介,更多的軟件未能一一列出(如數據前期的清洗、指標評價、數據可視化等),具體的用法也可以去查看對應的文檔。