生物信息遇上Deep learning(4): DeepNano

前言

我終於完成了我的畢業設計和我的畢業照,前後停滯了一個多月的時間,有一些個人原因也有畢業事情太多了,也希望大家見諒,還有,我目前還處於自學和初學的階段,有些私聊的朋友想找我做項目啥的,本人時間和精力上都不太允許,望見諒!以後我會多更新的

今天還是講講另外一篇我看的文章,是做長序列的base calling的,是基於循環神經網路來做的, base calling 和variant calling比較相似,只不過一個是由於測序工具導致的測序錯誤,一個是由於發生了SNP或者indel導致的,因此這個文章所做的方法對於variant calling 也有一定的參考價值。

論文地址在2017年發表在PLOS ONE

源碼地址:用的Theno寫的

Motivation

這篇論文的動機是為了解決第三代測序技術的高錯誤率的問題,針對的是目前非常流行的三代測序技術MinION測序技術開發的,通過設計一個深度的雙向循環神經網路,用於減少測序的錯誤率,檢測出序列中的錯誤鹼基,相比於主流深度學習

的方法,作者提出的演算法有更好的表現。

MinION測序技術簡介

納米孔測序技術是最近幾年興起的新一代測序技術。目前測序長度可以達到150kb。目前市場上廣泛接受的納米孔測序平台是Oxford Nanopore Technologies(ONT)公司的MinION納米孔測序儀。它的特點是單分子測序,測序讀長長,測序速度快,測序數據實時監控,機器方便攜帶等,但是和其他高通量的測序技術一樣,測序的平均錯誤率相對二代測序更高,達到15%-20%,這麼高的測序錯誤率也限制了三代測序技術在實際應用的發展。

不同鹼基會產生不同的電磁強度,據此來區分不同鹼基種類

BiGRU

? 作者指出,Oxford Nanopore公司做base calling是基於Metrichor計算雲平台,並且是一個沒有完全開源的演算法,其採用的演算法是hidden Markov model (HMM),也就是大名鼎鼎的隱馬模型,基本思路是將測序片段分割成多個長度為k的子序列,並以此根據定義的k長度和不同序列的交疊區域,獲得狀態轉移狀態,最後生成一個類似於de Bruijn的圖結構,因此圖中主結構的概率可以看作為置信度,而多餘的轉移邊可以看做是丟失、分割錯誤或者是indel,最後通過維特比演算法來計算最高的似然轉移概率。

? 但是這種基於隱馬的演算法有個最大的問題就是它不擅長處理長序列,而只是對於相對較短的序列檢測有較好的效果,長距離的序列依賴無法通過k-mers來很好的表達,也無法捕捉長距離的序列關聯。

因此,作者就才用了深度學習中的循環神經網路用於捕捉長序列之間的關聯性,但傳統的RNN對於長序列也會存在由於訓練長度過長導致的記憶單元的限制,而目前一些改進的RNN就能有效地改善這個問題,例如長短期記憶網路LSTM和門循環神經網路GRU.

BiRNN結構示意

? 作者最終採用的是雙向的GRU來序列長序列的關聯,並用於base calling, 單向的RNN也可以做特徵提取,但是由於可以前端和後端兩個方向進行測序,可以有效提升測序的容量,因此把雙向的信息加入會有更好的表現。

? GRU相比於LSTM的結構會更簡單,只有兩個控制門,分別是更新門和重置門,更新門的作用類似於LSTM的遺忘門和輸入門。它決定了要丟棄哪些信息以及要添加的新信息,重置門是另一個門,它決定忘記過去的信息量,如果有興趣繼續了解GRU的原理的,請點這裡,個人覺得還算是通俗易懂的。

網路損失

作者直接將RNN的隱層輸出直接接全連接到輸出層,對於每個輸入的序列,通常有三種情況,最常見的就是有一個base 出錯,第二種是沒有發生出錯,第三種是兩個及以上的base出錯,對於最後一種情況,作者統一簡化成兩個base出錯的情況,因此,最後輸出層就是維度為一種四個維度,分別是A、C、G、T和-,其中-表示沒有發生錯誤,最後計算一個softmax交叉熵損失,比如A和G發生錯誤,那個vector就是[1,0,1,0,0]和全連接層的輸出做個CE loss.

測試

作者採用SQK-MAP006測序機中的 Escherichia coli 和Klebsiella pneumoniae 作為訓練集和驗證集,並採用雙向的測序結果作為網路輸入,最終的準確率相比於ONT的Metrichor 有幾個百分點的提升。

總結

這算是第一篇用RNN做calling的文章,整個框架也相對簡單,主要的優點是利用了雙向測序和雙向RNN的結合,從而提升了準確率,而且整個測試的效率也非常高,缺點的話就是這個工具只是做到一個判斷的作用,沒有辦法糾正兩個以上的錯誤情況,還有就是網路比較小,有過擬合的情況。

歡迎大家關注我的知乎專欄:

從零開始生物信息學?

zhuanlan.zhihu.com圖標

相同內容也可以關注我的微信公眾號: 壹讀基因:


推薦閱讀:
相关文章