Nanopore base-calling from a perspective of instance segmentation
思想:將鹼基檢測任務當做一種多類標籤分割任務。
2 方法
流程有兩個:
1. UR-net分割信號和鹼基檢測;
2. 後處理,負責合併鹼基成完整的read。
後處理
這個簡單所以先介紹這個。後處理有兩步。首先,接收網絡輸出的標籤,並將連續重複的標籤摺疊爲一個,然後,將標籤映射到。
其中網絡的輸出鹼基值值範圍有:()。每個鹼基有兩個預測值的原因是爲了避免在後處理時將例如AAA這一類的預測鹼基對進行合併成A。因爲原文的後處理過程會將AA,CC,GG,TT等連續重複的鹼基進行合併。所以爲了避免錯誤的合併了預測的AA組,作者使用表示真實的。
2.1 UR-net
上圖就是作者提出的網絡結構,其中綠色部分爲相比U-net的創新部分:GRU。其分爲兩點:
1. 在每個Conv-BN-ReLu塊後面都跟一個GRU,GRU的輸出一個是池化,還有一個就是和後面的CNN進行拼接。
2. 最後的輸出加了三個雙向GRU,強調關注時序關係。
2.2 訓練
Loss函數有兩種,第一個是dice loss,第二個是分類熵loss。
dice loss:
形式爲兩者的交集除以並集,描述兩者相似度。
categorical entropy loss:
一個用於多分類的loss。網絡輸出8類所以是8項的和。
2.3 同聚物重複的處理
上文介紹過了,就是通過來表示。
2.4 合併滑窗的鹼基爲一個read
做法很簡單,首先找相鄰片段最大重複的,重複度最高的拼一塊。其次,如果同一位置上有多個鹼基值,找佔比最大的作爲最終的值。
作者在合併時去掉了每個base-call的頭尾,因爲兩端的信號不完整,所以不用。
實驗
3.1.1 數據
這裏主要講數據預處理的過程。原始信號減中位數除以絕對中位差。絕對中位差是原始數據減去中位數後的值,求這些值的中位數,就是絕對中位差。規範數據到[-2,+2],大於10的值扔掉不要了。
3.1.2 評價標準
1. NED:規範化編輯距離
2. 讀取精度RA
3. 拼接後的相等率identity和相對長度relative length
**NED:**不重疊窗口中的base-call和標準(gold nucleotides)之間的編輯距離
**RA:**與reference相等的數量M除以(M+插入I+刪除D+不匹配U)
identity和relative length:
後面就沒啥了,最後誰能告訴我表格裏相對長度的數據爲什麼是一百多,兩個長度相除應該不會差太多吧?怎麼就到了一百多了。