1. 程式人生 > >ngs中reads mapping-pku的生信課程

ngs中reads mapping-pku的生信課程

對比 包括 一行 出現 壓縮 替換 的人 orm all

4.NGS中的reads mapping

顧名思義,就是將測序的得到的DNA定位在基因組上。

技術分享圖片

因為二代測序的得到的序列是較短的,reads mapping很好地解決了這個問題。

技術分享圖片

本質上reads mapping是一個雙序列比對問題,但和之前講的NW和SW的不一樣,後者適用於兩者長度相差不大的。

現在問題有幾個特征:

1.reads和ref的長度有著跨數量級的差異,reads長度通常不超過100bp,而ref基因組通常在上百Mb。

2.數據量,NGS測序產生的數據量達到幾百Gb,相當於幾十個人的人類基因組。

3.數據質量。在雙序列比對中通常假定序列本身不會出錯,但是NGS所產生的reads質量參差不齊。

技術分享圖片

reads可以說是鑲嵌到基因組序列中的,對於基因組來說是局部比對,對於reads來說是全局比對,是一個混合型的alignment。

首先對基因組建立索引,也就是index,

技術分享圖片

將每一個基因根據key映射到一個index,從而存儲在不同的數據塊中,盡量減少比對時間。

哈希可以來完成,以下例子:

技術分享圖片

先給ACGT分別確定一個值,那麽將求和作為哈希函數,將基因組中分段,然後進行映射存儲。這樣有一個reads之後就可以以O(1)時間內尋找位置。

通常有一定的容錯性

技術分享圖片

數據壓縮中的前綴樹和後綴樹被應用於reads mapping。 這裏也提到了bowtie和BTW(Burruws Wheeler transform),提高了內存利用效率和比對速度。

技術分享圖片

在對短序列對比時,將所有的SQ都算出來,read中每個堿基都有一個測序質量,假定錯配都是由測序錯誤引起的,從而計算出SQ。

在實際對read mapping的比對中,通常不使用序列比對分數,而使用mapping Quality(也就是最後一行的E),來篩選Read在Ref中的位置。

//這個415是如何得到的呢?是所有SQ的和。

當將reads正確映射到基因組之後,就可以來判斷遺傳變異。

根據遺傳變異的尺寸,可以分為單個堿基水平的單核苷酸變異和多個:

技術分享圖片

//這個圖說的簡直十分清晰。

SNV是最常見的遺傳變異分析方法:包括替換堿基,或者插入刪除堿基。

SV:包括大規模刪除插入、倒轉、易位、拷貝數變異。

技術分享圖片

SNP calling是確定哪個基因位點存在變異,不涉及到對應位點的基因型。

Genotype calling是進一步確定變異位點的基因型是純合的還是雜合的。

測序深度(sequencing depth):測序得到的堿基總量基因組大小的比值。 它與基因組覆蓋度是一個正相關的關系。測序錯誤率和假陽性結果會隨測序深度的提高而下降。

技術分享圖片

//這張圖它在說什麽,我完全聽不懂啊。什麽就是純和了,怎麽就雜合了?

技術分享圖片

這裏給出了一個簡單的概率模型。

一個生物體的基因型,有三種情況,那麽假設在基因測序中測到的有k個A,有n-k個a。

如果是AA,那麽概率就是n-k個a錯誤概率的乘積,雜合子由1-二者之和。

那麽如果知道生物體中三種基因型出現了概率作為先驗概率,那麽可以推算出,後驗概率。

//其實這裏不太明白D是什麽?

ngs中reads mapping-pku的生信課程