浓缩装饰图案

迈克尔·t·齐默尔曼

2018-10-30

日坛简介

RITAN是一个用于快速集成术语注释和网络资源的R包。它将被应用于一系列基因符号——例如,那些通过差异基因表达分析识别的符号。

基因表达分析的流行导致了一个共同的结果:研究人员确定了一系列感兴趣的基因,并想知道它们是如何组合在一起的。一个常见的例子是一个研究小组研究一种治疗的效果,并确定治疗组和对照组之间的差异表达基因。两个合乎逻辑的问题是:“这组基因实现了什么功能?”以及“这些基因是如何协同工作来实现这个功能的?”RITAN包整合了多个注释资源,以帮助回答这两个问题。

快速启动

我们快速利用一套全面的功能注释的过程始于优先排序的基因列表。RITAN与由MSigDB索引的示例基因集一起分发。对于这个例子,我们选择了在多种条件下对流感反应的研究。在这个小插图中,我们将演示跨多个注释资源的分析。这可以在一个函数调用中实现,如下面的RITAN注释功能的“快速入门”示例所示。

图书馆(RITANdata)图书馆(日坛)

用户可以使用RITAN同时查询多个注释资源,并在组合集上执行fdr调整:

#我们使用基因符号定义查询my_genes < -c“ABCA2”“ACAT2”“ACSS2”“CD9”“CPEB2”“CTNNB1”“FASN”“LDLR”LPL的“LSS”#现在,您可以通过以下方式快速获得浓缩结果:# e <- term_enrichment(my_genes)然而,为了方便起见,我们将在这里做两个简化。# 1)只看两个资源(在众多可用资源中)# 2)使用缓存的人类蛋白质编码基因的背景基因列表资源< -c“ReactomePathways”“MSigDB_Hallmarks”e < -term_enrichment(my_genes资源=资源,all_symbols =cached_coding_genes)
##加载请求的“ReactomePathways”基因集…##加载所请求的“MSigDB_Hallmarks”基因集…## ##加载1755个基因集。## name ## 1708 MSigDB_Hallmarks。反应途径。乳糜微粒介导的脂质转运反应途径。脂蛋白代谢反应途径。脂质和脂蛋白的代谢反应途径。SREBF (SREBP)激活基因表达## p n n.set q ## 1708 3.611330e-25 10 73 6.337884e-22 ## 268 3.362719e-05 2 17 2.950786e-02 ## 797 1.071665e-04 2 30 6.183554e-02 ## 837 1.950507e-04 4 616 6.183554e-02 ## 85 2.013932e-04 2 41 6.183554e-02
总结(e)
## name ## 1708 MSigDB_Hallmarks。反应途径。乳糜微粒介导的脂质转运反应途径。脂蛋白代谢反应途径。脂质和脂蛋白的代谢反应途径。SREBF (SREBP)激活基因表达的反应途径。类维生素a代谢和转运## p n n.set q ## 1708 3.611330e-25 10 73 6.337884e-22 ## 268 3.362719e-05 2 17 2.950786e-02 ## 797 1.071665e-04 2 30 6.183554e-02 ## 837 1.950507e-04 4 616 6.183554e-02 ## 85 2.013932e-04 2 41 6.183554e-02 ## 1254 2.114036e-04 2 42 6.183554e-02

请在您的分析中引用每一种资源并在MSigDB如果你使用他们的数据。这样做将有助于确保这些宝贵资源将来的可用性和扩大。

日坛的富集分析全例

这个版本的RITAN带有以下注释资源:

的名字(geneset_list)
# #[1]“MSigDB_Hallmarks”“MSigDB_C2”# # MSigDB_C3[3]”。TFtargets”“MSigDB_C3。miRNA“##[5]“MSigDB_C5”“MSigDB_C7”##[7]“GO”“GO_slim_PIR”##[9]“GO_slim_generic”“PathwayCommonsPathways”##[11]“ReactomePathways”“NetPath_Gene_regulation”##[13]“Chaussabel_Modules”“Blood_Translaiton_Modules”##[15]“KEGG_filtered_canonical_pathways”“DisGeNet”

每个资源都是一个基因符号列表。例如:

(geneset_listMSigDB_C7GSE9988_LPS_VS_LOW_LPS_MONOCYTE_UP)
##[1]“a2m”“abca9”“adam20”“amph”“ankrd26p3”“ankrd29”

我们现在演示术语丰富的典型用例:通过它们参与的生物功能或途径注释感兴趣的基因列表。你感兴趣的基因可以来自多种类型的分析,比如差异基因表达。

包中包含的“geneset_list”对象包含由每个资源中的基因符号定义的多个注释资源。我们从GEO中沉积的“TREM-1激活的先天免疫反应”的研究中选择一个例子GSE9988各条件下恭顺表达最高的基因以MSigDB为索引。这些MSigDB基因集包含在“C7”模块下的RITAN中。

选择< -grepl“GSE9988_ (LOW_) * LPS_VS_ +了”。的名字(geneset_listMSigDB_C7),perl =真正的study_set < -geneset_listMSigDB_C7(选择)str(study_set)
## 7 ## $ GSE9988_LPS_VS_LOW_LPS_MONOCYTE_UP: chr [1:199] "A2M" "ABCA9" "ADAM20" "AMPH"…## $ GSE9988_LPS_VS_LPS_AND_ANTI_TREM1_MONOCYTE_UP: chr [1:200] "ACOX1" "ACSL1" "ACVR2A" "ADA"…## $ GSE9988_LPS_VS_CTRL_TREATED_MONOCYTE_UP: chr [1:200] "ACSL1" "ADAMDEC1" "ADM" "ANO5"…## $ GSE9988_LPS_VS_VEHICLE_TREATED_MONOCYTE_UP: chr [1:200] "ABL2" "ACSL1" "ADM" "ADRB2"…## $ GSE9988_LOW_LPS_VS_ANTI_TREM1_AND_LPS_MONOCYTE_UP: chr [1:200] "ACSL1" "ACVR2A" "ADA" "ADH1B"…## $ GSE9988_LOW_LPS_VS_CTRL_TREATED_MONOCYTE_UP: chr [1:200] "ACSL1" "ADAMDEC1" "ADM" "ANO5"…## $ GSE9988_LOW_LPS_VS_VEHICLE_TREATED_MONOCYTE_UP: chr [1:200] "ABL2" "ACSL1" "ADM" "ADRB2"…

从上面我们可以看到,已经选择了7个基因符号列表,每一个都是比较一个治疗组和另一个治疗组并确定200个表达差异最大的基因的结果。在本例中,我们将考虑使用的治疗方法是LPS, Anti-TREM1 Antibody, Vehicle-only和IgG Control。

默认的注释资源集包括GO、Reactome Pathways、KEGG Filtered Canonical Pathways和MSigDB Hallmarks。因此,默认情况下,日坛将考虑总共17,724个功能术语和路径。

函数term_enrichment _by_子集()使用这些注释资源同时计算每个输入基因列表集的富集量。在这个例子中,这些基因列表包含了不同条件下不同表达的基因。请注意,我们将所有4个资源加载在一起,并对它们进行q值调整。为简洁起见,我们将考虑一组经过筛选的规范路径和Hallmark函数。

e < -term_enrichment_by_subset(study_setq_value_threshold =1 e-5资源=资源,all_symbols =cached_coding_genes)
##加载请求的“ReactomePathways”基因集…##加载所请求的“MSigDB_Hallmarks”基因集…## ##加载1755个基因集。##运行浓缩…罗斯福…做调整。

你可以看到,在这两种资源中,日坛测试了188种途径进行富集。我们通过输入研究集确定每种方法的表示(或充实)。在整个组中执行错误发现调整后,我们保存显著关联(在本例中,q < 10)5).

接下来,我们绘制了浓缩结果的热图:

情节(e,show_values =label_size_y =7label_size_x =7

该图显示了“通过NFKB的tnf - α信号信号的标志”的高度显著富集的四个研究结果。富集如此之强,以至于它主导了热图的阴影,因为阴影尺度具有统计学意义;显示的值为-log10(q值)。

为了更好地利用颜色尺度,我们将“cap”参数设置为10,以便q值比1x10更显著-10是否“上限”为1x10-10.这将产生更丰富的可视化信息。

情节(e,show_values =label_size_y =7label_size_x =7帽=10

重要的是,用户可以获得完整的数据。为简单起见,我们打印前3个项的数据,但省略列名,因为它们在上面的图中很长且可见。

prmatrix(e [13.),collab =c“名字”“n.set”17) )
## name n.set 1 2 ## 1706 "MSigDB_Hallmarks. ## name。HALLMARK_TNFA_SIGNALING_VIA_NFKB" "198" "0" "18.1" ## 1736 "MSigDB_Hallmarks。msigdb_hallmark_inflammatory_response " "197" "0" " 8.2" ## 1715 "HALLMARK_APOPTOSIS”“159年”“0”“0.8”# # 3 4 5 6 7 # # 1706“81.8”“83.6”“17.4”“92.8”“87.3”# # 1736年“19.7”“20.9”“17.4”“22.0”“22.2”# # 1715年“8.2”“8.2”“1.8”“10.4”“7.2”

添加注释矩阵

一种注释矩阵,其中基因列表可以促进样品或研究条件与富集之间关系的可视化评估。在本例中,我们可以解析每个基因集的名称以获得有关它的信息,但为了简单起见,我们手工构造了矩阵。

## Sample1 Sample2 Sample3 Sample4 ## Condition1“LPS”“LPS”“LPS”“LPS”“LPS”## Condition2“LOW_LPS”“LPS_AND_ANTI_TREM1”“ctrl_treating”“vehicle_treating”## Sample5 Sample6 Sample7 ## Condition1“LOW_LPS”“LOW_LPS”“LOW_LPS”“ctrl_treating”“vehicle_treating”

显示基因的数量

虽然富集反映了每个基因集的大小和所选基因的数量,但在生成显著性评分时,有时知道计数也是有信息的。

##加载请求的“ReactomePathways”基因集…##加载所请求的“MSigDB_Hallmarks”基因集…## ##加载1755个基因集。##运行浓缩…罗斯福…做调整。

因此,我们生成了与前面相似的图,但现在显示了每个项或途径重叠的基因数量。

词浓缩

该函数使用一组资源中的所有术语(默认包含GO、ReactomePathways、KEGG_filtered_canonical_pathways、MSigDB_Hallmarks)来评估与基因名称输入向量的重叠程度。term_enrichment函数的输出是一个数据帧,其中包含关于输入基因符号与已知注释数据集重叠程度的信息。数据帧中的第一个字段是已知基因集的名称。第二个字段是超几何p值,该值由测试基因集中也在已发表基因集中的基因名称的数量计算得出。第三个字段包含重复测试基因集和已发表基因集的基因名称的数量。第四个字段包含已发表基因集中的基因数量。第五个字段给出了两个基因集之间共同的基因名称列表,第六个字段是由p值得出的错误发现率的度量。

输入资源要么来自我们预加载的资源列表,要么来自一个输入的GMT文件。有关GMT文件格式的说明,请参见GSEA帮助页面

数据“vac1.day0vs31.de.genes”te < -term_enrichmentgeneset =vac1.day0vs31.de.genes)

包中包含的R对象geneset_list包含15个可能的注释注释资源。分别是:MSigDB_Hallmarks、MSigDB_C2、MSigDB_C3。TFtargets MSigDB_C3。miRNA, MSigDB_C5, MSigDB_C7, GO, GO_slim_PIR, GO_slim_generic, PathwayCommonsPathways, ReactomePathways, NetPath_Gene_regulation, Chaussabel_Modules, Blood_Translaiton_Modules, KEGG_filtered_canonical_pathways, DisGeNet。

通过将“resources”参数设置为这些注释资源中的一个或多个,可以修改term_enrichment函数以生成来自不同基因集的结果。

使用其他资源丰富术语

通过将“resources”参数设置为RITAN可用的一个或多个注释资源,可以修改term_enrichment函数以生成来自不同基因集的结果。

e < -term_enrichmentgeneset =vac1.day0vs31.de.genes,verbose =真正的资源=c“Blood_Translation_Modules”“MSigDB_C7”) )

包括所有可用资源的有效方法是:

e < -term_enrichmentgeneset =vac1.day0vs31.de.genes,verbose =真正的资源=的名字(geneset_list))

然而,人们必须谨慎这样做的适当性。在所有可用的资源中进行富集将提供一个关于你的基因列表可能影响的生物功能的全面视图,但跨资源的术语很可能是相互关联的。例如,GO术语与某些通路函数密切对应。条款的非独立性可能使错误发现调整过于保守。重点是:宽泛的分析可能会有所帮助,但更集中的分析可能会更清晰、更有效。

用户输入资源的术语丰富

下面,我们将加载从DisGeNet生成的用户定义资源。DisGeNet是疾病-基因关系的资源。我们对DisGeNet数据进行了安排,使每个疾病名称都被视为一个“术语”。通过这种方式,我们可以查询我们感兴趣的基因是否与疾病状态相关。

作为一个例子,我们将使用先前在MSigDB中沉积的流感感染差异表达研究中的感兴趣基因。

gs < -geneset_listMSigDB_C7 [[“GSE6269_HEALTHY_VS_FLU_INF_PBMC_UP”]]格林尼治时间< -执行“extdata”“curated_gene_disease_associations.gmt.gz”包=“日坛”为了简洁,这里不运行# geneset_list$DisGeNet <- readGMT(gmt)# str(头(geneset_list DisGeNet美元))

gmt文件的格式是一种简单的制表符分隔样式,其中第一列是术语名称,第二列是对其起源的引用,后面的所有列都是与该术语相关的基因。

疾病 Gene1 Gene2 Gene3……
皮炎,过敏性接触 uml: C0162820 NAMPT CALCRL IGSF6
II型高血脂血症 uml: C0020445 CETP ABCA1 EPHX2
疾病进展 uml: C0242656 CDH2 ABCF2 TRAP1
淋巴瘤,非霍奇金 uml: C0024305 脑脊液 2 CSF3 CYP2E1

现在运行疾病关联术语富集。

e2 < -term_enrichment(gs,资源=格林尼治时间)
##加载/tmp/Rtmp5S5RN4/Rinst59013f2d35f5/RITAN/extdata/curated_gene_disease e_associations. mgmt .gz ## ##已加载604个基因集。名称p n n set q ## 471前体t细胞淋巴母细胞白血病-淋巴瘤0.007834168 2 17 1 ## 144乳糜泻0.008767954 2 18 1 ## 465药疹0.008767954 2 18 1 ## 420过敏0.010419825 3 57 1 ## 459白内障0.010776319 2 20 1
打印(e2 [13.-5])
名称p n n set q ## 471前体t细胞淋巴母细胞白血病-淋巴瘤0.007834168 2 17 1 ## 144乳糜泻0.008767954 2 18 1 ## 465药物疹0.008767954 2 18 1

从默认输出(包括最丰富的前5个术语)中,您可以看到很少有术语是显著丰富的。

为了更好地理解资源,以及它是否是流感感染的全面定义,我们可以在GMT文件中阅读并显示在DisGeNet中定义“流感”的基因:

geneset_listDisGeNet < -readGMT(格林尼治时间)打印(geneset_listDisGeNet [[“人类流感,”]])
##[1]“apol6”“atf3”“ccl2”“ccl8”“cxcl10”“ddx58”##[7]“ddx60”“eif2ak2”“gbp1”“herc5”“ifi44l”“ifi6”“ifih1”“ifit1”##[19]“ifit2”“ifit3”“ifit5”“ifitm3”“irf7”“isg15”##[25]“lamp3”“ly6e”“mx1”“mx2”“oas1”“oas2”“parp12”“plscr1”“rsad2”“rtp4”##[37]“samd9”“sco2”“serping1”“siglec1”“slc22a8”“stat1”##[49]“ube2l6”“xaf1”“xist”“zcchc2”

作为质量控制步骤,可以使用show_active_genesets_hist()函数来可视化活动基因集的大小分布。如果输入文件(.gmt)格式不正确,您可能会看到所有术语的大小相同,或者加载的术语比预期的要少。

show_active_genesets_hist()

长度(active_genesets)
## [1] 604

用户定义术语的术语丰富

从上面添加新资源的示例中,您可以看到RITAN使用的生成集格式是简单的列表。因此,如果您有自己的兴趣列表,可以将其添加到RITAN中,并与GO等其他资源一起用于浓缩测试。例如,如果你想定义自己的术语来描述低密度脂蛋白(LDL)如何被带入细胞:

geneset_list低密度脂蛋白=列表LDL_import =c“飞机观测”“APOE”“LDLR”),LDL_processing =c“HMGR”“ACAT2”“HMGCS1”“HMGCR”“MVD”“MVK”“PMVK”“IDI1”“IDI2”) )

现在在“LDL”资源中有两个术语,可以通过以下方式进行术语丰富:

e < -term_enrichment(gs,资源=c“去”“低密度脂蛋白”) )

参考文献

  1. Ashburner M, Ball CA, Blake JA, Botstein D, Butler H, Cherry JM, Davis AP, Dolinski K, Dwight SS, Eppig JT等:基因本体论:生物学统一的工具。基因本体联盟。植物学报,2000,25(1):25-29。

  2. Schaefer CF, Anthony K, Krupa S, Buchoff J, Day M, Hannay T, Buetow KH: PID:通路相互作用数据库。核酸研究,2009,37(数据库issue):D674-679。

  3. Kanehisa M, Goto S: KEGG:京都基因和基因组百科全书。中国生物医学工程学报,2000,28(1):27-30。

  4. Kanehisa M, Goto S, Sato Y, Furumichi M, Tanabe M: KEGG大规模分子数据集的整合和解释。核酸研究,2012,40(数据库issue):D109-114。

  5. Croft D, O 'Kelly G, Wu G, Haw R, Gillespie M, Matthews L, Caudy M, Garapati P, Gopinath G, Jassal B等:反应组:反应、途径和生物过程的数据库。核酸研究,2011,39(数据库issue):D691-697。

  6. Cerami EG, Gross BE, Demir E, Rodchenkov I, Babur O, Anwar N, Schultz N, Bader GD, Sander C: Pathway Commons,生物通路数据的网络资源。核酸研究,2011,39(数据库issue):D685-690。

  7. Subramanian A, Tamayo P, Mootha VK, Mukherjee S, Ebert BL, Gillette MA, Paulovich A, Pomeroy SL, Golub TR, Lander ES等:基因集富集分析:一种基于知识的解释全基因组表达谱的方法。自然科学进展,2005,26(3):357 - 357。

  8. Chaussabel D, Quinn C, Shen J, Patel P, Glaser C, Baldwin N, Stichweh D, Blankenship D, Li L, Munagala I等:血液基因组学研究的模块化分析框架:应用于系统性红斑狼疮。免疫杂志,2008,29(1):150-164。

  9. Li S, Rouphael N, Duraisingham S, Romero-Steiner S, Presnell S, Davis C, Schmidt DS, Johnson SE, Milton A, Rajam G等:从五种人类疫苗的系统生物学研究中获得抗体反应的分子特征。中华免疫杂志2014,15(2):195-204。

  10. Kandasamy K, Mohan SS, Raju R, Keerthikumar S, Kumar GS, Venugopal AK, Telikicherla D, Navarro JD, Mathivanan S, Pecquet C等:NetPath:策策信号转导通路的公共资源。中国生物医学工程学报,2010,11(1):R3。