FASTQ 檔案介紹
隨著次世代定序 (NGS) 越來越普及,產生的資料越來越多,Fastq 這種描述鹼基序列 (Nucleotide Sequence) 的檔案格式也使用的越來越多,本篇想要整理一些有關 Fastq 檔案介紹,像是 Fastq Data Format 與如何利用 Fastq 做 Quality Control (QC)?
FASTQ Format:
網路上蠻多關於 FastQ 格式介紹的資料,我們已以下的範例來介紹一個 Fastq 的檔案通常會有哪一些資訊,以下的資訊是一個鹼基序列的表示方法:
@NB552005:36:HKNVTAFXY:1:11101:2719:1049 2:N:0:ATCACGAC+AAGGTTCA
CACTTGTCAGGAGTTTGAGACCAGCCTGGCCAACATGGCGAAAACCCGTCTCTACTAAAATACAAAAATTAGTCAGGTGATGTGGTGGGCATCTGTAATCCCAGCTACTCGGAAGGCTGAGACAGAAGAATCGCTTGAACCTGGGAAGTGG
+
AAAAAEEEEEE/EEEEE/EEAAAEAAEEEEA/EEEEEEEEA/AEEAEEEAEAEEAEEA<EEEEEEE<A<AEEAA<EEEE//E/EEEEEEEEEEEAEEEEAEE<EE/<EAEEEA/EEEEE/A/AEE/A//<AAEAEAE//AEE<<EEEEAE<
通常 Fastq 裡面會有很多像是以上的鹼基序列,一個鹼基序列會由四個部分組成:
- @ 之後包含很多產生鹼基序列的資訊:
- 讀取到的鹼基序列(包含 Adaptor)
- + 是分隔符號
- 關於鹼基序列的信心信號
參考
Single-Read Run v.s Paired-End RunFastq 檔案主要可以分成兩種,一種是 Single-Read,這種 Fastq 產生主要是從 DNA 的其中一端讀進資料,另外一種是 Paired-End Fastq,這類 Fastq 一般會用兩個檔案 (R1, R2) 描述同一個 Sample Nucleotide Sequences,Fastq 的檔案都是以 *.fastq.gz 爲他的檔名,以下我們提供一個 Paired-End 的例子:
Read 1:(如果只有一個檔案 Read 1 就是 Single-Read)
@NB552005:36:HKNVTAFXY:1:11101:14761:1033 1:N:0:ATCACGAC+AAGGTTCA
CCCAGNTTAGAGTGCGATGACGCCATCTCGGCTCACTACAACCTCCATCTCCTGGGTTCAAGTGGTTCTCCTGCCTCAGCCTCCCGAGTAGCAGGGATTACAGGGGCACATTACCACGACCGGCTAATTTCTGTATTTTTAGTAGAGA
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE6EEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEAEEEEEEEEE<EEEE/EEEEE/EEEEEEEEE<EEEEAEEEEEEEEEEEEEE
Read 2:(如果是 Paired-End Fastq 就會同時有 Read 1 與 Read 2)
@NB552005:36:HKNVTAFXY:1:11101:14761:1033 2:N:0:ATCACGAC+AAGGTTCA
TCTCTACTAAAAATACAGAAATTAGCCGGTCGTGGTAATGTGCCCCTGTAATCCCTGCTACTCGGGAGGCTGAGGCAGGAGAACCACTTGAACCCAGGAGATGGAGGTTGTAGTGAGCCGAGATGGCGTCATCGCACTCTAACCTGGG
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEE<EEEEEEEEEEEEE<EEEEAEEEEEEEEEEEEEEAEEAAEE/EEAEEAA/EEEAAEEE<E/EEEEEE
由於 Paired-End Fastq 是同一個 DNA 從不同端讀出來的結果,但是一般定序儀的精準度在 150bp 之後會大幅下降,Read1 讀到的是左半部,Read2 讀到的是右半部,然後中間有重疊的部分,以上的 Sample 比較特別,直接 Reverse Read 2 就可以跟 Read 1 匹配了,這代表取樣的基因序列差不多就是 150 bp 的長度
CCCAGNTTAGAGTGCGATGACGCCATCTCGGCTCACTACAACCTCCATCTCCTGGGTTCAAGTGGTTCTCCTGCCTCAGCCTCCCGAGTAGCAGGGATTACAGGGGCACATTACCACGACCGGCTAATTTCTGTATTTTTAGTAGAGA
GGGTCCAATCTCACGCTACTGCGGTAGAGCCGAGTGATGTTGGAGGTAGAGGACCCAAGTTCACCAAGAGGACGGAGTCGGAGGGCTCATCGTCCCTAATGTCCCCGTGTAATGGTGCTGGCCGATTAAAGACATAAAAATCATCTCT
再來看另外一個範例:
Read 1:
@NB552005:36:HKNVTAFXY:1:11101:10343:1028 1:N:0:ATCACGAC+AAGGTTCA
TAATTNGTTTGTTTGTTTGAGATGGAGTTTCGCTCTGTCACCCAGGCTGGAGTATAGTGGCGTGATCTCGGCTCACTGCAACCTCCATCTCCCAGATTCAAGTGAGTCTCCTGCCTCAGCCTGCTGGGTAGTTCAGATTATAGGCATGTGC
+
AAAAAEEEEEEEEEEEE<EEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEE/EAEEAEEEEEEEEEEEE<EEEEEEEEE/EEEEEEEEAEEAEE/EAEEEEEEAEEEEEEAAE<EEEEEEEEEE/AAA
Read 2:
@NB552005:36:HKNVTAFXY:1:11101:10343:1028 2:N:0:ATCACGAC+AAGGTTCA
CACTTGTCAGGAGTTTGAGACCAGCCTGGCCAACATGGTGAAACCCTGTCTGTACTAAAAATACAAAAATTAGCCAGGCGTGGTGGCACATGCCTATAATCTGAACTACCCAGCAGGCTGAGGCAGGAGACTCACTTGAATCTGGGAGATG
+
AAAAAAE/EEEEEEEEEAEEAEEEEE/EE<EEEEEE/AEEEAEEAEEAAEEEAEEEEEAAEEEEEEAE/EAAA/EAEEEEEEEEAEA/EAEEE<EEEEEEEEEAEEAEEEEEEE<EEEEEAEEAAEEEEEAA</A<<EE<EEEEEAEEEEE
可以發現這一組 Read1, Read2 從第 86 bp 開始可以匹配,這代表了這一個基因序列長度是 86*2 + (150 – 86) = 236 bp,其他的 Single-Read 跟 Paired-End 差別可以參考網站。
CATCTCCCAGATTCAAGTGAGTCTCCTGCCTCAGCCTGCTGGGTAGTTCAGATTATAGGCATGTGC
GTAGAGGGTCTAAGTTCACTCAGAGGACGGAGTCGGACGACCCATCAAGTCTAATATCCGTACACG