測序儀
2017年一篇發(fā)表在Nature的綜述"DNA sequencing at 40: past, present and future"介紹了DNA測序這40年的發(fā)展歷程鲜戒。1976年,Sanger和Coulson同時發(fā)表了2種方法用于對上百個DNA堿基進(jìn)行解碼阻桅,這就是第一代測序技術(shù)俭识。到了2005年吱韭,羅氏的454平臺揭開了高通量測序的序幕,后面則是SOLiD鱼的,454和Illumina三方對抗理盆。然而10年過去了,市面上的二代測序只有illumina一家獨大凑阶。在三代測序技術(shù)或者4代測序技術(shù)上猿规,目前則是PacBio和MinION占領(lǐng)了市場的大部分份額。
測序儀的工作原理
高通量測序之所以能夠能夠達(dá)到如此高的通量的原因就是他把原來幾十M宙橱,幾百M姨俩,甚至幾個G的基因組通過物理或化學(xué)的方式打算成幾百bp的短序列,然后同時測序师郑。
因為測序過程是邊合成邊測序(SBS)环葵,所以在建庫的時候,短序列兩段會加一些固定的堿基用于橋式PCR擴(kuò)增宝冕,這些固定的堿基就是adapter(接頭)张遭。一般而言,還可以在接頭加一些tag(index)地梨,用于標(biāo)識這個read來自于哪個物種菊卷。目前的單細(xì)胞測序為了省錢宝剖,譬如10X genomic技術(shù),都是在一個pool里面加多種接頭万细。
以二代測序的無冕之王illumina測序儀建庫為例,假設(shè)有如下的DNA片段
AAAATTTTGGGGCCCC
TTTTAAAACCCCGGGG
在建庫準(zhǔn)備時赖钞,單一設(shè)計的DNA接頭長度通常超過30個堿基腰素,會加在每條序列的兩端
XXXXAAAATTTTGGGGCCCCYYYY
XXXXGGGGCCCCAAAATTTTYYYY
對于給定的片段仁烹,每條鏈都會被測序。測序儀通常會識別起始位點的XXXX卓缰,但不會被記錄计呈,測序方向:
---->
AAAAT
AAAATTTTGGGGCCCC
TTTTAAAACCCCGGGG
CGGGG
<----
由于片段長度不一砰诵,所以會出現(xiàn)read-through的情況,也就是讀到了接頭的序列捌显。
由于測序的protocol和instrumentation不同扶歪,測序方向也可能不同,這會導(dǎo)致程序出現(xiàn)錯誤善镰。因此請確保你的雙端數(shù)據(jù)的方向是----> <----
。
在測序過程中乎完,機(jī)器會對每次讀取的結(jié)果賦予一個值品洛,用于表明它有多大把握結(jié)果是對的。從理論上都是前面質(zhì)量好桥状,后面質(zhì)量差。并且在某些GC比例高的區(qū)域转晰,測序質(zhì)量會大幅度降低砾肺。
目前,Illumina的錯誤率是1/1000,PacBio是1/10,而MinION是1/5蚁趁。隨著技術(shù)的更新,目前它們的錯誤率應(yīng)該是得到很大的降低了番官,但是順序不會變钢属,于是三代和四代的測序結(jié)果一般都需要二代進(jìn)行糾錯。
測序儀詳解
2011年有一篇文章Travis Glenn’s Field Guide to Next Generation DNA Sequencer對不同測序儀進(jìn)行了測評】崾Γ現(xiàn)在6年過去了,這篇文章的內(nèi)容也得到了相應(yīng)的更新山孔,見2016: Updates to the NGS Field Guide
Ilumina
待補充
PacBio
待補充
Minion
待補充
樣本準(zhǔn)備
待補充
測序數(shù)據(jù)覆蓋度
什么叫做測序數(shù)據(jù)的覆蓋度(coverage)台颠,這是一個很好的問題褐望。在書中,覆蓋率簡單定義為:
c = 測序的堿基數(shù) / 基因組總大小
一開始我覺得這個公式其實是計算測序的平均深度瘫里。但是后面繼續(xù)談到覆蓋度不是意味著所有基因組都被覆蓋了荡碾,而是覆蓋率越高,基因組未被檢測到的基因越少漆腌。根據(jù)經(jīng)驗公式阶冈,堿基丟失率:P = exp(-C)。假設(shè)測序深度10x填具,基因組長度為20k,那么丟失exp(-10)*20000匆骗,差不多是一個堿基,如果是人類基因組會是136199個堿基碉就。
當(dāng)然理論覆蓋度并不代表現(xiàn)實情況瓮钥,由于基因組的復(fù)雜性,DNA可能也不是真的隨機(jī)打斷,甚至實驗protocol還有一定的偏向性碉熄。
- 盡可能增加測序深度
- 盡管有一些基因組部分很難被測序锈津,但是我們其實清楚這些區(qū)域難以測序的原因
- 基因組的高度重復(fù)區(qū)域需要更長的讀長才能被發(fā)現(xiàn)
- 基因組不同區(qū)域可能會產(chǎn)生相同的read,你需要更長的讀長琼梆。
科學(xué)家喜歡用“可進(jìn)入(accessible)", "可比對(mappable)", "有效(effective)"的基因組來指明基因組哪些區(qū)域很容易被研究窿吩。
數(shù)據(jù)質(zhì)量和質(zhì)量控制
一般而言艾栋,拿到數(shù)據(jù)后最重要的一步就是看看數(shù)據(jù)的質(zhì)量如何。之前已經(jīng)提及過FASTQ的基本格式先较,這里就不具體展開悼粮,并且我們其實一般都是使用Babraham Institute開發(fā)的FastQC對質(zhì)量進(jìn)行可視化展示。
目前來看菜循,F(xiàn)astQC基本上已經(jīng)是數(shù)據(jù)質(zhì)量展示的通用工具了申尤。它使用Java進(jìn)行開發(fā),是跨平臺工具勺远,效率高时鸵,簡單易用,出圖也好看初坠。但是記住一點彭雾,F(xiàn)astQC不做質(zhì)量控制,它只是展示數(shù)據(jù)的質(zhì)量而已南誊。
使用FastQC展示數(shù)據(jù)質(zhì)量
FastQC的工作原理是通過對總體數(shù)據(jù)的抽樣來評估總體效果蜜托,這就是它快(fast)的愿意霉赡,畢竟其他一些質(zhì)量展示軟件是老老實實把所有數(shù)據(jù)都用于作圖。
首先你需要準(zhǔn)備數(shù)據(jù)和軟件:
conda -c bioconda install fastqc
wget http://data.biostarhandbook.com/data/sequencing-platform-data.tar.gz
tar xzvf sequencing-platform-data.tar.gz
然后你需要稍微了解以下fastqc的參數(shù):
fastqc seqfile1 seqfile2 .. seqfileN
常用參數(shù):
-o: 輸出路徑
--extract: 輸出文件是否需要自動解壓 默認(rèn)是--noextract
-t: 線程蜂挪, 和電腦配置有關(guān),每個線程需要250MB的內(nèi)存
-c: 測序中可能會有污染谬哀, 比如說混入其他物種
-a: 接頭
-q: 安靜模式
最后使用FastQC進(jìn)行數(shù)據(jù)質(zhì)量可視化展示
fastqc *.fq
結(jié)果會得到每個FASTQ文件對應(yīng)的zip壓縮文件和HTML文件严肪。數(shù)據(jù)匯總主要會用ZIP壓縮文件,而對數(shù)據(jù)質(zhì)量的直觀感受則是看HTML文件篇梭,直接用網(wǎng)頁打開酝枢。綠色表示通過,紅色表示未通過袍患,黃色表示不太好
具體含義可以看這里: http://jingyan.baidu.com/article/49711c6149e27dfa441b7c34.html
一些注意事項:
- 沒必要太過在意“stoplinght"竣付,但是如果全部紅燈卑笨,那么數(shù)據(jù)就要小心了。
- 序列重復(fù)分為兩類:天然重復(fù)(片段相同)赤兴,人為重復(fù)(PCR擴(kuò)增桶良,檢測)
檢測重復(fù)有兩種方法:序列相同,比對相同陨帆。讀段重復(fù)最大的問題是在檢測變異上疲牵,如果一個變異點重復(fù)兩次,會產(chǎn)生與實際不符的效果纲爸。SNP calling和基因組變異檢測需要移除重復(fù),其他就不需要负蚊。
如果同一批測序有多個數(shù)據(jù),比如說15個(5個樣本鸵荠,3個重復(fù))伤极,在對每個數(shù)據(jù)做一個fastqc后,還可以用multiqc進(jìn)行數(shù)據(jù)聚合展示
利用conda安裝軟件尤其簡單熄赡,
conda install multiqc
multiqc --help
使用也很方便齿税,
# 先獲取QC結(jié)果
ls *gz | while read id; do fastqc -t 4 $id; done
# multiqc
multiqc *fastqc.zip --pdf
會有一個html文件用來了解總體情況
測序質(zhì)量的質(zhì)量控制
質(zhì)控時機(jī):比對前的原始數(shù)據(jù)和比對后的數(shù)據(jù)過濾
流程:
- 數(shù)據(jù)可視化評估
- 質(zhì)量不錯就停止QC
- 否則對數(shù)據(jù)進(jìn)行修改凌箕,返回步驟1
QC工具的可信度
- 首先QC工具本身質(zhì)量就不是很好,QC工具之間可能也不一致串绩,不同工具使用相同的參數(shù)可能也會有不同的結(jié)果芜壁。
- QC的確可能會引入錯誤,所以如果盡量避免修改數(shù)據(jù)
QC工具集
比較好的是Trimmomatic
, BBDuk
,flexbar
and cutadapt
- BBDuk part of the BBMap package
- BioPieces a suite of programs for sequence preprocessing
- CutAdapt application note in Embnet Journal, 2011
- fastq-mcf published in The Open Bioinformatics Journal, 2013
- Fastx Toolkit: collection of command line tools for Short-Reads FASTA/FASTQ files preprocessing - one of the first tools
- FlexBar, Flexible barcode and adapter removal published in Biology, 2012
- NGS Toolkit published in Plos One, 2012
- PrinSeq application note in Bioinformatics, 2011
- Scythe a bayesian adaptor trimmer
- SeqPrep - a tool for stripping adaptors and/or merging paired reads with overlap into single reads.
- Skewer: a fast and accurate adapter trimmer for next-generation sequencing paired-end reads.
- TagCleaner published in BMC Bioinformatics, 2010
- TagDust published in Bioinformatics, 2009
- Trim Galore - a wrapper tool around Cutadapt and FastQC to consistently apply quality and adapter trimming to FastQ files, with some extra functionality for MspI-digested RRBS-type (Reduced Representation Bisufite-Seq) libraries
- Trimmomatic application note in Nucleic Acid Research, 2012, web server issue
There also exist libraries via R (Bioconductor) for QC: PIQA, ShortRead