張倩
(四川大學計算機學院,成都610065)
作為一種重要的生物實驗技術手段,DNA 測序(DNA sequencing)在生物學研究中有著廣泛的應用,伴隨著第二代測序技術的日趨完善,許多物種已經完成了全基因組的從頭測序。并且近年來,單分子測序(SMS)技術已經出現了各種重要的應用。這些技術也被稱為第三代測序技術,產生的測序讀數比Illumina的讀數長2 到3 個數量級(10-100kbp 對100-250bp)。較長的讀數長度使得包括Pacific Biosciences(PacBio)和Oxford Nanopore Technology(ONT)在內的新的SMS 技術在解決復雜的基因組組裝問題和檢測大型結構變異方面具有前所未有的強大功能。
常用的群體遺傳變異鑒定工具有DNSTAR、GATK、samtools、freebayes、SOAPsnp、Varscan2、sambam?ba 等軟件。其中最常用的為GATK、samtools、sambam?ba 和freebayes。這四個工具中,sambamba 軟件在單樣本數據以及多樣本數據中,在速度方面均具備顯著優勢。而gatk 軟件只在多樣本數據分析上有一定的檢測速度優勢。而在變異鑒定結果準確性方面,samtools 和sambamba 軟件傾向于尋找比較全面的變異,而gatk 和freebayes 軟件則更傾向于尋找準確性較高的變異[1]。
現在在基因組數據中有兩個比較具體的挑戰:新型測序技術產生基因數據的高特異性和高靈敏度的SNPs 鑒定及indels 鑒定。這兩項任務對研究罕見變異、等位基因特異性轉錄和翻譯以及剪接位點突變至關重要。目前的方法對于Illumina 短read 數據中的SNPs 和indel 的精度均在99%以上,然而這些方法會留下大量潛在的假陽性和假陰性。這些方法都依靠專家建立可靠的將信號與噪聲分開的概率模型,這個過程是很耗時的,從本質上講是受限于我們對于導致噪聲的因素的理解與建模能力。
所以在傳統基因鑒定工具愈發成熟的加持下,研究人員將目光投向了近些年大展身手的深度學習之上,利用深度學習來構造由數據驅動的無偏噪聲模型。
深度學習是一種機器學習技術,深度學習受到了越來越多研究者的關注,它在特征提取和建模上都有著相較于淺層模型顯然的優勢。深度學習善于從原始輸入數據中挖掘越來越抽象的特征表示,而這些表示具有良好的泛化能力。它克服了過去人工智能中被認為難以解決的一些問題。且隨著訓練數據集數量的顯著增長以及芯片處理能力的劇增[2]。它應用于多種領域,包括圖像分類、翻譯、游戲和生命科學。
深層神經網絡是目前的主要形式,其神經元間的連接模式受啟發于動物視覺皮層組織,而卷積神經網絡則是其中一種經典而廣泛應用的結構卷積神經網絡的局部連接、權值共享及池化操作等特性使之可以有效地降低網絡的復雜度,減少訓練參數的數目,使模型對平移、扭曲、縮放具有一定程度的不變性,并具有強魯棒性和容錯能力,且也易于訓練和優化。基于這些優越的特性,它在各種信號和信息處理任務中的性能優于標準的全連接神經網絡。
采用深度學習的算法來處理基因數據并用于基因變異鑒定的核心思想是:基因變異鑒定問題也可以轉換為分類問題,對于一個變異候選位點來說,其variant call 就是在對這個數據進行分類;因此從基因數據中訓練出概率模型,再用概率模型去判斷后續數據。
本文中介紹這一核心思想下的兩種深度學習使用方法,第一種將格式為bam 的變異基因數據和格式為fa 文件的參考序列轉換為堆積張量,將堆積張量用于神經網絡的訓練和測試。第二種采用工具尋找基因數據中的特征,并將這些特征矢量化為適合訓練網絡的特征,再用于概率模型的訓練。
2016 年12 月Google 旗下的子公司Verily 發了一篇文章描述了一個針對全基因組測序變異位點(SNP和small indel)檢測的新算法,這個算法不同于一般基于統計方法的軟件,而是利用了卷積神經網絡識別變異位點[3]。DeepVariant 利用谷歌大腦為圖像分類而訓練的神經網絡架構Inception v2,將候選SNP 周圍的reads 編碼為221×100 位圖圖像,其中每列是一個核苷酸,每行是一個從樣本庫中讀取的reads 序列。前五行代表參考序列,后95 行代表隨機抽樣覆蓋了這個變異候選位點的reads 序列。每個RGBA 類型的圖像像素將堿基A、C、G、T 編碼為不同的紅色值,質量分數編碼為綠色值,正負鏈信息編碼為藍色值,與參考序列的變異編碼為alpha 值。
堆積圖選取的編碼信息如下:
(1)base:序列堿基
(2)base quality:堿基質量分數
(3)mapping quality:序列比對質量
(4)strand 正反向鏈
(5)supports variant:是否支持alternative allele
(6)supports reference:是否支持reference allele
帶有明確變異位點標簽的編碼堆積圖放入13 層網絡中進行訓練,此網絡采用Inception v2 網絡架構。訓練好網絡之后,將沒有標簽的變異候選位點堆積圖放入網絡中,即可進行變異鑒定。
神經網絡輸出的結果為每個變異候選位點的基因型概率。

圖1 DeepVariant整體過程
同樣是使用深度學習來處理基因變異鑒定,Remi Torracinta[4]的方法與DeepVariant 卻不一樣。Remi Tor?racinta 設計的方法采用Goby 框架來找到reads 比對序列和參考序列的特征,并且將這些特征矢量化為適合訓練前饋神經網絡的特征和標簽。
Matcha 的神經網絡中最核心的是特征映射器,特征映射器將樣本中的對齊序列轉換為一組適合訓練神經網絡的固定特征集。不論在基因組上有多少對齊的reads 序列,映射器都會產生一個固定長度的輸出,這些輸出可以一致性的轉換為一個固定長度的用于神經網絡訓練的輸入向量。再每個基因組位點,映射器都會生成每種基因型的reads 序列的讀數和reads 序列中支持這個基因型的不同位置的數量。每一個基因組位點會衍生出數百個特征。
對于標簽映射器來說,有兩種不同的方法,一種是單獨調用等位基因,并對等位基因的數量進行編碼,另一種類似于DeepVariant。這兩種方法分別適用于任意倍體基因組和二倍體基因組。
模型采用DeepLearning4 框架,并于Goby 框架進行集成,網絡結構為五層網絡。將對齊后的基因文件輸入特征和標簽映射器,選擇特征映射器,會在訓練集上產生用映射器訓練的模型,這個模型可以用于在測試集上的基因變異鑒定。
通過現在出現的兩種不同的用深度學習方法來進行基因變異鑒定方法的介紹,筆者對他們在變異鑒定效果和范圍上的優缺點做出如表1 對比分析。

表1 兩種深度學習應用方法的比較
兩種方式使用了不同的思路來使用深度學習對基因數據進行變異鑒定。兩者既有相似之處也有不同之處。兩個方法最核心的思想是一樣的:從數據中訓練概率模型,并用這個概率模型進行后續判斷。不同之處在于:DeepVariant 是將基因數據經過編碼轉換為堆積圖,再將堆積圖用圖像分類網絡進行訓練和鑒定;Matcha 是利用Goby 框架從數據中尋找特征,然后手動將特征放入網絡。
DeepVariant 只適用于二倍體生物,而Matcha 可以用于任意倍體生物的基因變異鑒定;DeepVariant 能夠尋找變異類型中的SNPs 和INDEL,而Matcha 專門用于尋找SNPs。
同時計算效率上兩者也有較大差異。將數據轉換為堆積圖,DeepVariant 至少需要使用300 萬像素,而Matcha 使用了642 個浮點表示特征與標簽,所以Mat?cha 的數量級較小,對硬件的要求也比較低。
隨著深度學習的火熱,基因數據研究者也將自己的目光放在了深度學習之上。本文對兩種不同類型的采用深度學習進行基因變異鑒定的方法進行了介紹與對比,深度學習算法有時是比GTAK 等工具性能更好的。結合發展趨勢與需求,未來研究工作地重點可能主要包括:
(1)Matcha 類似的需要手動尋找特征的方法,雖然有著更廣闊的應用范圍,但由于這個特征集在開發期間至少要經過15 次的迭代微調,所以這個模型并不會泛化。是否有更好地尋找特征集的方法,能夠減少微調過程及次數,使這個模型能夠泛化。
(2)DeepVariant 對Illumina 數據的效果較好,但對于PacBio 等reads 序列較長的數據來說,DeepVariant不是最佳選擇。下一步研究工作,可以著重考慮修改網絡,使其能夠對第三代基因數據和PacBio 等基因數據有較好的效果。
(3)DeepVariant 所使用網絡較大,這導致計算效率較低,計算成本較大。今后的研究可以考慮使用不同大小的網絡,使得計算效率能夠得到較大的提升。
(4)DeepVariant 因為其編碼信息較多,導致堆積圖像素較大,DeepVariant 的堆積圖是一個七通道圖像。今后的研究可以考慮選擇編碼哪些關鍵信息來更改堆積圖的大小,使得其計算效率提升的同時準確率不會大幅下降。
利用深度學習方法來進行基因變異鑒定仍處于發展階段,其中還有很多問題等待研究者們解決。