目录
- 1. 摘要
- 2. 介绍
- 3. 小鼠乳腺的基因表达谱
- 3.1 用EGSEA分析RNA-seq数据
- 3.1.1 RNA-seq数据的读取,预处理和标准化
- 3.1.2 基因集测试
- 3.1.2.1 探索,选择和索引基因集集合
- 3.1.2.2 配置EGSEA
- 3.1.2.3 使用EGSEA进行集合测试
- 3.1.2.3.1 用于管理结果的类
- 3.1.2.4 报告EGSEA结果
- 3.1.2.4.1 获得排名靠前的基因组
- 3.1.2.4.2 在基因集水平上可视化结果
- 3.1.2.4.3 在实验水平上可视化结果
- 3.1.2.4.4 创建结果的HTML报告
- 3.2 用EGSEA分析微阵列数据
- 3.2.1 微阵列数据的读取,预处理和标准化
- 3.2.2 设置EGSEA测试的线性模型
- 3.2.2.1 创建基因集集合索引
- 3.2.2.2 配置和使用EGSEA进行测试
- 3.2.2.3 报告EGSEA结果
- 4. 讨论
- 5. 使用的软件和代码
- 6. 竞争利益
- 7. Grant信息
- 8. 致谢
- 参考
R version: R version 3.5.1 Patched (2018-07-12 r74967)
Bioconductor version: 3.8
Package: 1.4.0
1. 摘要
基因集富集分析是优先考虑基因组数据集中扰动的生物过程的常用方法。 Bioconductor项目拥有80多个能够进行基因组分析的软件包。这些包中的大多数在差异调节的基因中寻找丰富的特征,以揭示当仅关注来自个体基因的证据时可能遗漏的更高水平的生物学主题。有了这么多不同的方法,选择最好的算法和可视化方法可能具有挑战性。 EGSEA软件包通过结合多达12个突出的基因集测试算法的结果来解决这个问题,以获得生物学相关结果的共识排序。该工作流程演示了EGSEA如何通过分析对研究乳腺癌起源重要的3个不同细胞群的实验,扩展基于limma的RNA-seq和微阵列数据的差异表达分析。在数据标准化和用于差异表达分析的适当线性模型的建立之后,EGSEA构建基因特征指数,其将从MSigDB,GeneSetDB和KEGG获得的各种小鼠或人基因集集合与所研究的基因表达数据联系起来。然后配置EGSEA并进行集合富集分析,返回一个可以使用多种S4方法查询的对象,用于对基因集进行排序,并通过热图,KEGG路径视图,GO图,散点图和条形图可视化结果。最后,结合这些显示的HTML报告可以快速跟踪与协作者共享结果,从而加快下游生物验证。 EGSEA易于使用,可以与现有的基因表达分析管道轻松集成,用于人类和鼠标数据。
2. 介绍
基因集富集分析使研究人员能够通过在系统级别查询差异表达基因的长列表,有效地提取生物学见解。近年来,通过Bioconductor项目(Huber等人,2015)发布了基因集富集(GSE)分析方法的增殖,同时通过在线数据库(如MSigDB)可获得的基因集合数量稳步增加( Subramanian等人,2005),GeneSetDB(Araki等人,2012)和KEGG(Kanehisa和Goto,2000)。
为了统一这些计算方法和知识库,开发了EGSEA R / Bioconductor软件包。 EGSEA代表基因集富集分析的整体(Alhamdoosh等人2017),它结合了多种算法的结果,达到了共识基因集排名,以识别实验中受到干扰的生物学主题和途径。 EGSEA计算七个统计数据,将基础GSE方法的各个基因集统计数据组合起来,对生物学相关基因组进行排序。目前版本的EGSEA软件包(Alhamdoosh,Ng和Ritchie 2017)利用了多达12种主要GSE算法的分析结果,包括:ora(Tavazoie等人1999),globaltest(Goeman等人2004),plage( Tomfohr,Lu和Kepler 2005),安全(Barry,Nobel和Wright,2005),zscore(Lee等人,2008),gage(Luo等人,2009),ssgsea(Barbie等人,2009),padog(Tarca)等人,2012),gsva(Hänzelmann,Castelo和Guinney,2013),相机(Wu和Smyth,2012),烤(Wu等人,2010)和鱼苗(Wu等,2010)。 ora,gage,camera和gsva方法依赖于竞争性零假设,该假设假设与集合外的随机选择的基因相比,一组中的基因与实验条件没有更强的关联。其余八种方法基于一种自包含的零假设,该假设仅考虑一组内的基因并再次假设它们与实验条件无关。
EGSEA通过EGSEAdata软件包提供对各种基因签名集合的访问,该软件包包含超过25,000个基于数据库来源组织的人和小鼠基因集。例如,MSigDB(Subramanian et al.2005)包括许多集合(Hallmark(h)和c1-c7),它们探索从非常广泛的(h,c2,c5)到专注于癌症的更专业化的不同生物学主题。 (c4,c6)和免疫学(c7)。其他主要来源是GeneSetDB(Araki等人,2012)和KEGG(Kanehisa和Goto,2000),它们具有关注不同生物学特征的类似集合。任何给定分析中的集合选择当然应该受到感兴趣的生物学问题的指导。 MSigDB c2和c5集合是我们自己的分析实践中使用最广泛的,涵盖了广泛的生物过程,并且在应用于给定数据集时通常可以揭示新的生物学见解。
本文的目的是展示EGSEA中可用于RNA-seq和微阵列数据的基因集测试工作流程。每个分析涉及图1中总结的四个主要步骤
:
- 选择合适的基因集集合进行分析,并建立一个在每组成员和表达矩阵之间进行映射的索引;
- 选择基本GSE方法进行组合和排序选项;
- 运行EGSEA测试;
- 以各种方式报告结果与合作者共享。通过代码示例介绍了每个步骤中涉及的EGSEA功能,以演示如何将它们作为限制差异表达式分析的一部分进行部署,以帮助解释结果。
3. 小鼠乳腺的基因表达谱
在该工作流程中分析的第一个实验是来自Sheridan等人的RNA-seq数据集。 (2015)(Sheridan等人,2015),其由从雌性原始小鼠的乳腺分类的3个细胞群(Basal,Luminal Progenitor(LP)和Mature Luminal(ML))组成。分3批获得来自每个群体的一式三份RNA样品,并使用100碱基对单端方案在Illumina HiSeq 2000上测序。使用Rsubread包(Liao,Smyth和Shi 2013)将来自fastq文件的原始序列读数与小鼠参考基因组(mm10)比对。接下来,使用featureCounts(Liao,Smyth和Shi 2014)基于Rsubread内置的基于mm10 RefSeq的注释获得基因水平计数。
原始数据以及有关实验设计和样品制备的更多信息可以使用GEO系列保藏号GSE63310从Gene Expression Omnibus,GEO 下载。根据Law等人发表的RNA-seq工作流程进行预处理。(2016)(Law et al.2016)。
在该工作流程中分析的第二个实验来自Lim等人。 (2010)(Lim等人,2010)并且是上述RNA-seq数据集的微阵列等同物。通过流式细胞术从小鼠乳腺中分选相同的3个群体(Basal(也称为MaSC富集的),LP和ML)。将来自每个细胞群的5个重复的总RNA杂交到3 Illumina MouseWG-6 v2 BeadChips上。可以下载Illumina专有格式(分别为IDAT和BGX)的强度文件和芯片注释文件。该实验的原始数据也可从GEO获得,系列号为GSE19446。
3.1 用EGSEA分析RNA-seq数据
我们的RNA-seq分析直接来自Law等人的工作流程(2016),使用Bioconductor软件包edgeR(Robinson,McCarthy和Smyth,2010),limma(Ritchie等人,2015)和Glimma(Su等人,2017),使用Mus的基因注释对该数据集进行差异基因表达分析.musculus(Bioconductor Core Team 2015)。 limma软件包提供了一套完善的统计方法,用于处理微阵列和RNA-seq数据集的差异表达,并将用于分析此工作流程中提供的两个数据集。
3.1.1 RNA-seq数据的读取,预处理和标准化
要开始此分析,请从下载R数据文件。下面的代码加载了Law等人的预处理计数矩阵(2016),对原始计数进行TMM标准化(Robinson和Oshlack 2010),并计算用于比较Basal和LP,Basal和ML以及LP和ML群体之间基因表达的voom权重。
## [1] "samples" "counts" "genes"
## [1] 14165 9
## Basal LP ML L006 L008
## 1 0 1 0 0 0
## 2 0 0 1 0 0
## 3 1 0 0 0 0
## 4 1 0 0 1 0
## 5 0 0 1 1 0
## 6 0 1 0 1 0
## Contrasts
## Levels BasalvsLP BasalvsML LPvsML
## Basal 1 1 0
## LP -1 0 1
## ML 0 -1 -1
## L006 0 0 0
## L008 0 0 0
来自limma软件包的voom函数(Law et al.2014)将计数转换为log-count-per-million(log-cpm)并计算观察级精度权重。voom 对象(v)包含标准化的log-cpm值和下面EGSEA分析中所有方法使用的基因信息。存储在v中的精确权重也被camera , roast和 fry基因组测试方法使用。
v = voom(x, design, plot=FALSE)
names(v)## [1] "genes" "targets" "E" "weights" "design"
有关预处理的更多信息,请参阅Law等(2016)作为这些步骤的详细说明超出了本文的范围。
3.1.2 基因集测试
EGSEA算法利用voom对象(v),设计矩阵(设计)和可选对比矩阵(contr.matrix)。设计矩阵描述了实验中的样本如何与线性模型估计的系数相关(Smyth 2004)。然后,对比矩阵比较这些系数中的两个或更多个,以允许相对评估差异表达。利用线性模型(如limma和GSVA (gsva,plage,zscore和ssgsea))的基本方法可以直接利用设计和对比矩阵。对于不支持线性模型的方法,这两个矩阵用于提取每个比较的组信息。
3.1.2.1 探索,选择和索引基因集集合
EGSEAdata包包含超过25,000个基因集,这些基因集根据其数据库来源组织。有关EGSEAdata中可用的基因集合的摘要信息可以显示如下:
library(EGSEAdata)
egsea.data("mouse")## The following databases are available in EGSEAdata for Mus musculus:
##
## Database name: KEGG Pathways
## Version: NA
## Download/update date: 07 March 2017
## Data source: gage::kegg.gsets()
## Supported species: human, mouse, rat
## Gene set collections: Signaling, Metabolism, Disease
## Related data objects: kegg.pathways
## Number of gene sets in each collection for Mus musculus :
## Signaling: 132
## Metabolism: 89
## Disease: 67
##
## Database name: Molecular Signatures Database (MSigDB)
## Version: 5.2
## Download/update date: 07 March 2017
## Data source: http://software.broadinstitute.org/gsea
## Supported species: human, mouse
## Gene set collections: h, c1, c2, c3, c4, c5, c6, c7
## Related data objects: msigdb, Mm.H, Mm.c2, Mm.c3, Mm.c4, Mm.c5, Mm.c6, Mm.c7
## Number of gene sets in each collection for Mus musculus :
## h Hallmark Signatures: 50
## c2 Curated Gene Sets: 4729
## c3 Motif Gene Sets: 836
## c4 Computational Gene Sets: 858
## c5 GO Gene Sets: 6166
## c6 Oncogenic Signatures: 189
## c7 Immunologic Signatures: 4872
##
## Database name: GeneSetDB Database
## Version: NA
## Download/update date: 15 January 2016
## Data source: http://www.genesetdb.auckland.ac.nz/
## Supported species: human, mouse, rat
## Gene set collections: gsdbdis, gsdbgo, gsdbdrug, gsdbpath, gsdbreg
## Related data objects: gsetdb.human, gsetdb.mouse, gsetdb.rat
## Number of gene sets in each collection for Mus musculus :
## GeneSetDB Drug/Chemical: 6019
## GeneSetDB Disease/Phenotype: 5077
## GeneSetDB Gene Ontology: 2202
## GeneSetDB Pathway: 1444
## GeneSetDB Gene Regulation: 201
##
## Type ?<data object name> to get a specific information
## about it, e.g., ?kegg.pathways.
如上面的输出所示,用户可以使用标准的R help(?)命令获取任何集合的帮助,例如 ?Mm.c2将从MSigDB返回有关c2集合的鼠标版本的更多信息。以上信息可以作为列表返回:
info = egsea.data("mouse", returnInfo = TRUE)
names(info)## [1] "kegg" "msigdb" "gsetdb"info$msigdb$info$collections## [1] "h" "c1" "c2" "c3" "c4" "c5" "c6" "c7"
为了突出EGSEA包的功能,选择了来自MSigDB数据库的KEGG途径,c2(策划基因集)和c5(基因本体基因集)集合。
接下来,使用EGSEA索引函数为每个基因集集合构建索引,以将不同基因集集合中的基因链接到我们的RNA-seq基因表达矩阵的行。来自MSigDB和KEGG路径的c2和c5集合的索引是使用buildIdx函数构建的,该函数依赖于Entrez基因ID作为其密钥。在EGSEAdata基因集集合中,使用Entrez ID,因为它们被不同的源数据库广泛采用,并且由于基因集中每个基因有一个标识符,因此往往更加一致和健壮。将其他基因ID转换为Entrez ID也相对容易。
library(EGSEA)gs.annots = buildIdx(entrezIDs=v$genes$ENTREZID, species="mouse", msigdb.gsets=c("c2", "c5"), go.part = TRUE)## [1] "Loading MSigDB Gene Sets ... "
## [1] "Loaded gene sets for the collection c2 ..."
## [1] "Indexed the collection c2 ..."
## [1] "Created annotation for the collection c2 ..."
## [1] "Loaded gene sets for the collection c5 ..."
## [1] "Indexed the collection c5 ..."
## [1] "Created annotation for the collection c5 ..."## MSigDB c5 gene set collection has been partitioned into
## c5BP, c5CC, c5MF
## [1] "Building KEGG pathways annotation object ... "names(gs.annots)## [1] "c2" "c5BP" "c5CC" "c5MF" "kegg"
要获得有关基因集集合索引的其他信息,包括基因集的总数,版本号和上次修订的日期,可以在类GSCollectionIndex的对象上调用方法摘要,show和getSetByName(或getSetByID),存储所有相关基因集信息,如下:
class(gs.annots$c2)
## [1] "GSCollectionIndex"
## attr(,"package")
## [1] "EGSEA"
summary(gs.annots$c2)
## c2 Curated Gene Sets (c2): 4726 gene sets - Version: 5.2, Update date: 07 March 2017
show(gs.annots$c2)
## An object of class "GSCollectionIndex"
## Number of gene sets: 4726
## Annotation columns: ID, GeneSet, BroadUrl, Description, PubMedID, NumGenes, Contributor
## Total number of indexing genes: 14165
## Species: Mus musculus
## Collection name: c2 Curated Gene Sets
## Collection uniqe label: c2
## Database version: 5.2
## Database update date: 07 March 2017
s = getSetByName(gs.annots$c2, "SMID_BREAST_CANCER_LUMINAL_A_DN")
## ID: M13072
## GeneSet: SMID_BREAST_CANCER_LUMINAL_A_DN
## BroadUrl: http://www.broadinstitute.org/gsea/msigdb/cards/SMID_BREAST_CANCER_LUMINAL_A_DN.html
## Description: Genes down-regulated in the luminal A subtype of breast cancer.
## PubMedID: 18451135
## NumGenes: 23/24
## Contributor: Jessica Robertson
class(s)
## [1] "list"
names(s)
## [1] "SMID_BREAST_CANCER_LUMINAL_A_DN"
names(s$SMID_BREAST_CANCER_LUMINAL_A_DN)
## [1] "ID" "GeneSet" "BroadUrl" "Description" "PubMedID"
## [6] "NumGenes" "Contributor" "idx" "original"
每个基因的GSCollectionIndex类存储的对象设置为:Entrez gene ID存储于original中,索引存储于idx中,附加注释存储于anno中。
slotNames(gs.annots$c2)
## [1] "original" "idx" "anno" "featureIDs" "species"
## [6] "name" "label" "version" "date"
其他EGSEA函数(如buildCustomIdx,buildGMTIdx,buildKEGGIdx,buildMSigDBIdx和buildGeneSetDBIdx)也可用于构建基因集集合索引。编写函数buildCustomIdx和buildGMTIdx是为了允许用户在基因集集合上运行EGSEA,这些集合可能已在实验室中进行策划或从公共数据库下载,并允许使用除Entrez ID之外的基因标识符。示例数据库包括ENCODE Gene Set Hub,这是一种不断增长的基因集资源,源自高质量的ENCODE分析实验,包括数百种DNase超敏反应,组蛋白修饰和转录因子结合实验(Ziemann等人,2017)。其他资源包括PathwayCommons(Cerami等人,2011年)或KEGGREST(Tenenbaum 2017)一揽子计划,提供对许多物种的最新KEGG途径的访问。
3.1.2.2 配置EGSEA
在执行EGSEA测试之前,需要指定一些参数。首先,创建Entrez ID和Gene Symbols之间的映射以供可视化过程使用。可以从voom对象的基因data.frame中提取该映射,如下所示:
colnames(v$genes)
## [1] "ENTREZID" "SYMBOL" "CHR"
symbolsMap = v$genes[, c(1, 2)]
colnames(symbolsMap) = c("FeatureID", "Symbols")
symbolsMap[, "Symbols"] = as.character(symbolsMap[, "Symbols"])
EGSEA中的另一个重要参数是基本GSE方法列表(下面的代码中的baseMethods),它确定了集合测试中使用的各个算法。可以使用函数egsea.base列出支持的基本方法,如下所示:
egsea.base()
## [1] "camera" "roast" "safe" "gage" "padog"
## [6] "plage" "zscore" "gsva" "ssgsea" "globaltest"
## [11] "ora" "fry"
GSVA包装中提供了plage,zscore和ssgsea算法,并且在limma包中实现了相机,油炸和烤肉(Ritchie等人,2015)。使用stats包(R核心团队2017)中的phyper函数实现ora方法,该函数估计2×2的超几何分布列联表。其余算法在同名的Bioconductor包中实现。为每个单独的GSE方法提供包装函数,以利用现有的R代码并为所有方法创建通用接口。
我们的EGSEA分析选择了11种基本方法:camera, safe, gage, padog, plage, zscore, gsva, ssgsea, globaltest, ora 和 fry。 Fry是roast的快速近似值,假设样品间的基因方差相等,产生相似的p - 具有无限旋转次数的roast分析值,并在此处选择以节省时间。
baseMethods = egsea.base()[-2]
baseMethods
## [1] "camera" "safe" "gage" "padog" "plage"
## [6] "zscore" "gsva" "ssgsea" "globaltest" "ora"
## [11] "fry"
虽然基础方法的不同组合可能产生不同的结果,但通过模拟发现,包括更多方法可以提供更好的性能(Alhamdoosh等人,2017)。
由于每个基本方法生成不同的p值,EGSEA支持六种不同的metap包(Dewey 2017)方法,用于组合单个p值(Wilkinson(Wilkinson 1954)是默认值),可以列出如下:
egsea.combine()
## [1] "fisher" "wilkinson" "average" "logitp" "sump" "sumz"
## [7] "votep" "median"
最后,EGSEA结果的分类在鉴定相关基因集中起着重要作用。任何EGSEA的综合得分或各个基本方法的排名都可用于对结果进行排序。
egsea.sort()
## [1] "p.value" "p.adj" "vote.rank" "avg.rank"
## [5] "med.rank" "min.pvalue" "min.rank" "avg.logfc"
## [9] "avg.logfc.dir" "direction" "significance" "camera"
## [13] "roast" "safe" "gage" "padog"
## [17] "plage" "zscore" "gsva" "ssgsea"
## [21] "globaltest" "ora" "fry"
尽管为方便起见,p.adj是排序EGSEA结果的默认选项,但我们建议使用med.rank或vote.rank,因为它们有效地利用了各个方法的排名,并且往往产生更少的误报(Alhamdoosh et al.2017)。
3.1.2.3 使用EGSEA进行集合测试
接下来,使用egsea函数执行EGSEA分析,该函数采用voom对象,对比矩阵,基因集的集合和其他运行参数,如下所示:
gsa = egsea(voom.results=v, contrasts=contr.matrix, gs.annots=gs.annots, symbolsMap=symbolsMap,baseGSEAs=baseMethods, sort.by="med.rank",num.threads = 16, report = FALSE)
## EGSEA analysis has started
## ##------ Wed Oct 31 07:59:30 2018 ------##
## Log fold changes are estimated using limma package ...
## limma DE analysis is carried out ...
## Number of used cores has changed to 7
## in order to avoid CPU overloading.
## EGSEA is running on the provided data and c2 collection
##
## EGSEA is running on the provided data and c5BP collection
##
## EGSEA is running on the provided data and c5CC collection
##
## EGSEA is running on the provided data and c5MF collection
##
## EGSEA is running on the provided data and kegg collection
##
## ##------ Wed Oct 31 08:04:52 2018 ------##
## EGSEA analysis took 322.025 seconds.
## EGSEA analysis has completed
在设计矩阵包括截距的情况下,可以将指定要使用EGSEA测试的设计矩阵的列的整数向量传递给对比参数。如果此参数为NULL,则会创建基于v $ targets $ group的所有成对比较,假设该组是设计矩阵中的主要因素。同样,如果设计矩阵具有截距,则使用主要因子的所有系数。
EGSEA实现了并行计算功能,使用并行程序包(R Core Team 2017)在方法级别和实验对比级别。 EGSEA测试的运行时间取决于所选的基本方法以及是否启用报告生成。后者显着增加了运行时间,特别是如果为参数display.top分配了一个较大的值(>
20)和/或选择大量基因集集合。 EGSEA报告功能可生成顶级基因集和集合级图的集级图。
EGSEA软件包还有一个名为egsea.cnt的函数,它可以使用RNA-seq计数矩阵而不是voom对象(一个名为egsea.ora的函数)执行EGSEA测试,该函数可以使用EGSEA报告功能执行过度表示分析只有基因ID的载体,以及可以使用微阵列表达矩阵进行EGSEA测试的egsea.ma功能,如后面工作流程中所示。
3.1.2.3.1 用于管理结果的类
函数egsea,egsea.cnt,egsea.ora和egsea.ma的输出是EGSEAResults类的S4对象。可以调用几个S4方法来查询该对象。例如,可以使用show方法显示EGSEA分析的概述,如下所示:
show(gsa)
## An object of class "EGSEAResults"
## Total number of genes: 14165
## Total number of samples: 9
## Contrasts: BasalvsLP, BasalvsML, LPvsML
## Base GSE methods: camera (limma:3.38.0), safe (safe:3.22.0), gage (gage:2.32.0), padog (PADOG:1.24.0), plage (GSVA:1.30.0), zscore (GSVA:1.30.0), gsva (GSVA:1.30.0), ssgsea (GSVA:1.30.0), globaltest (globaltest:5.36.0), ora (stats:3.5.1), fry (limma:3.38.0)
## P-values combining method: wilkinson
## Sorting statistic: med.rank
## Organism: Mus musculus
## HTML report generated: No
## Tested gene set collections:
## c2 Curated Gene Sets (c2): 4726 gene sets - Version: 5.2, Update date: 07 March 2017
## c5 GO Gene Sets (BP) (c5BP): 4653 gene sets - Version: 5.2, Update date: 07 March 2017
## c5 GO Gene Sets (CC) (c5CC): 584 gene sets - Version: 5.2, Update date: 07 March 2017
## c5 GO Gene Sets (MF) (c5MF): 928 gene sets - Version: 5.2, Update date: 07 March 2017
## KEGG Pathways (kegg): 287 gene sets - Version: NA, Update date: 07 March 2017
## EGSEA version: 1.10.0
## EGSEAdata version: 1.9.0
## Use summary(object) and topSets(object, ...) to explore this object.
此命令显示分析中包含的基因和样品的数量,实验对比,基础GSE方法,用于组合来自不同GSE算法的p值的方法,使用的分选统计量和每个基因组的大小采集。注意,基因集集合使用出现在show输出中的括号中的标记(例如c2)来识别。
3.1.2.4 报告EGSEA结果
3.1.2.4.1 获得排名靠前的基因组
除了EGSEA比较分析之外,每个对比的每个集合中前10个基因集的摘要可以使用S4方法总结显示如下:
summary(gsa)
## **** Top 10 gene sets in the c2 Curated Gene Sets collection ****
## ** Contrast BasalvsLP **
## LIM_MAMMARY_STEM_CELL_DN | LIM_MAMMARY_LUMINAL_PROGENITOR_UP
## MONTERO_THYROID_CANCER_POOR_SURVIVAL_UP | SMID_BREAST_CANCER_LUMINAL_A_DN
## NAKAYAMA_SOFT_TISSUE_TUMORS_PCA2_UP | REACTOME_LATENT_INFECTION_OF_HOMO_SAPIENS_WITH_MYCOBACTERIUM_TUBERCULOSIS
## REACTOME_TRANSFERRIN_ENDOCYTOSIS_AND_RECYCLING | FARMER_BREAST_CANCER_CLUSTER_2
## KEGG_EPITHELIAL_CELL_SIGNALING_IN_HELICOBACTER_PYLORI_INFECTION | LANDIS_BREAST_CANCER_PROGRESSION_UP
##
## ** Contrast BasalvsML **
## LIM_MAMMARY_STEM_CELL_DN | LIM_MAMMARY_STEM_CELL_UP
## LIM_MAMMARY_LUMINAL_MATURE_DN | PAPASPYRIDONOS_UNSTABLE_ATEROSCLEROTIC_PLAQUE_DN
## NAKAYAMA_SOFT_TISSUE_TUMORS_PCA2_UP | LIM_MAMMARY_LUMINAL_MATURE_UP
## CHARAFE_BREAST_CANCER_LUMINAL_VS_MESENCHYMAL_UP | RICKMAN_HEAD_AND_NECK_CANCER_A
## YAGUE_PRETUMOR_DRUG_RESISTANCE_DN | BERTUCCI_MEDULLARY_VS_DUCTAL_BREAST_CANCER_DN
##
## ** Contrast LPvsML **
## LIM_MAMMARY_LUMINAL_MATURE_UP | LIM_MAMMARY_LUMINAL_MATURE_DN
## PHONG_TNF_RESPONSE_VIA_P38_PARTIAL | WOTTON_RUNX_TARGETS_UP
## WANG_MLL_TARGETS | PHONG_TNF_TARGETS_DN
## REACTOME_PEPTIDE_LIGAND_BINDING_RECEPTORS | CHIANG_LIVER_CANCER_SUBCLASS_CTNNB1_DN
## GERHOLD_RESPONSE_TO_TZD_DN | DURAND_STROMA_S_UP
##
## ** Comparison analysis **
## LIM_MAMMARY_LUMINAL_MATURE_DN | LIM_MAMMARY_STEM_CELL_DN
## NAKAYAMA_SOFT_TISSUE_TUMORS_PCA2_UP | LIM_MAMMARY_LUMINAL_MATURE_UP
## COLDREN_GEFITINIB_RESISTANCE_DN | LIM_MAMMARY_STEM_CELL_UP
## CHARAFE_BREAST_CANCER_LUMINAL_VS_MESENCHYMAL_UP | LIM_MAMMARY_LUMINAL_PROGENITOR_UP
## BERTUCCI_MEDULLARY_VS_DUCTAL_BREAST_CANCER_DN | MIKKELSEN_IPS_WITH_HCP_H3K27ME3
##
## **** Top 10 gene sets in the c5 GO Gene Sets (BP) collection ****
## ** Contrast BasalvsLP **
## GO_SYNAPSE_ORGANIZATION | GO_IRON_ION_TRANSPORT
## GO_CALCIUM_INDEPENDENT_CELL_CELL_ADHESION_VIA_PLASMA_MEMBRANE_CELL_ADHESION_MOLECULES | GO_PH_REDUCTION
## GO_HOMOPHILIC_CELL_ADHESION_VIA_PLASMA_MEMBRANE_ADHESION_MOLECULES | GO_VACUOLAR_ACIDIFICATION
## GO_FERRIC_IRON_TRANSPORT | GO_TRIVALENT_INORGANIC_CATION_TRANSPORT
## GO_NEURON_PROJECTION_GUIDANCE | GO_MESONEPHROS_DEVELOPMENT
##
## ** Contrast BasalvsML **
## GO_FERRIC_IRON_TRANSPORT | GO_TRIVALENT_INORGANIC_CATION_TRANSPORT
## GO_IRON_ION_TRANSPORT | GO_NEURON_PROJECTION_GUIDANCE
## GO_GLIAL_CELL_MIGRATION | GO_SPINAL_CORD_DEVELOPMENT
## GO_REGULATION_OF_SYNAPSE_ORGANIZATION | GO_ACTION_POTENTIAL
## GO_MESONEPHROS_DEVELOPMENT | GO_NEGATIVE_REGULATION_OF_SMOOTH_MUSCLE_CELL_MIGRATION
##
## ** Contrast LPvsML **
## GO_NEGATIVE_REGULATION_OF_NECROTIC_CELL_DEATH | GO_PARTURITION
## GO_RESPONSE_TO_VITAMIN_D | GO_GPI_ANCHOR_METABOLIC_PROCESS
## GO_REGULATION_OF_BLOOD_PRESSURE | GO_DETECTION_OF_MOLECULE_OF_BACTERIAL_ORIGIN
## GO_CELL_SUBSTRATE_ADHESION | GO_PROTEIN_TRANSPORT_ALONG_MICROTUBULE
## GO_INTRACILIARY_TRANSPORT | GO_CELLULAR_RESPONSE_TO_VITAMIN
##
## ** Comparison analysis **
## GO_IRON_ION_TRANSPORT | GO_FERRIC_IRON_TRANSPORT
## GO_TRIVALENT_INORGANIC_CATION_TRANSPORT | GO_NEURON_PROJECTION_GUIDANCE
## GO_MESONEPHROS_DEVELOPMENT | GO_SYNAPSE_ORGANIZATION
## GO_REGULATION_OF_SYNAPSE_ORGANIZATION | GO_MEMBRANE_DEPOLARIZATION_DURING_CARDIAC_MUSCLE_CELL_ACTION_POTENTIAL
## GO_HOMOPHILIC_CELL_ADHESION_VIA_PLASMA_MEMBRANE_ADHESION_MOLECULES | GO_NEGATIVE_REGULATION_OF_SMOOTH_MUSCLE_CELL_MIGRATION
##
## **** Top 10 gene sets in the c5 GO Gene Sets (CC) collection ****
## ** Contrast BasalvsLP **
## GO_PROTON_TRANSPORTING_V_TYPE_ATPASE_COMPLEX | GO_VACUOLAR_PROTON_TRANSPORTING_V_TYPE_ATPASE_COMPLEX
## GO_MICROTUBULE_END | GO_MICROTUBULE_PLUS_END
## GO_ACTIN_FILAMENT_BUNDLE | GO_CELL_CELL_ADHERENS_JUNCTION
## GO_NEUROMUSCULAR_JUNCTION | GO_AP_TYPE_MEMBRANE_COAT_ADAPTOR_COMPLEX
## GO_INTERMEDIATE_FILAMENT | GO_CONDENSED_NUCLEAR_CHROMOSOME_CENTROMERIC_REGION
##
## ** Contrast BasalvsML **
## GO_FILOPODIUM_MEMBRANE | GO_LATE_ENDOSOME_MEMBRANE
## GO_PROTON_TRANSPORTING_V_TYPE_ATPASE_COMPLEX | GO_NEUROMUSCULAR_JUNCTION
## GO_COATED_MEMBRANE | GO_ACTIN_FILAMENT_BUNDLE
## GO_CLATHRIN_COAT | GO_AP_TYPE_MEMBRANE_COAT_ADAPTOR_COMPLEX
## GO_CLATHRIN_ADAPTOR_COMPLEX | GO_CONTRACTILE_FIBER
##
## ** Contrast LPvsML **
## GO_CILIARY_TRANSITION_ZONE | GO_TCTN_B9D_COMPLEX
## GO_NUCLEAR_NUCLEOSOME | GO_INTRINSIC_COMPONENT_OF_ORGANELLE_MEMBRANE
## GO_ENDOPLASMIC_RETICULUM_QUALITY_CONTROL_COMPARTMENT | GO_KERATIN_FILAMENT
## GO_PROTEASOME_COMPLEX | GO_CILIARY_BASAL_BODY
## GO_PROTEASOME_CORE_COMPLEX | GO_CORNIFIED_ENVELOPE
##
## ** Comparison analysis **
## GO_PROTON_TRANSPORTING_V_TYPE_ATPASE_COMPLEX | GO_ACTIN_FILAMENT_BUNDLE
## GO_NEUROMUSCULAR_JUNCTION | GO_AP_TYPE_MEMBRANE_COAT_ADAPTOR_COMPLEX
## GO_CONTRACTILE_FIBER | GO_INTERMEDIATE_FILAMENT
## GO_LATE_ENDOSOME_MEMBRANE | GO_CLATHRIN_VESICLE_COAT
## GO_ENDOPLASMIC_RETICULUM_QUALITY_CONTROL_COMPARTMENT | GO_MICROTUBULE_END
##
## **** Top 10 gene sets in the c5 GO Gene Sets (MF) collection ****
## ** Contrast BasalvsLP **
## GO_HYDROGEN_EXPORTING_ATPASE_ACTIVITY | GO_SIGNALING_PATTERN_RECOGNITION_RECEPTOR_ACTIVITY
## GO_LIPID_TRANSPORTER_ACTIVITY | GO_TRIGLYCERIDE_LIPASE_ACTIVITY
## GO_AMINE_BINDING | GO_STRUCTURAL_CONSTITUENT_OF_MUSCLE
## GO_NEUROPEPTIDE_RECEPTOR_ACTIVITY | GO_WIDE_PORE_CHANNEL_ACTIVITY
## GO_CATION_TRANSPORTING_ATPASE_ACTIVITY | GO_LIPASE_ACTIVITY
##
## ** Contrast BasalvsML **
## GO_G_PROTEIN_COUPLED_RECEPTOR_ACTIVITY | GO_TRANSMEMBRANE_RECEPTOR_PROTEIN_KINASE_ACTIVITY
## GO_STRUCTURAL_CONSTITUENT_OF_MUSCLE | GO_VOLTAGE_GATED_SODIUM_CHANNEL_ACTIVITY
## GO_CORECEPTOR_ACTIVITY | GO_TRANSMEMBRANE_RECEPTOR_PROTEIN_TYROSINE_KINASE_ACTIVITY
## GO_LIPID_TRANSPORTER_ACTIVITY | GO_SULFOTRANSFERASE_ACTIVITY
## GO_CATION_TRANSPORTING_ATPASE_ACTIVITY | GO_PEPTIDE_RECEPTOR_ACTIVITY
##
## ** Contrast LPvsML **
## GO_MANNOSE_BINDING | GO_PHOSPHORIC_DIESTER_HYDROLASE_ACTIVITY
## GO_BETA_1_3_GALACTOSYLTRANSFERASE_ACTIVITY | GO_COMPLEMENT_BINDING
## GO_ALDEHYDE_DEHYDROGENASE_NAD_ACTIVITY | GO_MANNOSIDASE_ACTIVITY
## GO_LIGASE_ACTIVITY_FORMING_CARBON_NITROGEN_BONDS | GO_CARBOHYDRATE_PHOSPHATASE_ACTIVITY
## GO_LIPASE_ACTIVITY | GO_PEPTIDE_RECEPTOR_ACTIVITY
##
## ** Comparison analysis **
## GO_STRUCTURAL_CONSTITUENT_OF_MUSCLE | GO_LIPID_TRANSPORTER_ACTIVITY
## GO_CATION_TRANSPORTING_ATPASE_ACTIVITY | GO_CHEMOREPELLENT_ACTIVITY
## GO_HEPARAN_SULFATE_PROTEOGLYCAN_BINDING | GO_TRANSMEMBRANE_RECEPTOR_PROTEIN_TYROSINE_KINASE_ACTIVITY
## GO_LIPASE_ACTIVITY | GO_PEPTIDE_RECEPTOR_ACTIVITY
## GO_CORECEPTOR_ACTIVITY | GO_TRANSMEMBRANE_RECEPTOR_PROTEIN_KINASE_ACTIVITY
##
## **** Top 10 gene sets in the KEGG Pathways collection ****
## ** Contrast BasalvsLP **
## Collecting duct acid secretion | alpha-Linolenic acid metabolism
## Synaptic vesicle cycle | Hepatitis C
## Vascular smooth muscle contraction | Rheumatoid arthritis
## cGMP-PKG signaling pathway | Axon guidance
## Progesterone-mediated oocyte maturation | Arrhythmogenic right ventricular cardiomyopathy (ARVC)
##
## ** Contrast BasalvsML **
## Collecting duct acid secretion | Synaptic vesicle cycle
## Other glycan degradation | Axon guidance
## Arrhythmogenic right ventricular cardiomyopathy (ARVC) | Glycerophospholipid metabolism
## Lysosome | Vascular smooth muscle contraction
## Protein digestion and absorption | Oxytocin signaling pathway
##
## ** Contrast LPvsML **
## Glycosylphosphatidylinositol(GPI)-anchor biosynthesis | Histidine metabolism
## Drug metabolism - cytochrome P450 | PI3K-Akt signaling pathway
## Proteasome | Sulfur metabolism
## Renin-angiotensin system | Nitrogen metabolism
## Tyrosine metabolism | Systemic lupus erythematosus
##
## ** Comparison analysis **
## Collecting duct acid secretion | Synaptic vesicle cycle
## Vascular smooth muscle contraction | Axon guidance
## Arrhythmogenic right ventricular cardiomyopathy (ARVC) | Oxytocin signaling pathway
## Lysosome | Adrenergic signaling in cardiomyocytes
## Linoleic acid metabolism | cGMP-PKG signaling pathway
EGSEA的比较分析允许研究人员在多个实验对比中估计基因集的重要性。该分析有助于识别在多个实验条件下同时受到干扰的生物过程。该实验是Lim等人的RNA-seq等同物。 (2010年)(Lim等人,2010年),他使用Illumina微阵列研究相同的细胞群(见后文),因此可以放心地观察来自该实验的LIM基因特征在两者中排名最高的c2基因特征。个体对比和比较结果。
探索EGSEA结果的另一种方法是使用topSets方法检索每个集合中排名靠前的N组和对比度。例如,用于比较分析的c2集合中的前10个基因集可以如下检索:
topSets(gsa, gs.label="c2", contrast = "comparison", names.only=TRUE)
## Extracting the top gene sets of the collection
## c2 Curated Gene Sets for the contrast comparison
## Sorted by med.rank
## [1] "LIM_MAMMARY_LUMINAL_MATURE_DN"
## [2] "LIM_MAMMARY_STEM_CELL_DN"
## [3] "NAKAYAMA_SOFT_TISSUE_TUMORS_PCA2_UP"
## [4] "LIM_MAMMARY_LUMINAL_MATURE_UP"
## [5] "COLDREN_GEFITINIB_RESISTANCE_DN"
## [6] "LIM_MAMMARY_STEM_CELL_UP"
## [7] "CHARAFE_BREAST_CANCER_LUMINAL_VS_MESENCHYMAL_UP"
## [8] "LIM_MAMMARY_LUMINAL_PROGENITOR_UP"
## [9] "BERTUCCI_MEDULLARY_VS_DUCTAL_BREAST_CANCER_DN"
## [10] "MIKKELSEN_IPS_WITH_HCP_H3K27ME3"
基因集是基于当在上面调用egsea时选择的med.rank得分来排序的。当参数names.only设置为FALSE时,将显示每个基因集的附加信息,包括基因集注释,EGSEA分数和每个基本方法的个体排名。正如预期的那样,EGSEA检索的基因组包括LIM基因组(Lim et al.2010),这些基因组来源于偶发性乳腺细胞群(第1,2,4,6和8组)的微阵列图谱以及源自人群的微阵列图谱。具有相似的起源(第7和第9组)和行为或特征(第5和第10组)。
接下来,topSets可用于根据不同的EGSEA分数以及各个方法的排名搜索感兴趣的基因组。例如,可以基于med.rank显示来自c2集合的六个LIM基因集的排名,如下所示:
t = topSets(gsa, contrast = "comparison",names.only=FALSE, number = Inf, verbose = FALSE)
t[grep("LIM_", rownames(t)), c("p.adj", "Rank", "med.rank", "vote.rank")]
## p.adj Rank med.rank vote.rank
## LIM_MAMMARY_LUMINAL_MATURE_DN 1.646053e-29 1 36 5
## LIM_MAMMARY_STEM_CELL_DN 6.082053e-43 2 37 5
## LIM_MAMMARY_LUMINAL_MATURE_UP 2.469061e-22 4 92 5
## LIM_MAMMARY_STEM_CELL_UP 3.154132e-103 6 134 5
## LIM_MAMMARY_LUMINAL_PROGENITOR_UP 3.871536e-30 8 180 5
## LIM_MAMMARY_LUMINAL_PROGENITOR_DN 2.033005e-06 179 636 115
虽然5个LIM基因组被EGSEA排在前10位,但中位数(med.rank)列中显示的值表明个别方法可以为这些组分配更低的等级。 EGSEA对这些基因集的优先排序证明了整体方法的优势。
同样,我们可以从基础与LP对比的集合分析中找到KEGG集合中的前10个途径,比较分析如下:
topSets(gsa, gs.label="kegg", contrast="BasalvsLP", sort.by="med.rank")
## Extracting the top gene sets of the collection
## KEGG Pathways for the contrast BasalvsLP
## Sorted by med.rank
## [1] "Collecting duct acid secretion"
## [2] "alpha-Linolenic acid metabolism"
## [3] "Synaptic vesicle cycle"
## [4] "Hepatitis C"
## [5] "Vascular smooth muscle contraction"
## [6] "Rheumatoid arthritis"
## [7] "cGMP-PKG signaling pathway"
## [8] "Axon guidance"
## [9] "Progesterone-mediated oocyte maturation"
## [10] "Arrhythmogenic right ventricular cardiomyopathy (ARVC)"
topSets(gsa, gs.label="kegg", contrast="comparison", sort.by="med.rank")
## Extracting the top gene sets of the collection
## KEGG Pathways for the contrast comparison
## Sorted by med.rank
## [1] "Collecting duct acid secretion"
## [2] "Synaptic vesicle cycle"
## [3] "Vascular smooth muscle contraction"
## [4] "Axon guidance"
## [5] "Arrhythmogenic right ventricular cardiomyopathy (ARVC)"
## [6] "Oxytocin signaling pathway"
## [7] "Lysosome"
## [8] "Adrenergic signaling in cardiomyocytes"
## [9] "Linoleic acid metabolism"
## [10] "cGMP-PKG signaling pathway"
EGSEA突出了许多在乳腺中具有已知重要性的途径,例如与哺乳期不同作用相关的途径,如基底细胞收缩(血管平滑肌收缩和催产素信号传导途径)和产乳汁和管腔细胞分泌(收集导管酸分泌,突触)囊泡循环和溶酶体)。
3.1.2.4.2 在基因集水平上可视化结果
基因组内和基因组之间基因表达模式的图形表示是将分析结果传达给合作者和其他研究人员的重要部分。 EGSEA使用户能够使用plotHeatmap方法通过热图探索基因集的元素。图2显示了LIM MAMMARY STEM CELL UP和LIM MAMMARY STEM CELL DN特征的示例,这些特征可以使用下面的代码在所有对比中可视化。
plotHeatmap(gsa, gene.set="LIM_MAMMARY_STEM_CELL_UP", gs.label="c2",contrast = "comparison", file.name = "hm_cmp_LIM_MAMMARY_STEM_CELL_UP", format="png")
## Generating heatmap for LIM_MAMMARY_STEM_CELL_UP from the collection
## c2 Curated Gene Sets and for the contrast comparison
plotHeatmap(gsa, gene.set="LIM_MAMMARY_STEM_CELL_DN", gs.label="c2",contrast = "comparison", file.name = "hm_cmp_LIM_MAMMARY_STEM_CELL_DN", format="png")
## Generating heatmap for LIM_MAMMARY_STEM_CELL_DN from the collection
## c2 Curated Gene Sets and for the contrast comparison
使用plotHeatmap时,gene.set值必须与topSets方法返回的名称匹配。热图的行代表集合中的基因,列代表实验对比。热图的颜色范围从下调(蓝色)到上调(红色),而行标签(基因符号)在DE分析中基因具有统计显着性时呈绿色(即FDR至少≤0.05)一个对比)。通过更改plotHeatmap的对比度参数,可以生成用于个别比较的热图。 plotHeatmap方法还生成CSV文件,其包括来自limma :: topTable的DE分析结果,用于所选基因集中的所有表达基因和每个对比度(在对比度=“比较”的情况下)。此文件可用于使用其他R / Bioconductor包创建自定义图。
除了热图之外,还可以使用plotPathway方法为KEGG基因组生成通路图,该方法使用来自pathview包的功能(Luo和Brouwer 2013)。例如,为对比BasalvsLP检索的第一个KEGG信号通路是血管平滑肌收缩,可以如下显示:
plotPathway(gsa, gene.set = "Vascular smooth muscle contraction", contrast = "BasalvsLP", gs.label = "kegg", file.name = "Vascular_smooth_muscle_contraction")
血管平滑肌收缩(KEGG途径mmu04270)的途径图,其中对数倍 - 来自Basal vs LP对比的变化。
根据基因特异性对数倍数变化对途径组分进行着色,如在limma DE分析中计算的(图3)。类似地,可以针对所有对比的给定路径生成比较图。
plotPathway(gsa, gene.set = "Vascular smooth muscle contraction", contrast = "comparison", gs.label = "kegg", file.name = "Vascular_smooth_muscle_contraction_cmp")
血管平滑肌收缩(KEGG途径mmu04270)的通路图谱具有对数倍变化的三个实验对比,每个基因以相同的顺序从左到右显示它们出现在对比矩阵中(即Basal vs LP,Basal vs ML和LP vs ML)。
比较途径图显示了每个对比中每个基因的对数倍数变化,方法是将地图上的基因节点分成多个列,每个对比一个(图4)。
3.1.2.4.3 在实验水平上可视化结果
由于EGSEA结合了多种基因集测试方法的结果,因此比较不同基础方法如何对给定基因组集合对所选对比度进行排序可能会很有趣。 plotMethods命令生成多维缩放(MDS)图,用于在所有使用的基本方法中对基因集进行排序(图5)。类似地对基因组进行排序的方法将在该图中看起来更接近,并且我们看到某些方法在不同的基因集集合中一致地聚集在一起。方法的聚类不一定遵循测试的零假设的风格(即自包含与竞争)。
plotMethods(gsa, gs.label = "c2", contrast = "BasalvsLP", file.name = "mds_c2_BasalvsLP", format="png")
## Generating methods plot for the collection
## c2 Curated Gene Sets and for the contrast BasalvsLP
## [1] "png " " 2 "
plotMethods(gsa, gs.label = "c5BP", contrast = "BasalvsLP", file.name = "mds_c5_BasalvsLP", format="png")
## Generating methods plot for the collection
## c5 GO Gene Sets (BP) and for the contrast BasalvsLP
## [1] "png " " 2 "
使用EGSEA的plotSummary方法可以显示给定集合中每个基因集对选定对比度的重要性。
plotSummary(gsa, gs.label = 3, contrast = 3, file.name = "summary_kegg_LPvsML", format="png")
## Generating Summary plots for the collection
## c5 GO Gene Sets (CC) and for the contrast LPvsML
摘要图基于-log10(p值) - (X轴)和基因组的平均绝对对数倍数变化(Y轴)将基因组可视化为气泡。出现在该图右上角的集合最有可能与生物学相关。 EGSEA生成两种类型的摘要图:方向性总结图(图6a),根据基因组的调节方向(大多数基因的方向)对气泡进行着色,以及排序摘要图(图6b),根据给定集合中的基因集排名对泡沫进行着色(根据sort.by参数)。气泡大小基于前一个图中的EGSEA显着性评分和后者中的基因组大小。例如,LP与ML对比的KEGG途径的总结图显示出很少的显着途径(图6)。排名图上的蓝色标签表示基于sort.by参数选择的未排在前10个基因集中的基因集,而其EGSEA显着性分数在整个集合中排在前5位。这用于鉴定具有高重要性分数的基因组,其未被sort.by分数捕获。基因集ID和有关每组的更多信息可以在稍后生成的EGSEA HTML报告中找到。
默认情况下,plotSummary使用基因集的p.adj得分作为X轴。通过将任何可用的sort.by分数分配到参数x.axis中,可以轻松修改此行为,例如,med.rank可用于创建EGSEA摘要图(图7,左侧面板),如下所示:
plotSummary(gsa, gs.label = 1, contrast = 3, file.name = "summary_c2_LPvsML", x.axis = "med.rank", format="png")
## Generating Summary plots for the collection
## c2 Curated Gene Sets and for the contrast LPvsML
当基因集集合的大小非常大时,总结图趋于变得非常混乱,如图7左图所示。例如,参数x.cutoff可用于关注重要基因集,而不是绘制整个基因集集合(图7,右图):
plotSummary(gsa, gs.label = 1, contrast = 3, file.name = "summary_sig_c2_LPvsML", x.axis = "med.rank", x.cutoff=300, format="png")
## Generating Summary plots for the collection
## c2 Curated Gene Sets and for the contrast LPvsML
还可以生成比较总结图以比较两个对比之间基因集的显着性,例如,Basal与LP和Basal与ML之间的比较(图8a)显示大多数KEGG途径在相同方向上受到相对调节。很少的通道在相反的方向上调节(图8中的紫色气泡,左图)。可以使用plotSummary方法生成这样的数字,如下所示:
plotSummary(gsa, gs.label = "kegg", contrast = c(1,2), file.name = "summary_kegg_1vs2", format="png")
## Generating Summary plots for the collection
## KEGG Pathways and for the comparison BasalvsLP vs BasalvsML
plotSummary方法有两个有用的参数:(i)use.names,可用于显示基因集名称而不是基因集ID;(ii)交互式,可用于生成此图的交互式版本。
MSigDB的c5集合和GeneSetDB的Gene Ontology集合包含Gene Ontology(GO)术语。这些集合是非冗余的,仅包含整个GO的一小部分,并且可视化这些术语如何相互关联可以提供信息。 EGSEA利用topGO软件包(Alexa和Rahnenfuhrer 2016)的功能生成重要生物过程(BP),细胞区室(CC)和分子功能(MF)的GO图。 plotGOGraph方法可以生成如下显示(图9),如下所示:
plotGOGraph(gsa, gs.label="c5BP", contrast = 1, file.name="BasalvsLP-c5BP-top-", format="png")
## Generating GO Graphs for the collection c5 GO Gene Sets (BP)
## and for the contrast BasalvsLP based on the med.rank
##
## Building most specific GOs .....
## Loading required package: org.Mm.eg.db
## ( 10957 GO terms found. )
##
## Build GO DAG topology ..........
## ( 14976 GO terms and 35534 relations. )
##
## Annotating nodes ...............
## ( 12879 genes annotated to the GO terms. )
##
## Building most specific GOs .....
## ( 3731 GO terms found. )
##
## Build GO DAG topology ..........
## ( 4182 GO terms and 5459 relations. )
##
## Annotating nodes ...............
## ( 12803 genes annotated to the GO terms. )
##
## Building most specific GOs .....
## ( 1652 GO terms found. )
##
## Build GO DAG topology ..........
## ( 1933 GO terms and 3631 relations. )
##
## Annotating nodes ...............
## ( 13086 genes annotated to the GO terms. )
## Loading required package: Rgraphviz
## Loading required package: grid
##
## Attaching package: 'grid'
## The following object is masked from 'package:topGO':
##
## depth
##
## Attaching package: 'Rgraphviz'
## The following objects are masked from 'package:IRanges':
##
## from, to
## The following objects are masked from 'package:S4Vectors':
##
## from, to
plotGOGraph(gsa, gs.label="c5CC", contrast = 1, file.name="BasalvsLP-c5CC-top-", format="png")
## Generating GO Graphs for the collection c5 GO Gene Sets (CC)
## and for the contrast BasalvsLP based on the med.rank
##
## Building most specific GOs .....
## ( 10957 GO terms found. )
##
## Build GO DAG topology ..........
## ( 14976 GO terms and 35534 relations. )
##
## Annotating nodes ...............
## ( 12879 genes annotated to the GO terms. )
##
## Building most specific GOs .....
## ( 3731 GO terms found. )
##
## Build GO DAG topology ..........
## ( 4182 GO terms and 5459 relations. )
##
## Annotating nodes ...............
## ( 12803 genes annotated to the GO terms. )
##
## Building most specific GOs .....
## ( 1652 GO terms found. )
##
## Build GO DAG topology ..........
## ( 1933 GO terms and 3631 relations. )
##
## Annotating nodes ...............
## ( 13086 genes annotated to the GO terms. )
## png
## 2
GO图是根据参数sort.by的值着色的,在本例中,默认情况下将其视为med.rank,因为在调用EGSEA时选择了该图。默认情况下,每个GO类别(MF,CC或BP)都会突出显示前五个最重要的GO术语。通过更改参数noSig的值,可以显示更多术语。但是,这可能会生成非常复杂且未解决的图形。节点的颜色在红色(最重要)和黄色(最不重要)之间变化。 sort.by评分函数的值在0和1之间缩放以生成这些图。
在实验级别可视化结果的另一种方法是通过摘要条形图。方法plotBars可用于生成特定对比度的单个集合中的前N个基因集的条形图,或来自多个对比的比较分析。例如,在MSigDB的c2集合上进行的对比分析的前20个基因组可以在条形图(图10)中可视化如下:
plotBars(gsa, gs.label = "c2", contrast="comparison", file.name="comparison-c2-bars", format="png")
## Generating a bar plot for the collection c2 Curated Gene Sets
## and the contrast comparison
## png
## 2
每个柱的颜色基于基因组的调节方向,即红色表示上调,蓝色表示下调,紫色表示中性调节(在对比分析显示相反行为的实验对比的情况下) 。默认情况下,根据sort.by参数为选定和排序的前20个基因集绘制-log10(p.adj)值。可以更改plotBars的参数bar.vals,number和sort.by以自定义条形图。
来自c2集合的比较分析的前20个基因组的-log10(p值)的条形图。
当对多个条件的变化感兴趣时,汇总热图可以是有用的可视化。方法plotSummaryHeatmaps在所有实验条件下的比较分析中生成前N个基因组的热图。默认情况下,基于sort.by参数选择20个基因组,并且绘制的值是在与设定的调节方向相同的方向上调节的基因的设定水平的平均对数倍变化,即avg.logfc.dir 。 plotSummaryHeatmaps的参数number,sort.by和hm.vals可用于自定义摘要热图。此外,参数show.vals可用于显示热图单元格上特定EGSEA分数的值。可以使用以下代码为MSigDB c2集合生成示例摘要热图:
plotSummaryHeatmap(gsa, gs.label="c2", hm.vals = "avg.logfc.dir",file.name="summary_heatmaps_c2", format="png")
## Generating summary heatmap for the collection c2 Curated Gene Sets
## sort.by: med.rank, hm.vals: avg.logfc.dir, show.vals:
plotSummaryHeatmap(gsa, gs.label="kegg", hm.vals = "avg.logfc.dir",file.name="summary_heatmaps_kegg", format="png")
## Generating summary heatmap for the collection KEGG Pathways
## sort.by: med.rank, hm.vals: avg.logfc.dir, show.vals:
我们发现基因集和汇总级别的热图视图和汇总级别条形图是有用的摘要,包括在出版物中以突出基因集测试结果。可以使用limmaTopTable方法从EGSEAResults对象访问来自每个对比的顶部差异表达基因。
t = limmaTopTable(gsa, contrast=1)
head(t)
## ENTREZID SYMBOL CHR logFC AveExpr t P.Value
## 19253 19253 Ptpn18 1 -5.632846 4.129760 -34.54340 5.871553e-10
## 16324 16324 Inhbb 1 -4.792255 6.462247 -33.22206 7.993374e-10
## 53624 53624 Cldn7 11 -5.514605 6.296762 -40.24283 1.752279e-10
## 218518 218518 Marveld2 13 -5.139809 4.931334 -34.78540 5.556030e-10
## 12759 12759 Clu 14 -5.442877 8.857907 -40.97191 1.519884e-10
## 70350 70350 Basp1 15 -6.073297 5.248349 -34.29589 6.215256e-10
## adj.P.Val B
## 19253 9.623639e-07 13.21229
## 16324 9.623639e-07 13.34734
## 53624 9.623639e-07 14.52532
## 218518 9.623639e-07 13.46618
## 12759 9.623639e-07 14.74741
## 70350 9.623639e-07 13.34300
3.1.2.4.4 创建结果的HTML报告
要为此数据集生成EGSEA HTML报告,您可以在调用egsea时设置report = TRUE或使用S4方法generateReport,如下所示:
generateReport(gsa,number = 20,report.dir =“./ mam-rnaseq-egsea-report”)
为此数据集生成的EGSEA报告可在线获取(图12)。 HTML报告是组织到目前为止生成的所有结果的便捷方式,从单个表到基因集级别热图,路径图和汇总级别图。它可以很容易地与协作者共享,以便他们更全面地探索他们的结果。通过DT软件包和来自plotly的摘要图的交互式结果表被集成到使用htmlwidgets的报告可以通过在上面的命令中设置interactive = TRUE来添加。由于大多数集合中存在大量基因集,因此该选项显着增加了最终报告的运行时间和大小。
EGSEA HTML报告主页。该摘要页面详述了分析参数(所选择的方法和选择的排序选项),并通过对比组织基因集分析结果,通过基因集收集进一步分离。本页的最后一节介绍了比较分析的结果。对于分析的每个对比和基因集集合,提供了结果表和图表的链接。
EGSEA HTML报告主页。该摘要页面详述了分析参数(所选择的方法和选择的排序选项),并通过对比组织基因集分析结果,通过基因集收集进一步分离。本页的最后一节介绍了比较分析的结果。对于分析的每个对比和基因集集合,提供了结果表和图表的链接。
这个例子完成了我们对EGSEA基因集测试和RNA-seq数据绘图功能的概述。读者可以参考EGSEA插图或个别帮助页面,了解有关上述每种方法和类别的更多详细信息。
3.2 用EGSEA分析微阵列数据
在该工作流程中分析的第二个数据集来自Lim等人。 (2010)(Lim等人,2010)并且是上面分析的RNA-seq数据的微阵列等同物。对微阵列数据的支持是EGSEA中的一项新功能,在本例中,我们根据图1所示的步骤显示了一条快速分析路径,从选择基因集和构建索引,到配置EGSEA,测试和报告结果。首先,必须对数据进行适当的预处理以进行EGSEA分析,为此我们利用limma中可用的功能。
3.2.1 微阵列数据的读取,预处理和标准化
为了分析这个数据集,我们首先将下载的文件解压缩到当前工作目录中。可以使用来自illuminaio包的readIDAT和readBGX函数直接读取Illumina BeadArray数据(Smith等人,2013)。但是,更方便的方法是使用limma中的read.idat函数,该函数使用这些illuminaio函数并将数据作为EListRaw对象输出以供进一步处理。
library(limma)
url = "http://bioinf.wehi.edu.au/EGSEA/arraydata.zip"
utils::download.file(url, destfile="arraydata.zip", mode="wb")
utils::unzip("arraydata.zip", exdir = ".")
targets = read.delim("targets.txt", header=TRUE, sep=" ")
data = read.idat(as.character(targets$File), bgxfile="GPL6887_MouseWG-6_V2_0_R0_11278593_A.bgx",annotation=c("Entrez_Gene_ID","Symbol", "Chromosome"))
## Reading manifest file GPL6887_MouseWG-6_V2_0_R0_11278593_A.bgx ... Done
## 4481850214_B_Grn.idat ... Done
## 4481850214_C_Grn.idat ... Done
## 4481850214_D_Grn.idat ... Done
## 4481850214_F_Grn.idat ... Done
## 4481850187_A_Grn.idat ... Done
## 4481850187_B_Grn.idat ... Done
## 4481850187_D_Grn.idat ... Done
## 4481850187_E_Grn.idat ... Done
## 4481850187_F_Grn.idat ... Done
## 4466975058_A_Grn.idat ... Done
## 4466975058_B_Grn.idat ... Done
## 4466975058_C_Grn.idat ... Done
## 4466975058_D_Grn.idat ... Done
## 4466975058_E_Grn.idat ... Done
## 4466975058_F_Grn.idat ... Done
## Finished reading data.
data$other$Detection = detectionPValues(data)
data$targets = targets
colnames(data) = targets$Sample
接下来,limma中的neqc函数用于使用阴性对照探针(Shi,Oshlack和Smyth 2010)对原始强度值进行normexp背景校正和分位数归一化。然后进行归一化强度值的log2转换和对照探针的去除。
data = neqc(data)
然后,我们过滤掉在所有样品中始终未表达或低表达的探针,因为它们在下游分析中无法提供信息。我们的表达阈值要求探针在至少5个样品中具有小于0.05的检测p值(每组中的样品数)。我们接下来去除没有有效Entrez ID的基因,并且在存在针对相同基因的不同同种型的多个探针的情况下,选择具有最高平均表达的探针作为用于EGSEA分析的代表性探针。这留下了7,123个探针用于进一步分析。
table(targets$Celltype)
##
## Basal LP ML
## 5 5 5
keep.exprs = rowSums(data$other$Detection<0.05)>=5
table(keep.exprs)
## keep.exprs
## FALSE TRUE
## 23638 21643
data = data[keep.exprs,]
dim(data)
## [1] 21643 15
head(data$genes)
## Probe_Id Array_Address_Id Entrez_Gene_ID Symbol Chromosome
## 3 ILMN_1219601 2030280 <NA> C920011N12Rik
## 4 ILMN_1252621 1980164 101142 2700050P07Rik 6
## 6 ILMN_3162407 6220026 <NA> Zfp36
## 7 ILMN_2514723 2030072 <NA> 1110067B18Rik
## 8 ILMN_2692952 6040743 329831 4833436C18Rik 4
## 9 ILMN_1257952 7160091 <NA> B930060K05Rik
sum(is.na(data$genes$Entrez_Gene_ID))
## [1] 11535
data1 = data[!is.na(data$genes$Entrez_Gene_ID), ]
dim(data1)
## [1] 10108 15
ord = order(lmFit(data1)$Amean, decreasing=TRUE)
ids2keep = data1$genes$Array_Address_Id[ord][!duplicated(data1$genes$Entrez_Gene_ID[ord])]
data1 = data1[match(ids2keep, data1$genes$Array_Address_Id),]
dim(data1)
## [1] 7123 15
expr = data1$E
group = as.factor(data1$targets$Celltype)
probe.annot = data1$genes[, 2:4]
head(probe.annot)
## Array_Address_Id Entrez_Gene_ID Symbol
## 39513 4120224 20102 Rps4x
## 9062 2260576 22143 Tuba1b
## 15308 5720202 12192 Zfp36l1
## 39894 1470600 11947 Atp5b
## 24709 2710477 20088 Rps24
## 9872 1580471 228033 Atp5g3
3.2.2 设置EGSEA测试的线性模型
和以前一样,我们需要建立一个合适的线性模型(Smyth 2004)并对比矩阵来寻找Basal和LP,Basal和ML以及LP和ML种群之间的差异。线性模型中包含批次术语,以说明可归因于实验运行当天的表达差异。
head(data1$targets)
## File Sample Celltype Time Experiment
## 2-2 4481850214_B_Grn.idat 2-2 ML At1 1
## 3-3 4481850214_C_Grn.idat 3-3 LP At1 1
## 4-4 4481850214_D_Grn.idat 4-4 Basal At1 1
## 6-7 4481850214_F_Grn.idat 6-7 ML At2 1
## 7-8 4481850187_A_Grn.idat 7-8 LP At2 1
## 8-9 4481850187_B_Grn.idat 8-9 Basal At2 1
experiment = as.character(data1$targets$Experiment)
design = model.matrix(~0 + group + experiment)
colnames(design) = gsub("group", "", colnames(design))
design
## Basal LP ML experiment2
## 1 0 0 1 0
## 2 0 1 0 0
## 3 1 0 0 0
## 4 0 0 1 0
## 5 0 1 0 0
## 6 1 0 0 0
## 7 0 0 1 0
## 8 0 1 0 0
## 9 1 0 0 0
## 10 0 0 1 1
## 11 0 1 0 1
## 12 1 0 0 1
## 13 1 0 0 1
## 14 0 0 1 1
## 15 0 1 0 1
## attr(,"assign")
## [1] 1 1 1 2
## attr(,"contrasts")
## attr(,"contrasts")$group
## [1] "contr.treatment"
##
## attr(,"contrasts")$experiment
## [1] "contr.treatment"
contr.matrix = makeContrasts(BasalvsLP = Basal-LP,BasalvsML = Basal-ML,LPvsML = LP-ML,levels = colnames(design))
contr.matrix
## Contrasts
## Levels BasalvsLP BasalvsML LPvsML
## Basal 1 1 0
## LP -1 0 1
## ML 0 -1 -1
## experiment2 0 0 0
3.2.2.1 创建基因集集合索引
我们接下来从EGSEAdata包中提取小鼠c2,c5和KEGG基因签名集合,并基于Entrez ID构建索引,Entrez ID链接每个签名中的基因和表达矩阵的行。
library(EGSEA)
library(EGSEAdata)
gs.annots = buildIdx(entrezIDs=probe.annot[, 2], species="mouse", msigdb.gsets=c("c2", "c5"), go.part = TRUE)
names(gs.annots)
3.2.2.2 配置和使用EGSEA进行测试
使用函数egsea.ma选择先前在RNA-seq分析中使用的相同的11种碱基方法用于微阵列数据的集合测试。基因组在11种方法中的中位数再次优先排序。
baseMethods = egsea.base()[-2]
baseMethodsgsam = egsea.ma(expr=expr, group=group, probe.annot = probe.annot,design = design,contrasts=contr.matrix, gs.annots=gs.annots,baseGSEAs=baseMethods, sort.by="med.rank",num.threads = 8, report = FALSE)
3.2.2.3 报告EGSEA结果
然后使用generateReport函数创建HTML报告,该报告包括单独显示用于RNA-seq分析的每个基因集水平和汇总水平图。我们通过对比分析显示c2集合中排名靠前的集合来完成我们的分析。
generateReport(gsam, number = 20, report.dir="./mam-ma-egsea-report")
topSets(gsam, gs.label="c2", contrast="comparison", names.only=TRUE, number=5)
为此数据集生成的EGSEA报告可在线获取。对该数据的再分析将类似的c2基因集检索到通过RNA-seq数据分析鉴定的那些。这些包括LIM基因标记(第1,2和3组)以及从具有相似细胞来源的种群(第4组)衍生的那些。
4. 讨论
在这篇工作流程文章中,我们演示了如何使用EGSEA软件包将来自不同基因签名数据库的结果与多种GSE方法相结合,以找到整体解决方案。 EGSEA分析的一个主要好处是可以与协作者共享详细而全面的HTML报告,以帮助他们解释数据。该报告包括根据用户指定的分析选项对基因签名进行优先排序的表格,以及基因集特定和汇总图形,每个表格都可以使用特定的R命令单独生成。 EGSEA采用的方法得益于Bioconductor中可用的各种基因集测试算法和绘图功能。 EGSEA专为基于limma的差异表达分析而量身定制,该分析仍然是一个非常受欢迎且灵活的转录组学数据平台。选择单个GSE算法来优先考虑其结果而不是整体解决方案的分析师仍然可以从EGSEA的综合报告功能中受益。
5. 使用的软件和代码
执行此分析的代码可以在Bioconductor提供的EGSEA123工作流程包中找到。
sessionInfo()
## R version 3.5.1 Patched (2018-07-12 r74967)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 16.04.5 LTS
##
## Matrix products: default
## BLAS: /home/biocbuild/bbs-3.8-bioc/R/lib/libRblas.so
## LAPACK: /home/biocbuild/bbs-3.8-bioc/R/lib/libRlapack.so
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_US.UTF-8 LC_COLLATE=C
## [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
## [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
## [9] LC_ADDRESS=C LC_TELEPHONE=C
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
##
## attached base packages:
## [1] grid stats4 parallel stats graphics grDevices utils
## [8] datasets methods base
##
## other attached packages:
## [1] Rgraphviz_2.26.0 org.Mm.eg.db_3.7.0 EGSEA_1.10.0
## [4] pathview_1.22.0 org.Hs.eg.db_3.7.0 topGO_2.34.0
## [7] SparseM_1.77 GO.db_3.7.0 graph_1.60.0
## [10] AnnotationDbi_1.44.0 IRanges_2.16.0 S4Vectors_0.20.0
## [13] gage_2.32.0 Biobase_2.42.0 BiocGenerics_0.28.0
## [16] EGSEAdata_1.9.0 edgeR_3.24.0 limma_3.38.0
## [19] BiocStyle_2.10.0
##
## loaded via a namespace (and not attached):
## [1] backports_1.1.2 plyr_1.8.4
## [3] lazyeval_0.2.1 GSEABase_1.44.0
## [5] splines_3.5.1 ggplot2_3.1.0
## [7] digest_0.6.18 foreach_1.4.4
## [9] htmltools_0.3.6 gdata_2.18.0
## [11] magrittr_1.5 memoise_1.1.0
## [13] Biostrings_2.50.0 org.Rn.eg.db_3.7.0
## [15] annotate_1.60.0 KEGGdzPathwaysGEO_1.19.0
## [17] matrixStats_0.54.0 colorspace_1.3-2
## [19] blob_1.1.1 xfun_0.4
## [21] dplyr_0.7.7 crayon_1.3.4
## [23] RCurl_1.95-4.11 jsonlite_1.5
## [25] bindr_0.1.1 survival_2.43-1
## [27] iterators_1.0.10 glue_1.3.0
## [29] registry_0.5 gtable_0.2.0
## [31] zlibbioc_1.28.0 XVector_0.22.0
## [33] R2HTML_2.3.2 hgu133a.db_3.2.3
## [35] KEGG.db_3.2.3 scales_1.0.0
## [37] DBI_1.0.0 rngtools_1.3.1
## [39] bibtex_0.4.2 Rcpp_0.12.19
## [41] metap_1.0 viridisLite_0.3.0
## [43] xtable_1.8-3 bit_1.1-14
## [45] GSVA_1.30.0 DT_0.4
## [47] htmlwidgets_1.3 httr_1.3.1
## [49] hgu133plus2.db_3.2.3 gplots_3.0.1
## [51] RColorBrewer_1.1-2 pkgconfig_2.0.2
## [53] XML_3.98-1.16 locfit_1.5-9.1
## [55] tidyselect_0.2.5 labeling_0.3
## [57] rlang_0.3.0.1 later_0.7.5
## [59] munsell_0.5.0 tools_3.5.1
## [61] RSQLite_2.1.1 globaltest_5.36.0
## [63] HTMLUtils_0.1.7 evaluate_0.12
## [65] stringr_1.3.1 yaml_2.2.0
## [67] knitr_1.20 bit64_0.9-7
## [69] caTools_1.17.1.1 purrr_0.2.5
## [71] KEGGREST_1.22.0 bindrcpp_0.2.2
## [73] nlme_3.1-137 doRNG_1.7.1
## [75] mime_0.6 KEGGgraph_1.42.0
## [77] compiler_3.5.1 shinythemes_1.1.1
## [79] plotly_4.8.0 png_0.1-7
## [81] tibble_1.4.2 geneplotter_1.60.0
## [83] stringi_1.2.4 Glimma_1.10.0
## [85] lattice_0.20-35 Matrix_1.2-14
## [87] pillar_1.3.0 GSA_1.03
## [89] BiocManager_1.30.3 Rdpack_0.10-1
## [91] PADOG_1.24.0 data.table_1.11.8
## [93] bitops_1.0-6 gbRd_0.4-11
## [95] httpuv_1.4.5 R6_2.3.0
## [97] hwriter_1.3.2 bookdown_0.7
## [99] promises_1.0.1 KernSmooth_2.23-15
## [101] codetools_0.2-15 gtools_3.8.1
## [103] assertthat_0.2.0 openssl_1.0.2
## [105] pkgmaker_0.27 rprojroot_1.3-2
## [107] withr_2.1.2 safe_3.22.0
## [109] tidyr_0.8.2 base64_2.0
## [111] rmarkdown_1.10 illuminaio_0.24.0
## [113] shiny_1.1.0
6. 竞争利益
MA和MN是CSL Limited的员工。作者声明他们没有竞争利益。
7. Grant信息
这项工作由国家健康与医学研究委员会(NHMRC)MER研究金(GNT1104924),维多利亚州政府运营基础设施支持和澳大利亚政府NHMRC IRIISS资助。
8. 致谢
2017年7月28日,该材料首次在Dana Farber癌症研究所(马萨诸塞州波士顿)的BioC 2017会议的研讨会上进行了试验。我们感谢本次研讨会的参与者的反馈。作者还感谢Alexandra Garnham博士(Walter和Eliza Hall医学研究所)对该工作流程文章的反馈。
参考
Alexa, A., and J. Rahnenfuhrer. 2016. TopGO: Enrichment Analysis for Gene Ontology.
Alhamdoosh, M., M. Ng, and M. E. Ritchie. 2017. EGSEA: Ensemble of Gene Set Enrichment Analyses.
Alhamdoosh, M., M. Ng, N. J. Wilson, J. M. Sheridan, H. Huynh, M. J. Wilson, and M. E. Ritchie. 2017. “Combining Multiple Tools Outperforms Individual Methods in Gene Set Enrichment Analyses.” Bioinformatics 33 (3):414.
Araki, H., C. Knapp, P. Tsai, and C. Print. 2012. “GeneSetDB: A comprehensive meta-database, statistical and visualisation framework for gene set analysis.” FEBS Open Bio 2:76–82.
Barbie, D. A., P. Tamayo, J. S. Boehm, S. Y. Kim, S. E. Moody, I. F. Dunn, A. C. Schinzel, et al. 2009. “Systematic RNA interference reveals that oncogenic KRAS-driven cancers require TBK1.” Nature 462 (7269):108–12.
Barry, W. T., A. B. Nobel, and F. A. Wright. 2005. “Significance analysis of functional categories in gene expression studies: a structured permutation approach.” Bioinformatics 21 (9):1943–9.
Bioconductor Core Team. 2015. Mus.musculus: Annotation package for the Mus.musculus object.
Cerami, E. G., B. E. Gross, E. Demir, I. Rodchenkov, O. Babur, N. Anwar, N. Schultz, G. D. Bader, and C. Sander. 2011. “Pathway Commons, a Web Resource for Biological Pathway Data.” Nucleic Acids Research 39 (Database issue):D685–D690.
Dewey, M. 2017. metap: Meta-Analysis of Significance Values.
Goeman, J. J., S. A. van de Geer, F. de Kort, and H. C. van Houwelingen. 2004. “A global test for groups of genes: testing association with a clinical outcome.” Bioinformatics 20 (1):93–99.
Hänzelmann, S., R. Castelo, and J. Guinney. 2013. “GSVA: gene set variation analysis for microarray and RNA-seq data.” BMC Bioinformatics 14:7.
Huber, W., V. J. Carey, R. Gentleman, S. Anders, M. Carlson, B. S. Carvalho, H. C. Bravo, et al. 2015. “Orchestrating High-Throughput Genomic Analysis with Bioconductor.” Nature Methods 12 (2):115–21.
Kanehisa, M., and S. Goto. 2000. “KEGG: kyoto encyclopedia of genes and genomes.” Nucleic Acids Research 28 (1):27–30.
Law, C. W., M. Alhamdoosh, S. Su, G. K. Smyth, and M. E. Ritchie. 2016. “RNA-seq analysis is easy as 1-2-3 with limma, Glimma and edgeR.” F1000Research 5:1408.
Law, C. W., Y. Chen, W. Shi, and G. K. Smyth. 2014. “Voom: Precision Weights Unlock Linear Model Analysis Tools for RNA-seq Read Counts.” Genome Biology 15 (2):R29.
Lee, E., H. Y. Chuang, J. W. Kim, T. Ideker, and D. Lee. 2008. “Inferring pathway activity toward precise disease classification.” PLoS Computational Biology 4 (11):e1000217.
Liao, Y., G. K. Smyth, and W. Shi. 2013. “The Subread Aligner: Fast, Accurate and Scalable Read Mapping by Seed-and-Vote.” Nucleic Acids Research 41 (10):e108.
—2014. “featureCounts: an Efficient General-Purpose Program for Assigning Sequence Reads to Genomic Features.” Bioinformatics 30 (7):923–30.
Lim, E., D. Wu, B. Pal, T. Bouras, M. L. Asselin-Labat, F. Vaillant, H. Yagita, G. J. Lindeman, G. K. Smyth, and J. E. Visvader. 2010. “Transcriptome analyses of mouse and human mammary cell subpopulations reveal multiple conserved genes and pathways.” Breast Cancer Research 12 (2):R21.
Luo, W., and C. Brouwer. 2013. “Pathview: An R/Bioconductor Package for Pathway-Based Data Integration and Visualization.” Bioinformatics 29 (14):1830–1.
Luo, W., M. S. Friedman, K. Shedden, K. D. Hankenson, and P. J. Woolf. 2009. “GAGE: generally applicable gene set enrichment for pathway analysis.” BMC Bioinformatics 10:161.
R Core Team. 2017. R: A Language and Environment for Statistical Computing. Vienna, Austria: R Foundation for Statistical Computing.
Ritchie, M. E., B. Phipson, D. Wu, Y. Hu, C. W. Law, W. Shi, and G. K. Smyth. 2015. “limma Powers Differential Expression Analyses for RNA-Sequencing and Microarray Studies.” Nucleic Acids Research 43 (7):e47.
Robinson, M. D., D. J. McCarthy, and G. K. Smyth. 2010. “edgeR: A Bioconductor Package for Differential Expression Analysis of Digital Gene Expression Data.” Bioinformatics 26 (1):139–40.
Robinson, M. D., and A. Oshlack. 2010. “A Scaling Normalization Method for Differential Expression Analysis of RNA-seq data.” Genome Biology 11 (3):R25.
Sheridan, J. M., M. E. Ritchie, S. A. Best, K. Jiang, T. J. Beck, F. Vaillant, K. Liu, et al. 2015. “A pooled shRNA screen for regulators of primary mammary stem and progenitor cells identifies roles for Asap1 and Prox1.” BMC Cancer 15 (1). BioMed Central:221.
Shi, W., A. Oshlack, and G.K. Smyth. 2010. “Optimizing the Noise Versus Bias Trade-Off for Illumina Whole Genome Expression BeadChips.” Nucleic Acids Research 38 (22). Oxford University Press:e204.
Smith, M. L., K. A. Baggerly, H. Bengtsson, M. E. Ritchie, and K. D. Hansen. 2013. “illuminaio: an Open Source Idat Parsing Tool.” F1000Research 2:264.
Smyth, G. K. 2004. “Linear Models and Empirical Bayes Methods for Assessing Differential Expression in Microarray Experiments.” Stat Appl Genet Mol Biol 3 (1):Article 3.
Su, S., C. W. Law, C. Ah-Cann, M. L. Asselin-Labat, M. E. Blewitt, and M. E. Ritchie. 2017. “Glimma: Interactive Graphics for Gene Expression Analysis.” Bioinformatics 33 (13):2050–2.
Subramanian, A., P. Tamayo, V. K. Mootha, S. Mukherjee, B. L. Ebert, M. A. Gillette, A. Paulovich, et al. 2005. “Gene Set Enrichment Analysis: A Knowledge-Based Approach for Interpreting Genome-Wide Expression Profiles.” Proc Natl Acad Sci U S A 102 (43):15545–50.
Tarca, A. L., S. Draghici, G. Bhatti, and R. Romero. 2012. “Down-weighting overlapping genes improves gene set analysis.” BMC Bioinformatics 13:136.
Tavazoie, S., J. D. Hughes, M. J. Campbell, R. J. Cho, and G. M. Church. 1999. “Systematic determination of genetic network architecture.” Nature Genetics 22 (3):281–5.
Tenenbaum, D. 2017. KEGGREST: Client-Side Rest Access to Kegg.
Tomfohr, J., J. Lu, and T. B. Kepler. 2005. “Pathway level analysis of gene expression using singular value decomposition.” BMC Bioinformatics 6:225.
Wilkinson, B. 1954. “A Statistical Consideration in Psychological Research.” Psychological Bulletin 48:156–8.
Wu, D., E. Lim, F. Vaillant, M. L. Asselin-Labat, J. E. Visvader, and G. K. Smyth. 2010. “ROAST: rotation gene set tests for complex microarray experiments.” Bioinformatics 26 (17):2176–82.
Wu, D., and G. K. Smyth. 2012. “Camera: a competitive gene set test accounting for inter-gene correlation.” Nucleic Acids Research 40 (17):e133.
Ziemann, M., A. Kaspi, H. Rafehi, and A. El-Osta. 2017. The ENCODE Gene Set Hub.