1)知識簡介
--------------------------------------------------------
1.1)測序質量值
首先在了解fastq,fasta之前,了解一下什么是質量值。phred軟件在對reads進行base calling的時候會給出每一個鹼基的質量值,這個質量值的計算與測序預期錯誤率相關(estimated probability of error):
Phred Quality Score Probability of incorrect base call Base call accuracy
10 1 in 10 90 %
20 1 in 100 99 %
30 1 in 1000 99.9 %
40 1 in 10000 99.99 %
50 1 in 100000 99.999 %
除此之外還有solexa標准,即將p換成了p/(1-p),其他完全按照sanger的定義來做。當測序質量很高的情況下兩種形式幾乎沒區別,但低質量的鹼基則有區別了(見下圖)
Qscore與p之間的關系,其中紅線表示Q=-10 log10p標准,黑色實線表示Q=-10 log10p/(1-p)標准。
1.2)ACII碼
為了方便儲存及可讀這些信息,利用可打印的ACII碼將這些質量值轉化為單字符single characters (or bytes)。ASCII 字符集,最基本的包含了128 個字符。其中前 32 個, 0-31 ,即 0x00-0x1F ,都是不可見字符,這些字符,為控制字符。可見字符為32–126。sanger-fastaq格式用 ASCII 33–126 來表示phred 質量值 0 到93 。舉例來說:一般地,鹼基質量從0-40,既ASCii碼為從 “!”(0+33)到“I”(40+33)。如果某鹼基測序出錯的概率為0.001,則Q應該為30。則30+33=63,那么63對應的ASCii碼為“?”,在第四行中該鹼基對應的質量代表值即為“?”。
2)fastq格式
fastq格式是一個文本格式用於貯存生物學序列及其相應質量值(通常是核酸序列的)。為了簡介,這些序列以及質量信息使用ASCII字符標示。該格式最初由Sanger開發,目的是將FASTA序列與質量數據放到一起,目前已經成為高通量測序結果的事實標准。通常fastq文件中每一個序列含有4行信息(如下):
第一行:序列標識,以‘@’開頭。格式比較自由,允許添加注釋等相關的描述信息,描述信息以空格分開。如示圖中描述信息加入了NCBI的另一個ID名稱,及長度信息
第二行:表示序列信息,制表符或者空格不允許出現。一般是明確的DNA或者RNA字符,通常是大寫,在一些文本文件中,小寫或者大小寫混雜或者含有gap符號是有特殊含義。
第三行:用於將測序序列和質量值內容分離開來。以‘+’開頭,后面是描述信息等,或者什么也不加。如果“+”后面有內容,該內容與第一行“@”后的內容相同;
第四行:表示質量值,每個字符與第二行的鹼基一一對應,按照一定規則轉換為鹼基質量得分,進而反映該鹼基的錯誤率,因此字符數必須和第二行保持一致。對於每個鹼基的質量編碼標示,不同的軟件采用不同的方案 。目前有5種:
1、Sanger,Phred quality score:值的范圍從0到93,對應的ASCII碼從33到126,但是對於測序數據(raw read data)質量得分通常小於60,序列拼接或者mapping可能用到更大的分數。
2、Solexa/Illumina 1.0, Solexa/Illumina quality score:值的范圍從-5到62,對應的ASCII碼從59到126,對於測序數據,得分一般在-5到40之間;
3、Illumina 1.3+,Phred quality score:值的范圍從0到62對應的ASCII碼從64到126,低於測序數據,得分在0到40之間;
4、Illumina 1.5+,Phred quality score:但是0到2作為另外的標示,詳見http://solexaqa.sourceforge.net/questions.htm#illumina
5、Illumina 1.8+
不同的標准之間可以相互轉化換,感興趣可以自己查資料,這里不做詳細介紹。注意:第二行@字符,第三行+字符,在第四行質量值中會出現,有時也會在行首出現,因此在處理fastq格式的時候要格外的關注。
3)fasta格式
------------------------------------
3.1)fasta格式最初來自FASTA軟件包,也是一種文本格式,以單字符( single-letter codes)貯存核酸或者蛋白序列信息,允許在序列前加注釋信息。由2部分信息組成:
>gi|5524211|gb|AAD44166.1| cytochrome b [Elephas maximus maximus] LCLYTHIGRNIYYGSYLYSETWNTGIMLLLITMATAFMGYVLPWGQMSFWGATVITNLFSAIPYIGTNLVEWIWGGFSVDKATLNRFFAFHFILPFTMVALAGV
HLTFLHETGSNNPLGLTSDSDKIPFHPYYTIKDFLGLLILILLLLLLALLSPDMLGDPDNHMPADPLNTPLHIKPEWYFLFAYAILRSVPNKLGGVLALFLSIV
IGLMPFLHTSKHRSMMLRPLSQALFWTLTMDLLTLTWIGSQPVEYPYTIIGQMASILYFSIILAFLPIAGXIENY
第一部分:以>號開始,緊接着序列的標識符 ,注意區分大小寫,且不能出現空格,空格表示序列標識符結束; 隨后是序列的描述信息。
第二部分:以序列本身信息,使用既定的核苷酸或氨基酸編碼符號,大小寫都可以。直到遇到下一個>結束。所有來源於NCBI的序列都有一個gi號“gi|gi_identifier”,gi號由數字組成,具有唯一性。一條核酸或者蛋白質改變了,將賦予一個新的gi號(這時序列的接收號可能不變)。gi號后面是序列的標識符,標識符由序列來源標識、序列標識(如接收號、名稱等)等幾部分組成,他們之間用“|”隔開,如果某項缺失,可以留空但是“|”不能省略。
3.2)fasta格式在拓展的文件命名中,一般會約定俗成,具體見下表格:
Meaning | Notes | |
---|---|---|
fasta | generic fasta | Any generic fasta file. Other extensions can be fas, fa, seq, fsa |
fna | fasta nucleic acid | Used generically to specify nucleic acids. |
ffn | FASTA nucleotide of gene regions | Contains coding regions for a genome. |
faa | fasta amino acid | Contains amino acids. A multiple protein fasta file can have the more specific extension mpfa. |
frn | FASTA non-coding RNA | Contains non-coding RNA regions for a genome, in DNA alphabet e.g. tRNA, rRNA |
4)習題(fq練習文件已boweti2中的示例文件reads_1.fq)
--------------------------------------------------------------------------------------------------
4.1) fq文件中的質量值是如何產生的?
4.2) fq的質量在轉化成ACII碼的時候,為什么不選擇前32個?(0-32)
4.3) fq的質量值在轉化成ACII碼的時候,為什么不從32開始,而是從33開始?
4.4)在統計fq有多少條序列的時候能不能直接grep '@' read_1.fq | wc -l ?為什么?
4.5)在sanger和solexa標准中,測序的錯誤率與質量值之間的差別在哪里?
4.6)fasta格式起源於什么地方?4.7)fasta文件的命名有沒有特殊的含義?
4.8)fasta序列標識符是如何對應來自不同的數據庫來源的?
4.9)轉換fasta與fasta的軟件有哪些?
4.10)fasta中的字母大小寫有沒有特殊的含義?
4.11) 統計reads_1.fq文件中共有多少條序列信息
4.12)輸出所有的reads_1.fq文件中的標識符(即以@開頭的那一行)
4.13)計算reads_1.fq 所有的reads中N的總數
4.14)統計reads_1.fq 中測序鹼基為Q30的含量
4.15)統計reads_1.fq 中測序鹼基質量為所有大於Q20的鹼基含量
4.16)將reads_1.fq轉為reads_1.fa文件(即將fastq轉化為fasta)
4.17)計算reads_1.fa文件中GC數量
4.18)統計文件中reads_1.fa鹼基總數
4.19)計算reads_1.fa文件中GC含量百分比
4.20)過濾掉reads_1.fa文件中N含量超過10%的reads,並統計有多少條
5) 參考資源
--------------------------------------------------------------
The Sanger FASTQ file format for sequences with quality scores, and the Solexa/Illumina FASTQ variants
https://en.wikipedia.org/wiki/FASTQ_format
https://en.wikipedia.org/wiki/FASTA
http://boyun.sh.cn/bio/?p=1901
https://blog.csdn.net/open2open2/article/details/26706969