Illumina输出文件详解
Illumina輸出文件詳解
- Illumina測(cè)序原理(next-seq-550)
- 基本過(guò)程
- 基本概念
- BCL文件(Base Call Files)
- BCI文件(Base Call Index Files)
- BGZF文件(Block GNU ZIP File)
- BGZF.BCI(Block Compress Index,可能叫這個(gè)名字)
- FILTER文件(簇過(guò)濾信息文件)
- LOCS文件 (簇位置信息文件)
- Fastq格式文件 (Illumina)
Illumina測(cè)序原理(next-seq-550)
基本過(guò)程
Illumina測(cè)序包裹文庫(kù)制備、簇生成、測(cè)序、數(shù)據(jù)分析四個(gè)過(guò)程。
- 文庫(kù)制備:主要是制作一些碎片化的核酸序列,并將這些碎片化的序列和接頭序列連接起來(lái)。接頭序列包括一段與測(cè)序芯片上的寡聚核苷酸(oligo)反向互補(bǔ)的一小段序列,同時(shí)如果需要也可以通過(guò)PCR插入一段index序列用于標(biāo)記序列所屬的樣本。
- 簇生成:該過(guò)程主要是橋式PCR的過(guò)程。在芯片上有兩種寡聚核苷酸,首先被測(cè)序的單鏈DNA的接頭與其中一種寡聚核苷酸識(shí)別互補(bǔ),隨后以被測(cè)序的單鏈DNA作為模板合成反向互補(bǔ)的DNA序列。合成完畢以后,進(jìn)行核酸變性,洗去被測(cè)序的單鏈DNA。而后,被合成的DNA序列由于在3‘段的接頭序列中存在與第二種寡聚核苷酸的互補(bǔ)序列,因此可以與第二種寡聚核苷酸序列識(shí)別。識(shí)別以后,會(huì)根據(jù)模板連生成一段反向互補(bǔ)序列。重復(fù)上述過(guò)程,完成簇生成。最后會(huì)切去第二種寡聚核苷酸延伸出的單鏈DNA。
- 測(cè)序的過(guò)程即加入引物進(jìn)行測(cè)序,核苷酸可以通過(guò)合成發(fā)出的熒光確定。具體原理參考illumina手冊(cè)。雙端測(cè)序則會(huì)在該過(guò)程結(jié)束后重新進(jìn)行橋式PCR并切去第一種寡聚核苷酸延伸的單鏈DNA,并重新執(zhí)行測(cè)序過(guò)程。
- 數(shù)據(jù)分析過(guò)程,使用illumina專用的Sequencing Analysis Viewer分析生成BCL、圖像等原始文件,再通過(guò)bcl2fastq即可獲得fastq序列并繼續(xù)后續(xù)分析。
基本概念
- 流動(dòng)槽(flow Cell):該名稱為Illumina的官方術(shù)語(yǔ),也稱作芯片,為一次性用品。其表面遍布寡聚核苷酸。
- 泳道(lane):一個(gè)流動(dòng)槽有4個(gè)泳道。泳道指帶有專用輸入輸出端口的物理通道。
- 表面(surface):流動(dòng)槽會(huì)在頂面和底面兩個(gè)表面成像。一個(gè)小區(qū)的頂面成像后,該小區(qū)的底面會(huì)接著成像,之后會(huì)移至下一個(gè)小區(qū)。
- 每泳道測(cè)繪帶數(shù)(swaths per lane):測(cè)繪帶是泳道中的一列小區(qū)。
- 相機(jī)片段(camera segments):儀器使用6個(gè)相機(jī)對(duì)流動(dòng)槽成像,為每個(gè)泳道成像3個(gè)片段。
- 每個(gè)相機(jī)片段的的每測(cè)繪帶小區(qū)數(shù)(tiles per swath per camera segment):小區(qū)是流動(dòng)槽上的區(qū)域,相機(jī)將其視為一個(gè)圖像。
- 小區(qū)(tile):小區(qū)是流動(dòng)槽上以相機(jī)的視野定義的小成像區(qū)域。
| 泳道 | 4 | 4 |
| 表面 | 2 | 2 |
| 每泳道測(cè)繪帶數(shù) | 3 | 1 |
| 相機(jī)片段 | 3 | 3 |
| 每個(gè)相機(jī)片段的每測(cè)繪帶小區(qū)數(shù) | 12 | 12 |
| 成像小區(qū)總計(jì) | 864(相乘) | 288(相乘) |
注:泳道1和3(泳道對(duì)A)同時(shí)成像。泳道2和4(泳道對(duì)B)再泳道對(duì)A完成后成像。
注:相機(jī)編號(hào)為1-6。相機(jī)1-3對(duì)泳道1成像。相機(jī)4-6對(duì)泳道3成像。對(duì)泳道1和3成像后,成像模塊會(huì)沿x軸方向移動(dòng),以便對(duì)泳道2和4成像。
BCL文件(Base Call Files)
BCL文件是由Illumina測(cè)序儀生成的測(cè)序文件,包含測(cè)序的信息。包括簇?cái)?shù)和堿基信息。
- 簇?cái)?shù):無(wú)符號(hào)32位整數(shù)(unsigned int, 4 Byte)表示。由開(kāi)頭的4個(gè)字節(jié)存儲(chǔ)。
- 堿基信息:無(wú)符號(hào)8位整數(shù)(unsigned char, 1Byte)表示。低位0-1比特位(bit)表示堿基(00-A,01-C,10-G,11-T),2-7比特表示堿基的質(zhì)量分?jǐn)?shù),向右移2位即表示為該堿基的質(zhì)量分?jǐn)?shù)。
注:整數(shù)在內(nèi)存中表示時(shí)從高地址向低地址表示。18 18 AA 08(16進(jìn)制)實(shí)際表示為08 AA 18 18,即需要倒序?yàn)檎鎸?shí)整數(shù)。
注:bit位由左向右為7-0。
例:
| 0x00000000-0x00000003 | 18 18 AA 08 | 145365016(08AA1818,簇?cái)?shù)) |
| 0x00000004 | 81(1000 0001) | 01 -> C,1000 00 -> 32 |
| 0x00000005 | 80(1000 0000) | 00 -> A,1000 00 -> 32 |
| 0x0000000C | 55(0101 0101) | 01 -> C,0101 01 -> 21 |
| 0x0000000F | 3B(0011 1011) | 11 -> T,0011 10 -> 14 |
| …… | …… | …… |
BCI文件(Base Call Index Files)
本文件與bcl.bgzf.bci文件不同。本文件主要表征的是每個(gè)泳道中的每個(gè)小室中簇的數(shù)量,每個(gè)簇即對(duì)應(yīng)一條Read。每條記錄由兩個(gè)無(wú)符號(hào)32位整數(shù)表示。其中低32位標(biāo)識(shí)tile的編號(hào),高32位標(biāo)識(shí)小室中的簇的數(shù)量。
例:
| 0x00000000-0x00000007 | 5D 2B 00 00 / 35 EE 09 00 | 11101(小室編號(hào))/ 650805(簇?cái)?shù)量) |
| 0x00000008-0x0000000F | 5E 2B 00 00 / D8 DF 09 00 | 11102 / 647128 |
| 0x00000010-0x00000017 | 5F 2B 00 00 / 00 BE 09 00 | 11103 / 638464 |
| 0x000006B8-0x000006BF | 10 5B 00 00 / 60 3A 0A 00 | 23312 / 670304 |
| …… | …… | …… |
小室編號(hào)規(guī)則:
- 表面:1表示頂面,2表示底面
- 測(cè)繪帶:1、2或3
- 相機(jī):1、2、3、4、5或6
- 小區(qū):01、02、03、04、05、06、07、08、09、10、11、12
- 如:小區(qū)編號(hào)12508表示頂面、測(cè)繪帶2、相機(jī)5和小區(qū)8
BGZF文件(Block GNU ZIP File)
該文件是BCL文件的壓縮文件,壓縮格式為BGZF格式,該格式與gzip格式兼容,可以使用gunzip命令或者7z解壓。該文件實(shí)際上由按照序列排列的GNU ZIP壓縮塊組成,每個(gè)壓縮塊均可表示一個(gè)獨(dú)立的gzip文件。即將gzip文件拼接成1個(gè)文件即是bgzf文件,擁有快速隨機(jī)讀寫(xiě)的能力。每個(gè)gzip壓縮前后均不超過(guò)64KB。
- 每一個(gè)gzip塊的開(kāi)頭序列為:1F 8B 08 04 00 00 00 00 00 FF 06 00 42 43 02 00;
- 每一個(gè)gzip塊的結(jié)束序列為:1f 8b 08 04 00 00 00 00 00 ff 06 00 42 43 02 00 1b 00 03 00 00 00 00 00 00 00 00 00;
開(kāi)頭信息為:
主要:
| ID1 | gzip IDentifier1 | uint8_t | 31 |
| ID2 | gzip IDentifier2 | uint8_t | 139 |
| CM | gzip Compression Method | uint8_t | 8 |
| FLG | gzip FLaGs | uint8_t | 4 |
| MTIME | gzip Modification TIME | uint32_t | |
| XFL | gzip eXtra FLags | uint8_t | |
| OS | gzip Operating System | uint*_t | |
| XLEN | gzip eXtra LENgth | uint16_t |
附加1:
| SI1 | Subfield Identifier1 | uint8_t | 66 |
| SI2 | Subfield Identifier2 | uint8_t | 67 |
| SLEN | Subfield LENgth | uint16_t | 2 |
| BSIZE | total Block SIZE minus 1 | uint16_t |
附加2:
| CDATA | Compressed DATA by zlib::deflate() | uint8_t[BSIZE-XLEN-19] | |
| CRC32 | CRC-32 | uint32_t | |
| ISIZE | Input SIZE (length of uncompressed data) | uint32_t |
本文件的任意壓縮塊均包含上面的全部?jī)?nèi)容。
BGZF.BCI(Block Compress Index,可能叫這個(gè)名字)
需要注意的是這個(gè)文件與bci(Base Call Index Files)文件是不同的,本文件為BGZF壓縮文件的索引文件。但本文件與bci(Base Call Index Files)文件是存在對(duì)應(yīng)關(guān)系的。與bci文件相同的是,本文件的總記錄數(shù)量與bci(Base Call Index Files)文件的記錄數(shù)量是相同的,每一條記錄均表示為一個(gè)小室(Tile)。由頭信息與記錄組成。
需要值得注意且極其重要的是,每一條記錄都對(duì)應(yīng)的都是一個(gè)小室,且每個(gè)小室都由不止一個(gè)gz塊組成。每條記錄的低16位與高48位組成,高48位即本小室開(kāi)始的gz塊在整個(gè)bgzf文件中地址。低16位表示該gz塊解壓后的數(shù)據(jù)塊中本小室開(kāi)始的地址。
如:04 00 / 00 00 00 00 00 00,表示第一小室(如泳道1的編號(hào)11101小室)的起始gz塊的地址在整個(gè)bgzf文件中為0x00 00 00 00 00 00,04表示本小室在第一塊gz塊解壓后的地址0x04開(kāi)始。
如:39 EE / B2 E3 02 00 00 00為第二條記錄,表示第二個(gè)小室的起始gz塊的地址在整個(gè)bgzf文件中為0x00 00 00 02 E3 B2,39 EE表示第二小室在這個(gè)gz塊解壓后的數(shù)據(jù)的地址0xEE 39開(kāi)始。
例:
| 0x00000000-0x00000003 | 00 00 00 00 | 0(頭信息) |
| 0x00000004-0x00000007 | D8 00 00 00 | 216 (頭信息,小室數(shù)量) |
| 0x00000008-0x0000000F | 04 00 / 00 00 00 00 00 00 | 4 / 0(記錄) |
| 0x00000010-0x00000017 | 39 EE / B2 E3 02 00 00 00 | 60985 / 189362 |
| …… | …… | …… |
FILTER文件(簇過(guò)濾信息文件)
本文件主要包含的是每個(gè)簇的是否被過(guò)濾的信息。其中0-12 Byte表示該文件的頭信息,包括頭、版本、簇?cái)?shù)。后面信息則為記錄,每條記錄為1 Byte。
例:
| 0x00000000-0x00000003 | 00 00 00 00 | 0(頭信息) |
| 0x00000004-0x00000007 | 03 00 00 00 | 3(文件版本號(hào)) |
| 0x00000008-0x0000000B | 18 18 AA 08 | 145365016(08AA1818,簇?cái)?shù)) |
| 0x0000000C | 00 | False 未通過(guò)過(guò)濾,在Fastq的頭中用Y表示 |
| 0x00000130 | 01 | True 通過(guò)過(guò)濾,在Fastq的頭中用N表示 |
| …… | …… | …… |
LOCS文件 (簇位置信息文件)
本文件主要記錄的是每個(gè)簇所在的位置信息。其中0-12 Byte表示該文件的頭信息。后面每8 Byte為一條記錄,每條記錄包括x軸位置信息和y軸位置信息。
例:
| 0x00000000-0x00000003 | 01 00 00 00 | 1 (Uint32) 頭信息 |
| 0x00000004-0x00000007 | 00 00 80 3F | 1.0(Float32)頭信息 |
| 0x00000008-0x0000000B | EF E1 2F 02 | 36692463(022FE1EF,簇?cái)?shù)) |
| 0x0000000C-0x00000013 | 32 92 5B 43/21 EC 03 40 | 219.57(Float32,x軸坐標(biāo))/ 2.06 (Float32, y軸坐標(biāo)) |
坐標(biāo)信息轉(zhuǎn)換到Fastq文件中時(shí)需要進(jìn)行一定的轉(zhuǎn)換,具體轉(zhuǎn)換公式如下:
_pos = (Uint32)record_pos*10+1000.5
Fastq格式文件 (Illumina)
| @ | 每一條記錄的開(kāi)始 |
| instrument | 設(shè)備號(hào) |
| run ID | 系統(tǒng)運(yùn)行編號(hào) |
| flow cell ID | 流動(dòng)槽編號(hào) |
| lane | 泳道編號(hào) |
| tile | 小區(qū)編號(hào) |
| x_pos | x軸坐標(biāo) |
| y_pos | y軸坐標(biāo) |
| UMI | [Optional] The UMI sequence (A, G, C, T, and N). When the sample sheet specifies UMIs, a plus sign separates the Read 1 and Read 2 sequences.[后接一個(gè)空格] |
| read | 1/2分別表示單端或雙端中序列1或序列2,單端測(cè)序僅有1,雙端存在1和2 |
| is filtered | Y-表示被過(guò)濾,N-表示未被過(guò)濾 |
| control number | 0—Control bits are not turned on.* |
| index sequence or sample number | [可選]接頭序列或者樣本的編號(hào) |
第二行為堿基序列;
第三行為注釋,一般為+;
第四行為質(zhì)量信息,為phred33格式表示。
總結(jié)
以上是生活随笔為你收集整理的Illumina输出文件详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Ubuntu16.04更改新加卷名称
- 下一篇: 使用Docker构建服务(6)