内容

本文描述了如何使用分期分析包,该包已开发用于对R.高通量基因表达数据的分期分析。当每个基因有多个假设时,分期分析被证明在生物学解释和统计性能方面是有益的。阶段分析采用了(海勒等,2009)由筛选阶段和确认阶段组成。在筛选阶段,通过计算p值来筛选基因,p值汇集了对基因感兴趣的不同假设的证据。然后对FDR对照进行筛选p值调整,然后评估筛选假设的显著性。在确认阶段,只考虑通过筛选阶段的基因进行分析。对于这些基因,每个感兴趣的假设分别进行评估,并在一个基因内跨假设进行多次测试校正,以控制筛选阶段bh调整显著性水平上的FWER。经验丰富的人根据筛选和确认阶段的给定p值,提供执行阶段测试的自动化方法。实现了许多考虑到假设之间逻辑关系的FWER控制程序。因为逻辑关系可能是特定于实验的,用户也可以指定一个适当的调整。

小插图分析了两个数据集。Hammer数据集(Hammer et al. 2010)是一个差异基因表达分析的实验,具有复杂的设计。支持这种类型的分析经验丰富的人类。Ren数据集(Ren et al. 2012)分析中国患者肿瘤组织与正常组织的差异转录本使用(DTU)。转录本级别的分析由stageRTx类。

1安装和加载包

软件包的发布版本托管在Bioconductor上,可以用以下代码安装

如果(# !requireNamespace("BiocManager", quiet =TRUE)) # install.packages("BiocManager") #BiocManager::install(" stagager ")

包的开发版本托管在GitHub上,可以用devtools图书馆使用devtools: install_github(“statOmics /经验丰富的人”)

安装之后,我们将加载这个包。

库(演员)
##加载所需的包:summarizeexperiment
加载所需的包:MatrixGenerics
##加载所需的包:matrixStats
## ##附加包:'MatrixGenerics'
以下对象从'package:matrixStats'中被屏蔽:## ## colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse, ## colCounts, colCummaxs, colCummins, colCumprods, colCumsums, ## colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs, ## colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats, ## colProds, ## colQuantiles, colRanges, colRanks, colSdDiffs, colSds, ## colSums2, colTabulates, colVarDiffs, colWeightedMads, ## colWeightedMeans, colweighteddans, ## colWeightedVars, rowAlls, rowAnyNAs, rowAnys,rowAvgsPerColSet, ## rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods, ## rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps, ## rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins, ## rowOrderStats, rowProds, rowQuantiles, rowRanges, rowwranks, ## rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars, ## rowWeightedMads, rowWeightedMeans, rowWeightedMedians, ## rowWeightedVars
##加载所需的包:genome icranges
##加载所需的包:stats4
##加载所需的包:BiocGenerics
## ##附加包:'BiocGenerics'
以下对象从'package:stats'被屏蔽:## ## IQR, mad, sd, var, xtabs
以下对象从'package:base'被屏蔽:## ## Filter, Find, Map, Position, Reduce, anyduplicate, append, ## as.data.frame, basename, cbind, colnames, dirname, do. frame。调用,## duplicate, eval, evalq, get, grep, grepl, intersect, is。Unsorted, ## lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin, ## pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table, ## tapply, union, unique, unsplit, which。马克斯,which.min
加载所需的包:S4Vectors
## ##附加包:'S4Vectors'
以下对象从'package:base'被屏蔽:## ## I,展开。网格,unname
##加载所需的包:伊朗
##加载所需的包:GenomeInfoDb
##加载所需的包:Biobase
##欢迎访问Bioconductor ## ## Vignettes包含介绍性材料;使用## 'browseVignettes()'查看。要引用Bioconductor,请参阅## 'citation("Biobase")',并查看软件包'citation("pkgname")'。
## ##附加包:“Biobase”
以下对象从“package:MatrixGenerics”被屏蔽:## ## rowMedians
以下对象从'package:matrixStats'中被屏蔽:## ## anyMissing, rowMedians
## ##附加包:'stageR'
下面的对象从'package:methods'中被屏蔽:## ## getMethod

2差异基因表达:Hammer数据集

图书馆(磨边机);图书馆(Biobase);图书馆(limma);图书馆(跑龙套);库(DEXSeq)
##加载所需的包:limma
## ##附件:“limma”
以下对象从“package:BiocGenerics”中被屏蔽:## ## plotMA
##加载所需的包:BiocParallel
加载所需的包:DESeq2
##加载所需的包:AnnotationDbi
加载所需的包:RColorBrewer

作为差异基因表达分析的一个案例,我们分析了Hammer数据集(Hammer et al. 2010).数据集随stageR包一起提供,最初是从compute项目下载的网站(Frazee, Langmead,和Leek 2011)

data(hammer.eset, package="stageR") set <- hammer.eset;rm (hammer.eset)

Hammer实验研究了脊髓神经结扎(SNL)与对照组大鼠在治疗后两周和两个月的效果。每一次\ \(\倍)联合处理,设2个生物重复。我们感兴趣的假设是

我们分别对第一个和第二个时间点的微分表达式和两个时间点之间的折叠变化的差异使用对比。因此,我们创建了一个由两个时间点、两个处理和每个处理中的两个生物重复组成的设计矩阵\ \(\倍)时间组合。注意,在表型数据中有一个拼写错误,所以我们将首先更正它。

pData (eset)美元时间#输入错误。会自己做吗
##[1] 2个月2个月2个月2个月2周2周2周##水平:2个月2个月2周
时间< -因子(代表(c(“mo2”、“w2”),每个= 4),水平= c(“w2”、“mo2”))pData (eset)美元的协议
##[1]控制控制L5 SNL L5 SNL控制控制L5 SNL L5 SNL ##级别:控制L5 SNL
treat <- factor(c("control","control","SNL"," control","SNL"," control","SNL"),levels=c("control","SNL")) design <- model.matrix(~time*treat) rownames(design) = paste0(time,treat,rep(1:2,4)) colnames(design)[4] = "timeMo2xTreatSNL" design
# # # #(拦截)timemo2 treatSNL timeMo2xTreatSNL mo2control1 1 1 0 0 # # mo2control2 1 1 0 0 # # mo2SNL1 1 1 1 1 # # mo2SNL2 1 1 1 1 # # w2control1 1 0 0 0 # # w2control2 1 0 0 0 # # w2SNL1 1 0 1 0 # # w2SNL2 1 0 1 0 # # attr(“转让”),# # [1]0 1 2 3 # # attr(“对比”)# # attr(“对比”)时间# #美元[1]“contr.treatment”# # # # attr(“对比”)对# #美元[1]“contr.treatment”

我们执行独立的过滤(Bourgon, Gentleman, and Huber 2010)在2个样本中至少以百万分之2计数表达的基因和保留基因。然后使用TMM归一化对数据进行归一化(Robinson和Oshlack 2010)以校正样本之间的测序深度和RNA数量的差异。

cpmOffset <- 2 keep <- rowsum (cpm(exprs(eset))>cpmOffset)>=2 #2cpm in 2 samples dge <- DGEList(exprs(eset)[keep,]) colnames(dge) = rownames(design) dge <- calcNormFactors(dge)

2.1传统的分析

我们将首先用limma-嘭分析数据(Law et al. 2014)以一种标准的方式:三种对比分别在罗斯福的水平上进行评估\ (5 \ % \)

##常规分析voomObj <- voom(dge,design,plot=TRUE)

fit <- lmFit(voomObj,设计)对比。matrix <- makeContrasts(treatSNL, treatSNL+timeMo2xTreatSNL, timeMo2xTreatSNL, levels=design)
##警告在makeContrasts(treatSNL, treatSNL + timeMo2xTreatSNL, ## timeMo2xTreatSNL,:重命名(拦截)为拦截
Fit2 <-对比。健康(健康,contrast.matrix)
##对比警告。Fit (Fit, contrast.matrix):对比的行名不匹配系数的col名
fit2 <- bayes (fit2) res <- decideTests(fit2) summary.TestResults(res) #nr显著上调/下调基因
## treatSNL treatSNL + timeMo2xTreatSNL timeMo2xTreatSNL ## Down 3433 3418 0 ## NotSig 5768 6304 12893 ## Up 3692 3171 0
colsum (summary.TestResults(res)[c(1,3),]) #显著性基因的总数量
##治疗snl + timemo2x治疗snl ## 7125 6589 ## timemo2x治疗snl ## 0

传统的分析没有发现任何基因在两个时间点之间对治疗有不同的效果(即相互作用效应检验),而在每个时间点内,许多基因在治疗和对照之间存在差异表达。

为了获得SNL对转录组影响的全局图像,我们可以检查在SNL之后有多少基因发生了显著改变。

uniqueGenesRegular <- which(res[,1]!=0 | res[,2]!=0 | res[,3]!=0) length(uniqueGenesRegular) #显著基因的总nr
## [1] 8199

在脊髓神经结扎后,共发现了8199个基因的差异表达。然而,FDR只控制在对照水平上,而不是基因水平上,所以我们不能将目标FDR水平与这个数字一起表述。

2.2级间分析

阶段分析首先考虑综合检验,检验三种对比是否有任何一种是显著的,即检验治疗是否产生了任何效果。对于筛选假设,我们使用topTableF函数来自limma包在三个对比中执行f检验。然后将筛选假设p值存储在向量中pScreen

alpha <- 0.05 nGenes <- nrow(dge) tableF <- topTableF(fit2, number=nGenes, sort.by="none") #筛选假设
topTableF已过时,将在limma的未来版本中删除。请考虑使用topTable代替。
pScreen <- tableF$P。值名(pScreen) =行名(tableF)

在确认阶段,每个对比分别进行评估。确认阶段p值被调整以控制基因内各假设的FWER,随后被校正到筛选阶段的bh调整显著性水平。这样就可以将调整后的p值与所提供的显著性水平进行直接比较α筛选和确认阶段调整p值。这个函数经验丰富的人对象构造一个对象经验丰富的人类,并需要筛选假设的p值向量(最好命名为)pScreen以及用于确认阶段的p值矩阵(最好命名为)pConfirmation用栏目对应不同的兴趣对比。中的行注意pConfirmation与特征(基因)相对应,特征排序应一致pScreen而且pConfirmation.构造函数将检查长度是否pScreen和里面的行数相等吗pConfirmation如果不是这样,则返回一个错误。最后,pScreenAdjusted参数指定筛选p值是否已经根据FDR控制进行了调整。

pConfirmation <- sapply(1:3,function(i) topTable(fit2, coef=i, number=nGenes, sort.by="none")$P.Value) dimnames(pConfirmation) <- list(rownames(fit2),c("t1","t2","t1t2")) stageRObj <- stagager (pScreen=pScreen, pConfirmation=pConfirmation, pScreenAdjusted=FALSE)

这个函数stageWiseAdjustment然后根据阶段分析调整p值。的方法参数指定确认阶段使用的FWER校正过程。的帮助文件中可以找到关于不同方法的更多详细信息stageWiseAdjustment.的α参数指定目标OFDR水平,用于在整个阶段测试过程中控制所有拒绝基因中假阳性基因的比例。未通过筛选阶段的基因的调整p值默认设置为NA

注意,当一个基因通过Hammer实验中的筛选假设时,只有一个零假设仍然成立:在时间点1或时间点2必须存在DE;如果DE只发生在一个时间点上,也存在相互作用;如果DE在两个时间点都发生,则\ (H_0 \)没有相互作用的仍然可以是真实的。因此,根据谢弗的MSRB程序谢弗(1986),本实验在确认阶段不需要校正,以控制FWER。可以通过方法= "没有"论点。

stageRObj <- stageWiseAdjustment(object=stageRObj, method="none", alpha=0.05)

通过查询返回的对象,我们可以探索分阶段分析的结果stageWiseAdjustment注意,函数返回的确认阶段调整p值仅对提供的OFDR级别有效。如果对不同的OFDR级别感兴趣,则应完全使用本文中指定的其他OFDR级别重新运行p值的阶段测试调整stageWiseAdjustment从确认阶段调整的p值可以通过getAdjustedPValues函数

getadjuststedpvalues (stageRObj, onlySignificantGenes=FALSE, order=FALSE))
返回的调整p值基于阶段测试方法,仅对所提供的目标OFDR水平5%有效。如果对不同的目标OFDR级别感兴趣,则应该重新运行整个调整。
## padjScreen t1t2 t1t2 ## ENSRNOG00000000001 1.078986e-05 4.550174e-06 0.0003156565 0.4228668 # ENSRNOG00000000010 2.220561e-01 NA NA NA NA ## ENSRNOG00000000017 4.119722e-05 2.992824e-05 0.0005530845 0.8296248 ## ENSRNOG00000000028 2.338292e-05 1.347330e-05 0.0004053057 1.0000000 ## ENSRNOG00000000029 3.991249e-02 1.726360e-02 0.3710217648 0.6619969
getadjuststedpvalues (stageRObj, onlySignificantGenes=TRUE, order=TRUE))
返回的调整p值基于阶段测试方法,仅对所提供的目标OFDR水平5%有效。如果对不同的目标OFDR级别感兴趣,则应该重新运行整个调整。
## padjScreen t1t2 t1t2 ## ENSRNOG00000004805 7.188747e-11 2.503902e-14 2.416459e-12 1.0000000000 ## ENSRNOG00000004874 2.713897e-10 3.909855e- 12 6.540645e-12 0.2086166172 ## ENSRNOG00000004899 5.747483e-10 7.664403e-12 3.661990e-12 0.0009906281 ## ensrnog00000004768 5.747483e-10 9.712181e-13 5.713093e-11 0.2057276503 ## ENSRNOG00000004731 6.050652e-10 3.4465430e -12 1.895910e-11 0.6365765690 ## ENSRNOG00000001416 7.466126e-10 3.465430e -12 0.0124723717

并可能返回所有的p值或只返回那些来自重要基因的p值,如onlySignificantGenes方法指定的顺序或不顺序订单论点。

最后,getResults函数返回一个二元矩阵,其中行对应特征,列对应假设,包括筛选假设。对于每个特性\ \(\倍)假设组合,根据阶段检验程序表明检验是否显著(1)或不显著(0)。

res <- getResults(stageRObj)
返回的调整p值基于阶段测试方法,仅对所提供的目标OFDR水平5%有效。如果对不同的目标OFDR级别感兴趣,则应该重新运行整个调整。
头(res)
# padjScreen t1t2 t1t2 ## ENSRNOG00000000001 1 1 10 ## ENSRNOG00000000010 0000 ## ENSRNOG00000000017 1 1 10 ## ENSRNOG00000000024 0000 ## ENSRNOG00000000028 1 1 10 ## ENSRNOG00000000029 1 10 0
colsum (res) #阶段分析结果
## padjScreen t1t2 t1t2 ## 7901 6890 6574 665

调整来自stageWiseAdjustment函数允许用户指定FWER调整校正。它需要一个长度与中的列数相同的数字向量pConfirmation.载体的第一个元素是对基因最显著p值的调整,第二个元素是对第二显著p值的调整,以此类推。因为Hammer数据集不需要任何调整,所以当手动指定调整为相等时,将获得相同的结果\ [1 \)

stageRObj <- stagager (pScreen=pScreen, pConfirmation=pConfirmation, pScreenAdjusted=FALSE) adjuststedpsw <- stageWiseAdjustment(object=stageRObj, method="user", alpha=0.05, adjustment=c(1,1,1)) res <- getResults(adjuststedpsw)
返回的调整p值基于阶段测试方法,仅对所提供的目标OFDR水平5%有效。如果对不同的目标OFDR级别感兴趣,则应该重新运行整个调整。
colSums (res)
## padjScreen t1t2 t1t2 ## 7901 6890 6574 665

3.差异转录本表达/使用

在转录水平的研究中,每个基因也出现了多个兴趣假设,其中不同的假设对应于一个基因的不同异构体。我们分析了14例中国患者前列腺癌肿瘤组织与正常组织表达的案例研究中的差异转录本使用情况(Ren et al. 2012).原始序列已用卡利斯托进行预处理(Bray et al. 2016)和转录水平丰度估算可以从“巢穴”项目下载(Pimentel et al. 2016)网站.我们使用了未归一化,未过滤的丰度进行分析。属性附带了数据集的子集经验丰富的人包,并可以访问数据(esetProstate)加载后经验丰富的人.的ExpressionSet中的示例的元数据pData (esetProstate)转录本对应的基因标识符存储在fData (esetProstate).该数据集包含来自456个基因的945个转录本。

data(" eset前列腺",package=" stagager ") #from stagager包头(pData(eset前列腺))
##病情患者## ERR031017 n10 ## ERR031018 T 10 ## ERR031019 n11 ## ERR299295 T 11 ## ERR299296 n12 ## ERR031022 T 12
头(fData (esetProstate))
##转录基因## ENST00000002501 ENST00000002501 ENSG00000003249 ## ENST00000005374 ENST00000005374 ENSG00000006625 ## ENST00000007510 ENST00000007510 ENSG00000004777 ## ENST00000008440 ENST00000008440 ENSG00000010072 ## ENST00000010299 ENST00000010299 ENSG00000009780 ## ENST00000011684 ENST00000011684 ENSG00000008323

我们将对数据集中的文本执行一些基本的数据探索。由于数据集经过预处理,因此每个基因至少有两个转录本,并且所有转录本都在至少一个样本中表达。

tx2gene <- fData(eset前列腺)colnames(tx2gene) <- c("transcript","gene") barplot(table(table(tx2gene$gene)), main="每个基因的tx数量分布")

#数据集包含length(unique(tx2gene$gene)) #nr个基因
## [1] 456
中位数(table(as.character(tx2gene$gene))) # tx/基因的nr中位数
## [1]

3.1传统的分析

我们将演示如何使用经验丰富的人软件包,以分阶段的方法分析DTU。我们从常规DEXseq分析开始,获得每个转录本的p值和每个基因的q值。由于对照组和肿瘤组织都来自于所有14名患者的同一名患者,我们为该患者添加了阻断效应,以解释每个患者内样本之间的相关性。

### regular DEXSeq analysis sampleData <- pData(eset前列腺)geneForEachTx <- tx2gene[match(rownames(exprs(eset前列腺)),tx2gene[,1]),2] dxd <- DEXSeqDataSet(countData = exprs(eset前列腺),sampleData = sampleData, design = ~ sample + exon + patient + condition:exon, featureID = rownames(eset前列腺),groupID = as.character(geneForEachTx))
将计数转换为整数模式
## Warning in DESeqDataSet(rse, design, ignoreRank = TRUE): ## design公式中的一些变量是字符,转换为因子
dxd <- estimateSizeFactors(dxd) dxd <- estimatedistribusions (dxd) dxd <- testForDEU(dxd, reducedModel=~样本+外显子+患者)
## 6行没有在beta中收敛,标记在mcols(object)$fullBetaConv中。对nbinomLRT使用更大的maxit参数
dxr <- DEXSeqResults(dxd) qvalDxr <- perGeneQValue(dxr)

3.2级间分析

上面的代码是常规的DEXSeq分析差异抄本使用情况。根据基因的q值评估重要基因,或根据转录水平的p值评估重要转录本,然后进行多次测试调整。执行和解释这两种分析并不能提供适当的FDR控制,因此应该避免。然而,基因水平的解释结合转录水平的结果可以提供有用的生物学见解,这可以通过阶段测试实现。在下面的代码中,我们将展示如何使用经验丰富的人.我们从构建

  • 一个命名矢量的基因智慧q值pScreen
  • 一个带有转录水平p值的命名矩阵pConfirmation
  • 一个data.frame转录物识别码和相应的基因识别码tx2gene

对象构造实例所需的所有内容都由这三个对象提供stageRTx类进行阶段分析。注意,与复杂设计的DE分析相比,转录本级别的分析使用了不同的类,因此也使用了不同的构造函数。

pConfirmation <- matrix(dxr$pvalue,ncol=1) dimnames(pConfirmation) <- list(c(dxr$featureID),c("transcript")) pScreen <- qvalDxr tx2gene <- fData(eset前列腺)

对象中构建一个对象stageRTx类,并表明筛选假设p值已经通过设置进行了调整pScreenAdjusted = TRUE.与DGE示例类似,我们将此对象移植到stageWiseAdjustment校正p值的函数。我们控制a的分析\ (5 \ % \)目标OFDR (α= 0.05).方法= "差"表示改编的霍尔姆-谢弗FWER校正,专门为DTU分析定制,如手稿中所述。简而言之,霍尔姆手术(1979年河中沙洲)从第三个转录本开始使用,两个最显著的p值在a\ \ alpha_I / (n_g-2) \显著性水平,与\ \ alpha_I \ ()从筛选阶段开始,BH调整显著性水平\ (n_g \)基因转录本的数量\ (g \).方法将返回NA只有一个转录本的基因的p值,如果分期测试方法等于“差”

stageRObj <- stageRTx(pScreen=pScreen, pConfirmation=pConfirmation, pScreenAdjusted=TRUE, tx2gene=tx2gene) stageRObj <- stageWiseAdjustment(object=stageRObj, method="dtu", alpha=0.05)

然后,我们可以使用一系列访问器函数来研究结果。显着基因可随getSignificantGenes函数。

头(getSignificantGenes (stageRObj))
返回的调整p值基于阶段测试方法,仅对所提供的目标OFDR水平5%有效。如果对不同的目标OFDR级别感兴趣,则应该重新运行整个调整。
## FDR调整p值## ENSG00000063245 0.002726271 ## ENSG00000106948 0.003579706 ## ENSG00000117751 0.027993234 ## ENSG00000120910 0.029062009 ## ENSG00000124831 0.010008110 ## ENSG00000005483 0.038112240

同样,重要的转录本可以用getSignificantTx

头(getSignificantTx (stageRObj))
返回的调整p值基于阶段测试方法,仅对所提供的目标OFDR水平5%有效。如果对不同的目标OFDR级别感兴趣,则应该重新运行整个调整。
##阶段调整p值## ENST00000085079 0.000000000 ## ENST00000223791 0.001100425 ## ENST00000236412 0.000000000 ## ENST00000240139 0.000000000 ## ENST00000257745 0.000000000 ## ENST00000261017 0.033811126

方法返回按阶段调整的p值getAdjustedPValues函数。根据BH FDR准则调整筛选(基因)假设p值,并采用中规定的校正方法调整确认(转录本)假设p值以控制全阶段分析stageWiseAdjustment.因此,该函数返回的确认调整p值可以直接与显著性水平进行比较α根据stageWiseAdjustment函数。getAdjustedPValues返回一个矩阵,其中不同的行对应于转录本,各自的基因和转录本标识符在前两列中给出。没有通过筛选阶段的基因的转录水平调整p值设置为NA默认情况下。注意,按阶段调整的p值只对所提供的显著性水平有效,不能与不同的显著性水平进行比较。如果这是有趣的,整个阶段的测试调整应该重新运行与提供的其他重要级别α

padj <- getadjuststedpvalues (stageRObj, order=TRUE, onlySignificantGenes=FALSE)
返回的调整p值基于阶段测试方法,仅对所提供的目标OFDR水平5%有效。如果对不同的目标OFDR级别感兴趣,则应该重新运行整个调整。
头(padj)
## geneID txID基因转录本## 1 ENSG00000063245 ENST00000085079 0.002726271 0.000000000 ## 2 ENSG00000063245 ENST00000270460 0.002726271 0.000000000 ## 3 ENSG00000106948 ENST00000307564 0.003579706 0.000336697 ## 4 ENSG00000106948 ENST00000223791 0.003579706 0.001100425 ## 5 ENSG00000106948 ENST00000312033 0.003579706 1.000000000 ## 6 ENSG00000149136 ENST00000278412 0.006951810 0.000000000

结果确实表明,2个基因和3个转录本显著,因为它们的调整p值低于指定的p值α水平的\ \ (0.05).列表中的第三个基因不显著,因此转录本的p值设置为NA

3.2.1之上注意分阶段DEXSeq分析。

缺省情况下,DEXSeq执行独立的过滤步骤。这可能会导致一些基因被过滤,因此在输出中没有给出这些基因的q值perGeneQValue.这可能会导致阶段分析的错误,因为我们有转录本的确认阶段p值,但没有它们各自基因的q值。为了避免这种情况,应该在pConfirmation而且tx2gene对象。

rowsNotFiltered <- tx2gene[,2]%in%names(qvalDxr) pConfirmation <- matrix(pConfirmation[rowsNotFiltered,],ncol=1,dimnames=list(dxr$featureID[rowsNotFiltered],"transcript")) tx2gene <- tx2gene[rowsNotFiltered,]

在此之后,可以进行阶段分析。

参考文献

Richard Bourgon, Robert Gentleman和Wolfgang Huber, 2010。“独立过滤提高了高通量实验的检测能力。”美国国家科学院院刊107(21): 9546-51。https://doi.org/10.1073/pnas.0914005107

布雷,尼古拉斯·L,哈罗德·皮门特尔,Páll Melsted和Lior Pachter, 2016。“近似最优概率rna序列量化。”自然生物技术34(5): 525-27。https://doi.org/10.1038/nbt.3519

Frazee, Alyssa C, Ben Langmead, Jeffrey T Leek. 2011。“叙述:一个多实验资源的分析准备RNA-seq基因计数数据集。”BMC生物信息学12(1): 449。https://doi.org/10.1186/1471-2105-12-449

Paul, Michaela S Banck, Ronny Amberg, Cheng Wang, Gabriele Petznick, Shujun Luo, Irina Khrebtukova, Gary P Schroth, Peter Beyerlein和Andreas S Beutler. 2010。“慢性疼痛中神经系统转录组学的mRNA-seq与不可知剪接位点发现。”基因组研究20(6): 847-60。https://doi.org/10.1101/gr.101204.109

海勒,Ruth, Elisabetta Manduchi, Gregory R Grant, Warren J eens . 2009。“一种灵活的两阶段程序,用于识别差异表达的基因集。”生物信息学(牛津,英国)25(8): 1019-25。https://doi.org/10.1093/bioinformatics/btp076

霍姆,斯图尔,1979年。一个简单的顺序拒绝多重测试程序斯堪的纳维亚统计杂志6(2): 65-70。

陈云顺,史伟,陈云顺。2014。voom:精确权重解锁线性模型分析工具,用于RNA-seq读取计数。基因组生物学15 (2): r29。https://doi.org/10.1186/gb-2014-15-2-r29

皮门特尔,哈罗德,帕斯卡尔·斯特姆费尔斯,尼古拉斯·布雷,Páll Melsted, Lior Pachter, 2016。“巢穴:对已发表的RNA-Seq数据进行探索性分析的资源。”BMC生物信息学17(1): 490。https://doi.org/10.1186/s12859-016-1357-2

任善成,彭志宇,毛建华,于永伟,尹长军,高鑫,崔子莲,等。2012。“对中国人群前列腺癌的RNA-seq分析发现了复发的基因融合、癌症相关的长非编码rna和异常的选择性剪接。”细胞研究22(5): 806-21。https://doi.org/10.1038/cr.2012.30

马克·罗宾逊,艾丽西亚·奥什拉克,2010。RNA-seq数据差异表达分析的尺度归一化方法。基因组生物学11 (3): r25。https://doi.org/10.1186/gb-2010-11-3-r25

朱丽叶·波普尔,1986。"修改的顺序拒绝多重测试程序"美国统计协会杂志81(395): 826。https://doi.org/10.2307/2289016