跳轉到內容

下一代測序 (NGS)/比對

來自華夏公益教科書,開放的書籍,為開放的世界
下一代測序 (NGS)
預處理 比對 DNA 變異

比對,也稱為對映[1]重新測序中的一個重要步驟。在對物種的某個個體進行測序並構建了參考序列後,對同一物種的更多個體進行重新測序,可以讓我們看到這些個體與參考序列的遺傳差異,以及它們彼此之間的遺傳差異。對這些重新測序個體資料的比對是一種檢測樣本變異的相對簡單的方法。在某些情況下(例如,測序樣本中存在參考序列中未發現的新基因),僅透過比對無法檢測到;然而,雖然其他方法(例如 從頭組裝)可能更強大,但它們也更難或對於某些生物而言,使用當前測序方法無法實現。

下一代測序通常產生短讀長短讀長對,這意味著長度小於 200 個鹼基的短序列(與桑格測序的長讀長相比,長讀長覆蓋約 1000 個鹼基)。為了將測序樣本的 DNA 與其參考序列進行比較,我們需要找到測序資料中每個讀長在參考序列中的對應部分。這被稱為將讀長比對對映到參考序列。完成此操作後,我們可以尋找樣本中的變異(例如 SNP)。這帶來了一些問題

  • 短讀長沒有位置資訊,也就是說,我們不知道它們來自基因組的哪個部分;我們需要使用讀長本身的序列來找到參考序列中的對應區域。
  • 參考序列可能很長(人類約 30 億個鹼基),找到匹配區域是一項艱鉅的任務。
  • 由於我們的讀長很短,參考序列中可能有多個同樣可能的區域可以讀取它們。這在重複區域尤其明顯。
  • 如果我們只尋找與參考序列的完美匹配,我們永遠不會看到任何變異。因此,我們需要在讀長中允許一些錯配和小的結構變異 (InDel)。
  • 任何測序技術都會產生錯誤。與“真實”變異類似,我們需要容忍讀長中的一定程度的測序錯誤,並在以後將其與“真實”變異區分開來。
  • 我們需要對測序資料中數百萬個讀長中的每一個執行此操作。

短讀長

[編輯 | 編輯原始碼]

原始短讀長通常以 (或可以轉換為) 稱為 FASTQ 的檔案格式提供。[2] 它是一種純文字格式,包含每個讀長的序列和質量得分,其中每個單獨的讀長通常佔據四行連續行

@Read_id_1
CTGATGTGCCGCCTCACTTCGGTGGT
+
@@@DDDDDH8<BAHG@BHGIHIII>(
@Read_id_2
TGATGTGCCGCCTCACTACGGTGGTG
+
FHHHHHJIJIJIJIIIJJIIJGIGII
@Read_id_3
...

這四行是

  1. 讀長的名稱/ID,前面是“@”。對於讀長對,將有兩個帶有該名稱的條目,它們位於同一個 FASTQ 檔案或另一個 FASTQ 檔案中。
  2. 讀長的序列。
  3. 一個“+”號。在非常舊的 FASTQ 檔案中,後面跟著第一行的讀長名稱。如今,這行僅出於歷史原因向後相容目的而存在。
  4. 第二行中鹼基的質量得分。得分是由測序儀生成的,並以 ASCII (33+得分) 字元編碼。該行應與第二行具有相同的長度,因為每個鹼基有一個質量得分。

對於 FASTQ 檔案中的每個短讀長,需要確定參考序列中的對應位置(或不存在這樣的區域)。這是透過將讀長的序列與參考序列的序列進行比較來實現的。對映演算法將嘗試在參考序列中找到一個(希望是唯一的)位置,該位置與讀長匹配,同時容忍一定數量的錯配,以允許子序列變異檢測。比對(對映)到參考序列的讀長將如下所示

GCTGATGTGCCGCCTCACTTCGGTGGTGAGGTG  Reference sequence
 CTGATGTGCCGCCTCACTTCGGTGGT        Short read 1
  TGATGTGCCGCCTCACTACGGTGGTG       Short read 2
   GATGTGCCGCCTCACTTCGGTGGTGA      Short read 3
GCTGATGTGCCGCCTCACTACGGTG          Short read 4
GCTGATGTGCCGCCTCACTACGGTG          Short read 5

您可以在頂行看到參考序列,在下面堆疊了五個短讀長;這被稱為堆疊。雖然兩個讀長與參考序列完全匹配,但另外三個讀長每個都顯示一個錯配,以紅色突出顯示(讀長中的“A”,而不是參考序列中的“T”)。由於有多個讀長在同一位置顯示相同的差異,因此可以推斷它是一個實際的遺傳差異(點突變SNP),而不是測序錯誤或錯誤對映。

對映演算法

[編輯 | 編輯原始碼]

存在多種比對演算法;您可以在下面 軟體包 中找到一個(不完整的)列表。關於對映演算法的一些說明

  • 參考序列、短讀長或兩者通常都會預先處理成索引形式,以便快速搜尋。(參見 BWT)

錯誤來源

[編輯 | 編輯原始碼]

比對中存在多種潛在的錯誤來源,包括(但不限於)

  • 聚合酶鏈式反應人工產物 (PCR 人工產物)。許多 NGS 方法涉及一個或多個 PCR 步驟。PCR 錯誤將顯示為比對中的錯配,尤其是早期 PCR 輪次的錯誤將顯示在多個讀長中,錯誤地表明樣本中的遺傳變異。一個相關的錯誤是PCR 重複,其中相同的讀長對出現多次,歪曲比對中的覆蓋率計算。
  • 測序錯誤。測序儀可能會進行錯誤的呼叫,無論是出於物理原因(例如,Illumina 載玻片上的油),還是由於測序 DNA 的特性(例如,同聚物)。由於測序錯誤通常是隨機的,因此它們可以在變異呼叫過程中作為單一讀長進行過濾。
  • 對映錯誤。對映演算法可能將讀長對映到參考序列中的錯誤位置。這通常發生在重複或其他低複雜度區域周圍。

比對型別

[編輯 | 編輯原始碼]

比對可用於不同的目的

  • 全基因組測序。這將是“預設”用途;對生物體的所有 DNA 進行測序,並將其對映到相應的參考序列,以找到遺傳變異。
  • 外顯子組測序。對於大型基因組(例如,人類),在測序之前捕獲外顯子組 DNA。這將以較低成本返回大多數基因的測序資料。
  • 轉錄組測序 (RNA-Seq)。對轉錄組的測序,即樣本中存在的 RNA。這可以顯示哪些基因在樣本中被轉錄,並幫助微調基因註釋(外顯子邊界等)。對映可以完成到完整參考序列或專門的“轉錄組參考”。
  • ChIP-Seq(蛋白質-DNA 相互作用).

SAM/BAM 格式

[編輯 | 編輯原始碼]

SAM/BAM 格式已成為短讀比對的事實上的標準格式。SAM[3] 是二進位制壓縮 BAM 格式的純文字版本。它們可以透過同名的 samtools[4] 命令列工具相互轉換。BAM(不包含比對位置資料)越來越多地用作包含短原始讀資料的節省空間的 FASTQ 檔案替代方案,所有當前比對軟體都可以生成 SAM/BAM 作為輸出格式。一旦處於 BAM 格式,檔案就可以被索引,從而可以快速訪問參考序列的任何區域。隨後,使用 samtools 或其他軟體,可以分析 BAM 檔案(例如,用於質量控制),修改(刪除 PCR 重複,區域性重新比對,鹼基質量重新計算),或用於呼叫變異,無論是小的(SNP,短 InDels)還是大的(反轉,串聯重複,缺失,易位)。BAM 檔案可以使用 Artemis、ACT 或 LookSeq[5] 等工具進行視覺化。最後但並非最不重要的是,BAM 格式的比對可以用於使用 ICORN[6] “變形”參考序列以對應短讀資料;這對於獲取樣本的實際 DNA 序列或根據密切相關的物種構建新的參考序列很有用。

其他有用的 SAM/BAM 相關軟體包括

SAM/BAM 工具示例

[edit | edit source]
  • 將 SAM 轉換為 BAM 格式
    • samtools view -bS aln.sam > aln.bam
  • 根據參考序列上的位置對 BAM 檔案進行排序
    • samtools sort aln.bam aln_sorted.bam
  • 索引 BAM 檔案(視覺化比對需要)
    • samtools index aln_sorted.bam aln_sorted.bai
  • 從 BAM 檔案中提取標題資訊
    • samtools view –h aln_sorted.bam > aln.sam
  • 從 BAM 檔案生成 FASTQ 檔案
    • bam2fastq -o aligned.fastq --no-unaligned aln.bam

軟體包

[edit | edit source]
軟體 型別 支援
技術
介面 備註
Partek 商業 全部 GUI
  • 免費試用
  • 易於使用,無需命令列
  • Illumina & Life Technologies、Ion Torrent 推薦的各種公開可用的比對器
  • 關於比對選擇的指南
BWA[9] 免費軟體 Illumina
SOLiD
454
命令列
  • SAM/BAM 輸出符合 SAM 格式,包含已對映和未對映資料,易於解析
  • 未完全執行緒化。sampe 和 samse 只能利用 1 個 CPU。bwasw(454 更長的讀數)可以完全執行緒化,儘管如此
  • 不如 Stampy 和 Novoalign 靈敏
  • 對於 70-100bp 的 Illumina 讀數,BWA-MEM 可能比它表現更好。
Bowtie[10] 免費軟體 Illumina
SOLiD
命令列
  • SeqAnswers 論壇 中討論
  • 快速
  • 未報告對映質量
  • 不如 Stampy 和 Novoalign 靈敏
Stampy[11] 免費軟體 Illumina 命令列
  • 速度和靈敏度的平衡
  • 即使使用 BWA 作為預對映器,也可能很慢
SHRiMP2 免費軟體 Illumina 命令列
  • 比 BWA 靈敏度更高
  • 一步對映,無需對基因組進行索引
  • 如果參考序列較短,比對可能比 BWA 耗時更少,例如,將讀數比對到目標區域
  • 如果將對映完成到大型基因組,比對速度很慢
TMAP 免費軟體 IonTorrent 命令列
  • 使用一系列演算法來平衡速度和靈敏度
SNP-o-matic[12] 免費軟體 Illumina 命令列
  • 非常快,尤其是在基因組 <100mbp 時
  • 沒有或有限的從頭變異發現
  • 還可以作為基因分型器
CLC 工作站 商業 全部 GUI
  • 易於使用
  • 昂貴
  • 根據我們的資料集,比對是虛假的
  • 與 BWA 或 Bowtie 相比,比對速度根本不令人印象深刻(i7 860 + 16GB 記憶體,windows 2008 R2-64bit)
NextGenMap[13] 開源 Illumina、Ion Torrent 命令列 快速且準確。自適應於底層資料。對於高多型性具有魯棒性
  • 易於使用
  • 快速且準確
  • 對 SNP 具有魯棒性
  • 自適應於資料集。
Novoalign 多執行緒版本為商業版。單執行緒版本為免費版 Illumina 命令列 快速且準確。可能是截至 2013 年的最佳比對器。
GSMapper 商業 454 GUI /
SSAHA2 免費軟體 454 命令列 對於所有能夠對映的讀數,快速且準確
BLAT 免費軟體 454 命令列 不是為 NGS 資料設計的。
Mosaik 免費軟體 全部 命令列 步驟繁瑣。比對速度可能很慢。記憶體需求量大。
BWA-SW[14] 免費軟體 454、IonTorrent 命令列
  • 對於長度從 70bp 到 1Mbp 的長序列。
  • 作者建議使用 BWA-MEM(最新的)而不是 BWA-SW。
BWA-MEM[15] 免費軟體 454、IonTorrent 命令列
  • 對於長度從 70bp 到 1Mbp 的長序列。
  • BWA-SW 的較新版本,因此建議使用它而不是 BWA-SW。
  • 對於 70-100bp 的 Illumina 讀數,可能比 BWA 表現更好。
  • 對於變異呼叫,可能比 Novoalign 表現更好 [16]
Bfast[17] 免費軟體 SOLiD 命令列 對於大型 NGS 資料,比對速度可能太慢 [18]
Tophat[19] 免費軟體 Illumina 命令列 僅轉錄組資料
Splicemap 免費軟體 Illumina 命令列 僅轉錄組資料
MapSplice 免費軟體 Illumina 命令列 僅轉錄組資料
AbMapper 免費軟體 Illumina 命令列 僅轉錄組資料
ERNE-map (rNA)[20] 免費軟體 Illumina 命令列
  • 靈敏且高效
  • 可以與獨立的修剪模組(ERNE-filter)和特定於亞硫酸氫鹽處理的讀數比對程式(ERNE-bs5)配對 [21]
  • 處理有間隙的比對時很慢
mrsFAST-Ultra[22] 免費軟體 Illumina 命令列/GUI
  • 完全靈敏度
  • 快速高效
  • 多執行緒

NGS 比對器的詳盡列表在 HTS mapper 中維護

根據個人經驗和流行度,以及關於效能的文獻資料[23][24][25],關於何時使用哪種軟體的簡要介紹

  • 如果只考慮速度,請使用 bowtie。
  • BWA 速度稍慢,但更靈敏。
  • 如果需要靈敏度和特異性,請嘗試 NextGenMap、Stampy、Novoalign 或 SHRiMP 2。

此外,還提出了一個框架(Teaser),可以在幾分鐘內自動對多個對映器進行基準測試。[26]

參考文獻

[edit | edit source]
  1. Flicek, P.; Birney, E. (2009). "從序列讀取中獲取意義:比對和組裝方法". 自然方法. 6 (11 Suppl): S6–S12. doi:10.1038/nmeth.1376. PMID 19844229.{{cite journal}}: CS1 maint: multiple names: authors list (link)
  2. Cock, P.J.; Fields, C.J.; Goto, N.; Heuer, M.L.; Rice, P.M. (2010). "Sanger FASTQ 檔案格式用於帶有質量得分的序列,以及 Solexa/Illumina FASTQ 變體". 核酸研究. 38 (6): 1767–71. doi:10.1093/nar/gkp1137. PMC 2847217. PMID 20015970.{{cite journal}}: CS1 maint: PMC format (link) CS1 maint: multiple names: authors list (link)
  3. SAM/BAM 格式規範工作組 (2015 年 11 月 18 日). "序列比對/對映格式規範" (PDF). GitHub. p. 16. 檢索於 2016 年 4 月 28 日.
  4. "Samtools 組織和程式碼庫". GitHub. 檢索於 2016 年 4 月 28 日.
  5. Manske, H.M.; Kwiatkowski, D.P. (2009). "LookSeq:一種基於瀏覽器的深度測序資料檢視器". 基因組研究. 19 (11): 2125–2132. doi:10.1101/gr.093443.109. PMC 2775587. PMID 19679872.{{cite journal}}: CS1 maint: PMC format (link) CS1 maint: multiple names: authors list (link)
  6. "ICORN:參考核苷酸的迭代校正". SourceForge. 檢索於 2016 年 4 月 28 日.
  7. Broad 研究所. "Picard". GitHub. 檢索於 2016 年 4 月 28 日.
  8. Stein, L.D. (2016 年 2 月 12 日). "Bio-SamTools". CPAN. Perl.org. 檢索於 2016 年 4 月 28 日.
  9. Li, H.; Durbin, R. (2009). "使用 Burrows-Wheeler 變換進行快速準確的短讀比對". 生物資訊學. 25 (14): 1754–1760. doi:10.1093/bioinformatics/btp324. PMC 2705234. PMID 19451168.{{cite journal}}: CS1 maint: PMC format (link) CS1 maint: multiple names: authors list (link)
  10. Langmead, B.; Trapnell, C.; Pop, M.; Salzberg, S.L. (2009). "超快且記憶體高效的將短DNA序列比對到人類基因組". 基因組生物學. 10 (3): R25. doi:10.1186/gb-2009-10-3-r25. PMC 2690996. PMID 19261174.{{cite journal}}: CS1 maint: PMC 格式 (連結) CS1 maint: 多個名稱:作者列表 (連結)
  11. Lunter, G.; Goodson, M. (2011). "Stampy: 一種用於對Illumina序列讀取進行敏感和快速對映的統計算法". 基因組研究. 21 (6): 936–939. doi:10.1101/gr.111120.110. PMC 3106326. PMID 20980556.{{cite journal}}: CS1 maint: PMC 格式 (連結) CS1 maint: 多個名稱:作者列表 (連結)
  12. Manske, H.M.; Kwiatkowski, D.P. (2009). "SNP-o-matic". 生物資訊學. 25 (18): 2434–2435. doi:10.1093/bioinformatics/btp403. PMC 2735664. PMID 19574284.{{cite journal}}: CS1 maint: PMC 格式 (連結) CS1 maint: 多個名稱:作者列表 (連結)
  13. Cibiv. "NextGenMap". GitHub. 檢索於 2016年4月28日.
  14. Li, H.; Durbin, R. (2010). "使用Burrows–Wheeler變換進行快速準確的長讀比對". 生物資訊學. 26 (5): 589–595. doi:10.1093/bioinformatics/btp698. PMC 2828108. PMID 20080505.{{cite journal}}: CS1 maint: PMC 格式 (連結) CS1 maint: 多個名稱:作者列表 (連結)
  15. Li, H. (2013). "使用BWA-MEM比對序列讀取、克隆序列和組裝重疊群". 預印本: 1–3.
  16. Chapman, B. (2013年5月6日). "評估變異檢測方法的框架:比對器和呼叫器的比較". 藍領生物資訊學. 檢索於 2016年4月28日.
  17. Homer, N. "類似於Blat的快速準確搜尋工具". SourceForge. 檢索於 2016年4月28日.
  18. Koboldt, D. (2011年7月3日). "比對器". MassGenomics. 檢索於 2016年4月28日.
  19. Kim, D.; Salzberg, S. (2016年2月23日). "TopHat". 約翰霍普金斯大學計算生物學中心. 檢索於 2016年4月28日. {{cite web}}: 檢查 |date= 中的日期值 (幫助)CS1 maint: 多個名稱:作者列表 (連結)
  20. Vezzi, F.; Del Fabbro, C.; Tomescu, A.I.; Policriti, A. (2011). "rNA:一種快速準確的短讀數值比對器". 生物資訊學. 28 (1): 123–124. doi:10.1093/bioinformatics/btr617. PMID 22084252.{{cite journal}}: CS1 maint: 多個名稱:作者列表 (連結)
  21. "歡迎使用ERNE 2!". SourceForge. 2014年9月29日. 檢索於 2016年4月28日.
  22. Hach, F.; Sarrafi, I.; Hormozdiari, F.; Alkan, C.; Eichler, E.E.; Sahinalp, S.C. (2014). "mrsFAST-Ultra: A compact, SNP-aware mapper for high performance sequencing applications". Nucleic Acids Research. 42 (W1): W494–W500. doi:10.1093/nar/gku370. PMC 4086126. PMID 24810850.{{cite journal}}: CS1 maint: PMC format (link) CS1 maint: multiple names: authors list (link)
  23. Bao, S.; Jiang, R.; Kwan, W.; Wang, B.; Ma, X.; Song, Y.Q. (2011). "Evaluation of next-generation sequencing software in mapping and assembly". Journal of Human Genetics. 56 (6): 406–14. doi:10.1038/jhg.2011.43. PMID 21525877.{{cite journal}}: CS1 maint: multiple names: authors list (link)
  24. Li, H. (19 November 2009). "NGS Alignment Programs". SourceForge. Retrieved 28 April 2016.
  25. Li, H. (19 November 2009). "NGS mapper ROC curves". SourceForge. Retrieved 28 April 2016.
  26. CIBIV (9 January 2016). "Teaser: A tool for fast personalized benchmarks and optimization of NGS read mapping". University of Vienna. Retrieved 28 April 2016.
華夏公益教科書