首先,需要明確一點: 數據量大小其實就是鹼基的個數。

那麼,數據量大小的計算方法是:

  1. 單端測序

數據量=reads長度 * reads個數 (reads長度很容易得知,reads個數等於測序所得到的fastq文件的總reads數)

2. 雙端測序

數據量=單端reads長度 * 單端reads個數 * 2

通常測序數據量的單位都是用「G"表示,例如1G。需要強調的是,這裡所說的G不是說測序文件在硬碟上的大小為1G,而是表示10億個鹼基。這是如何計算的呢?

首先,我們需要知道1個鹼基=1 byte ;

其次是,1kb=10^3 byte 1M=10^6 byte 1G=10^9 byte。

所以,1G的數據量=10^9=10億個鹼基。

此外,測序數據量還有另外一種表示方式,即cluster。一個cluster表示一個DNA片段(對於RNA-seq,則表示一個片段化後的RNA分子)。比如說某一個樣本測序數據量為30M 的 cluster。如果採用雙端測序技術,每個cluster從兩端都測一次,每次測150bp, 所以就會得到30M*2=60M的reads數,然後reads數乘以每條read的長度就是我們最後的測序數據量(鹼基數),即為60M*150=9G的鹼基數。


我們知道了測序數據量是如何計算的,那麼問題來了,對於一個測序樣本,需要測多少G 的數據量才能滿足實驗要求呢?要回答這個問題,首先要搞清楚幾個概念。

  1. 測序深度(Sequencing depth):是指測序得到的鹼基總量(bp)與基因組大小的比值,即測序深度=數據量大小 / 參考基因組大小。或者理解為基因組中每個鹼基被測序到的平均次數。

2. 測序覆蓋度(Sequencing coverage):是指測序獲得的序列占整個基因組的比例。或者可以理解為基因組上至少被檢測到1次的區域(或者是鹼基),占整個基因組的比例。

由於基因組中的高GC、重複序列等複雜結構的存在,測序最終拼接組裝獲得的序列往往無 法覆蓋有所的區域,這部分沒有獲得的區域就稱為Gap。例如一個細菌基因組測序,覆蓋度是98%,那麼還有2%的序列區域是沒有通過測序獲得的。

測序深度與基因組覆蓋度之間是一個正相關的關係,測序帶來的錯誤率或假陽性結果會隨著測序深度的提升而下降。

測序深度和覆蓋度的示意圖如下:

我們的期望是基因組上每個鹼基至少被測序到3次(對SNP檢測來說,一個位點至少要大於3次,才被認為有效)的概率大於0.99。

那麼問題來了,多大的測序深度,才能滿足基因組中每個鹼基被測序到3次的概率大於0.99。

我們假設基因組大小為G, 假定每次測序可從基因組任何位置上隨機檢測一個鹼基。那麼對於基因組上某一個固定鹼基位置,在一次測序(每測一個鹼基為一次測序)中,該位置被命中的概率為P (P=1/G)。由於基因組 DNA 長度長,在一次測序中,每個鹼基被檢測到的概率很小。當我們的測序量為10G時,即進行10^9次測序過程,每個鹼基被檢測到的次數會顯著增加。我們知道,當某事件出現的概率很小,而試驗次數N很大時,該事件符合泊松分布。泊松分布是一種離散型隨機變數的分布,它有一個特殊的性質即期望和方差均為λ。泊松分布的概率由參數λ所確定,N次試驗中出現 x 次的概率為 P( x) = λ^{x} e^{-λ} / x! 。在實際應用中, 對於所觀察的稀有事件,我們先利用樣本數據計算出平均值並用它來估計 λ。由於測序深度就是

每個鹼基被檢測到的平均次數,因此可以看作成λ。根據這個公式,我們把x看作特定鹼基被

測到的次數,λ看作基因組的測序深度。在測序深度為10的情況下,根據公式 P(0)=4.5e-05,幾乎不太可能測不到。一個鹼基至少被測到一次的概率為1-P(0) approx 1。一個鹼基至少被測到3次的概率為 1-P( 0)-P( 1) - P( 2) = 0.99。

圖1

從圖1可以看出,10X的測序深度,能夠滿足基本的實驗目的。

因此只要確定了測序深度,測序數據量就很好計算了。數據量大小=測序深度*基因組大小。

最後總結:數據量大小=測序深度*基因組大小


推薦閱讀:
相关文章