這篇文章將為大家詳細(xì)講解有關(guān)如何解析對比基因組工具h(yuǎn)isat2,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的無錫網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
由于測序儀機(jī)器讀長的限制,在構(gòu)建文庫的過程中首先需要將DNA片段化,測序得到的序列只是基因組上的部分序列。為了確定測序reads在基因組上的位置,需要將reads比對回參考基因組上,這個(gè)步驟叫做mapping。
在進(jìn)行mapping時(shí),需要考慮以下幾個(gè)因素
通常來說,基因組越大,占用的內(nèi)存越大。對于大型基因組,比如人類基因組而言,優(yōu)化內(nèi)存消耗是很關(guān)鍵的一點(diǎn)。
隨著測序價(jià)格的下降和數(shù)據(jù)深入挖掘的需求,測序量越來越大,海量測序reads的比對,要求速度上必須夠快。
SNP/indel, 測序錯誤率等因素都使得測序的reads和基因組上的原始序列會存在幾個(gè)bp的誤差,所以mapping的算法必須支持堿基的錯配,或者是gap的存在。同時(shí)由于測序的短序列可能和基因組多個(gè)位置存在同源,一條reads會比對到基因組上多個(gè)位置。雙端測序技術(shù)在一定程度上能夠校正多個(gè)位置,因?yàn)殡p端reads 來自同一個(gè)DNA片段,二者在基因組上的位置不會相距太遠(yuǎn),但是僅靠這一點(diǎn)并不能解決所有的同源比對,這就要求比對算法對多個(gè)位置進(jìn)行判斷和打分,給出比對結(jié)果的可靠性。
對于轉(zhuǎn)錄組數(shù)據(jù), 真核生物可變剪切的存在,導(dǎo)致cdnA片段在基因組上的位置并不是連續(xù)的,中間可能存在內(nèi)含子。在比對轉(zhuǎn)錄組數(shù)據(jù)時(shí),就需要考慮跳過剪切位點(diǎn)。
目前mapping的工具有很多,比如bwa, hisat, star等。hisat 是其中速度最快的,是tophat軟件的升級版本。采用了改進(jìn)的FM index 算法,對于人類基因組,只需要4.3GB左右的內(nèi)存。同時(shí)支持DNA和RNA數(shù)據(jù)的比對,軟件官網(wǎng)如下
http://ccb.jhu.edu/software/hisat2/index.shtml
目前最新版為為hisat2. 安裝過程如下
wget ftp://ftp.ccb.jhu.edu/pub/infphilo/hisat2/downloads/hisat2-2.1.0-Linux_x86_64.zip unzip hisat2-2.1.0-Linux_x86_64.zip
下載解壓縮即可。
在進(jìn)行比對前,首先需要對參考基因組建立索引, 基本用法如下
hisat2-build -p 20 hg19.fa hg19
對于轉(zhuǎn)錄組數(shù)據(jù),在構(gòu)建索引時(shí),可以通過gtf
文件,得到剪切位點(diǎn)和exon的信息,用法如下
hisat2_extract_splice_sites.py hg19.gtf > hg19.ss hisat2_extract_exons.py hg19.gtf > hg19.exon hisat2-build -p 20 --ss hg19.ss --exon hg19.exon hg19.fa hg19
hisat2 支持多種格式的輸入文件,常見格式有以下兩種
fasta
fastq
-f
參數(shù)表示輸入問下格式為fasta, -q
參數(shù)表示輸入文件格式為fastq。輸入文件可以是經(jīng)過gzip壓縮之后的文件,默認(rèn)輸入文件是fastq格式。
對于單端數(shù)據(jù),采用-U
指定輸入文件;對于雙端數(shù)據(jù),采用-1
和-2
分別指定R1端和R2端的輸入文件。
reads比對到基因組上的一個(gè)位置,我們稱之為一個(gè)alignment。 軟件會對所有的alignments 進(jìn)行打分和判斷,能夠符合過濾條件的alignment 稱之為valid alignment, 只有valid alignments , 才會輸出。
和blast類似,每個(gè)alignment也有對應(yīng)的打分機(jī)制。hisat 從以下幾個(gè)方面對alignment 進(jìn)行打分
錯配堿基的罰分通過--mp
參數(shù)指定,其值為逗號分隔的兩個(gè)數(shù)字,第一個(gè)數(shù)字為最大的罰分,第二個(gè)數(shù)字為最小的罰分
gap的罰分通過分成兩個(gè)部分,第一次出現(xiàn)gap的罰分和gap延伸的罰分,reads上的gap罰分通過--rdg
參數(shù)指定,其值為逗號分隔的兩個(gè)數(shù)字,第一個(gè)數(shù)字為gap第一個(gè)位置的罰分,第二個(gè)數(shù)字為gap延伸的罰分。
reference上的gap罰分通過--rdg
參數(shù)指定,其值為逗號分隔的兩個(gè)數(shù)字,第一個(gè)數(shù)字為gap第一個(gè)位置的罰分,第二個(gè)數(shù)字為gap延伸的罰分。
經(jīng)過一系列的罰分機(jī)制,每個(gè)alignment會有一個(gè)對應(yīng)的得分,然后會根據(jù)一個(gè)閾值,來判斷這個(gè)得分是否滿足valid alignment的要求。
hisat通過--score--min
參數(shù)指定該閾值,指定方式是一個(gè)和reads程度相關(guān)的函數(shù),默認(rèn)值為L,0,-0.2, 對應(yīng)函數(shù)為
f(x) = 0 - 0.2 * x
根據(jù)reads長度,可以計(jì)算出得分的閾值,大于該閾值的alignment 被認(rèn)為是valid alignment , 才可能被輸出。L
代表線性函數(shù),此外,也支持其他類型的函數(shù),比如常量,自然對數(shù)等,更多選擇請參考官方文檔。
一條reads可能會擁有多個(gè)valid alignments, 在輸出時(shí),并不會輸出所有的alignments, 而是只輸出-k
參數(shù)指定的N個(gè)alignments,-k
參數(shù)的默認(rèn)值為5。
輸出結(jié)果以SAM格式保存,默認(rèn)輸出到屏幕上,可以通過-S
參數(shù)指定輸出文件。
通常情況下,默認(rèn)參數(shù)就能夠滿足我們的需求了。單端數(shù)據(jù)比對的用法如下
hisat -x hg19 -p 20 -U reads.fq -S align.sam
雙端數(shù)據(jù)用法如下
hisat -x hg19 -p 20 -1 R1.fq -2 R2.fq -S align.sam
關(guān)于如何解析對比基因組工具h(yuǎn)isat2就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。