這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)怎么使用ballgown進行轉(zhuǎn)錄本水平的差異分析,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
成都創(chuàng)新互聯(lián)主營湘東網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件開發(fā)公司,湘東h5成都小程序開發(fā)搭建,湘東網(wǎng)站營銷推廣歡迎湘東等地區(qū)企業(yè)咨詢
常見的轉(zhuǎn)錄組差異分析有兩種策略,一種是基于raw count的定量方式,比如DESeq2, edgeR等;另外一種是基于FPKM/RPKM的定量方式,比如cuffdiff等。
在之前的文章中,我們也提到過基于FPKM值的pipeline由tophat+cufflinks+cuffdiff 升級更新為hisat + stringTie + ballgown。ballgown這個R包也是針對FPKM值的表達量進行差異分析,有兩種方式可以得到轉(zhuǎn)錄本水平的FPKM值。
為了方便下游的ballgown分析,在stringTie軟件中直接添加-b
參數(shù)就可以生成ballgown的輸入文件,基本用法如下
stringtie -p 10 \ -G hg19.gtf \ -o output.gtf \ -b ballgown_out_dir -e \ align.sorted.bam
tablemaker軟件通過調(diào)用cufflinks軟件,也可以生成ballgown的輸入文件,該軟件可以從以下鏈接下載
https://figshare.com/articles/Tablemaker_Linux_Binary/1053137
基本用法如下
tablemaker \ -p 4 \ -q -W \ -G hg19.gtf \ -o out_dir \ align.sorted.bam
對于每個樣本,都會生成一個文件夾,包含如下5個文件
e_data.ctab e2t.ctab i2t.ctab i_data.ctab t_data.ctab
e
代表exon
, i
代表intron
, t
代表transcript
,_data
的文件為不同水平的表達量值。i2t
表示intron和transcript之間的對應(yīng)關(guān)系,e2t
表示exon和transcript的對應(yīng)關(guān)系。
輸入文件準(zhǔn)備好之后,就可以進行差異分析了?,F(xiàn)在的R包都是高度封裝的,幾個函數(shù)就可以完成整套分析了。首先是讀取所有樣本的輸入文件,代碼如下
library(ballgown) bg = ballgown( samples = c("sampleA.dir", "sampleB.dir"), meas='all')
samples 指定所有樣本的ballgown的輸入文件夾。導(dǎo)入成功之后,可以通過*expr
函數(shù)在R中查看樣本在不同水平的表達量信息, *
的取值范圍為i
, e
, t
, g
,代表不同水平。
查看轉(zhuǎn)錄本水平的表達量的代碼示例如下
transcript_fpkm = texpr(bg, 'FPKM')
需要注意的是,intron, exon, transcript 這些水平的表達量信息在原本的ctab
文件中都有,而gene水平的表達量信息,需要根據(jù)基因?qū)?yīng)的轉(zhuǎn)錄本的表達量來計算,所以比較費時。
讀取之后,需要設(shè)置樣本分組, 代碼如下
pData(bg) <- data.frame( id=sampleNames(bg), group=rep(c(1,0), each=3) )
其實就是一個數(shù)據(jù)框,第一列為樣本名稱,第二列為樣本對應(yīng)的分組。
ballgown會自動根據(jù)group的種類進行不同類型的差異分析,如果樣本分為兩組,則進行兩組間的差異分析,如果樣本為多組,則進行多組間的差異分析。
ballgown通過stattest
函數(shù)進行差異分析,支持以下4種水平的差異分析
exon
intron
gene
transcript
通過feature
參數(shù)指定差異分析的水平。常規(guī)用法如下
# 轉(zhuǎn)錄本水平的差異分析 stat_results = stattest(bg, feature='transcript', meas='FPKM', covariate='group') # 基因水平的差異分析 stat_results = stattest(bg, feature='gene', meas='FPKM', covariate='group')
ballgown還支持時間序列的差異分析,用法如下
pData(bg) <- data.frame( pData(bg), time=rep(1:10, 2) ) results <- stattest(bg, feature='transcript', meas='FPKM', covariate='time', timecourse=TRUE )
只需要添加timecourse=TRUE
即可。ballgown還支持自定義差異分析的模型。
上述就是小編為大家分享的怎么使用ballgown進行轉(zhuǎn)錄本水平的差異分析了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。