Skip to content

PavlidisLab/ermineR

Repository files navigation

ErmineR

This is an R wrapper for Pavlidis Lab’s ermineJ. A tool for gene set enrichment analysis with multifunctionality correction.

Table of Contents

Installation

ermineR requries 64 bit version of java to function. If you are a Mac user make sure you have the java SDK.

After java is installed you can install ermineR by doing

devtools::install_github('PavlidisLab/ermineR')

If ermineR cannot find your java home by itself. Use either install rJava or use Sys.setenv(JAVA_HOME=javaHome) to point ermineR to the right path.

Some users report that the ermineJ executable loses its exection privilage after installation. If this happens you will get an error like

"Error in (function (annotation = NULL, aspects = c("Molecular Function",  :
 Something went wrong. Blame the dev
sh: [library installation path]/ermineR/ermineJ-3.1.2/bin/ermineJ.sh: Permission denied "

To fix this just do

chmod +x [library installation path]/ermineR/ermineJ-3.1.2/bin/ermineJ.sh

You may need sudo depending on where you install your packages

Usage

See documentation for ora, roc, gsr, precRecall and corr to see how to use them.

An explanation of what each method does is given. We recommend users start with the precRecall (for gene ranking-based enrichment analysis) or ora (for hit-list over-representation analysis).

Replicable go terms

GO terms are updated frequently so results can differ between versions. The default option of all ermineR functions is to get the latest GO version however this means you may get different results when you repeat the experiment later. If you want to use a specific version of GO, ermineR provides functions to deal with that.

  • goToday: Downloads the latest version of go to a path you provide
  • getGoDates: Lists all dates where a go version is available, from the most recent to oldest
  • goAtDate: Given a valid date, downloads the Go version from a specific date to a file path you provide

To use a specific version of GO, make sure to set geneSetDescription argument of all ermineR functions to the file path where you saved the go terms

Annotations

ErmineR requires annotation files to work. These files include gene identifiers and their Go annotations, along with some optional information. By default, ermineR supports annotation files generated by Gemma. And will automatically download them if you provide a valid annotation name. You can get a list of valid annotation names using listGemmaAnnotations(). As a general rule, if your platform has an identifier in GEO, the identifier that starts with “GPL” is used as the Gemma identifier as well. There are also generic annotation files available that contain all genes from a species. These are typically named something like “Generic_human”.

You can manually download these annotation files from https://gemma.msl.ubc.ca/annots/ or by using the getAnnotation function. ErmineR typically uses “noParents” versions of these files since parent terms are derived using the ontology file acquired from GO.

Examples

Use GSR with gene scores

Here we will use a mock scores file located in our tests directory. The score file is specifically created to be enriched in genes with the term GO:0051082.

scores = read.table("tests/testthat/testFiles/pValues", header=T, row.names = 1)
head(scores)
##                pvalue
## 206190_at   0.3163401
## 208385_at   0.5186824
## 65086_at    0.6620389
## 202281_at   0.4068895
## 211622_s_at 0.9128846
## 219257_s_at 0.2936740

This scores file only includes scores for 118 genes. The file was generated using GPL96’s probesets so that is the annotation we’ll be using. Any gene that is not reperesented by the score file will be ignored.

gsrOut = gsr(annotation = 'GPL96',
                 scores = scores,
                 scoreColumn = 1,
                 iterations = 10000,
                 bigIsBetter = FALSE,
                 logTrans = TRUE)
## Attempting to download annotation file
head(gsrOut$results) %>% knitr::kable()
Name ID NumProbes NumGenes RawScore Pval CorrectedPvalue MFPvalue CorrectedMFPvalue Multifunctionality Same as GeneMembers
protein folding GO:0006457 40 24 3.198073 0.0000 0.000000 0.0000 0.0000000 0.214 NA AIP|CALR|CCT5|CCT6A|CCT8L2|CDC37L1|CLGN|CLPX|DNAJB1|DNAJB4|GAK|HSP90AA1|HSPA1A|HSPA9|HSPB6|HSPD1|NUDC|PFDN6|PTGES3|RUVBL2|ST13|TCP1|TOR1A|UGGT1|
unfolded protein binding GO:0051082 52 29 3.299625 0.0000 0.000000 0.0000 0.0000000 0.258 NA AIP|CALR|CCT5|CCT6A|CCT8L2|CDC37L1|CHAF1A|CLGN|CLPX|DNAJB1|DNAJB4|HSP90AA1|HSPA1A|HSPA9|HSPB6|HSPD1|HTRA2|NUDC|PFDN6|PTGES3|RUVBL2|SHQ1|SRSF10|TAPBP|TCP1|TOMM20|TOR1A|TUBB4B|UGGT1|
cytosol GO:0005829 74 41 2.118055 0.0002 0.006333 0.0002 0.0063330 0.483 NA AAMP|AIP|ARC|BHMT2|CALR|CCT5|CCT6A|CDC37L1|CLPX|CRABP1|DNAJB1|DNAJB4|EPHB2|FRS2|GAK|GEMIN2|HCK|HSP90AA1|HSPA1A|HSPB6|HSPD1|HTRA2|NELFA|NUDC|OGG1|PASK|PEX5|PIKFYVE|POLR3K|PRKCI|PTGES3|RUVBL2|SHQ1|SPHK1|SRSF10|ST13|TCP1|TOR1A|TUBB4B|UNC13B|USP33|
cellular component assembly GO:0022607 45 22 2.386422 0.0025 0.059375 0.0072 0.1140000 0.560 NA ARC|CALR|CHAF1A|CLGN|DDX46|EPHB2|GAK|GEMIN2|HSP90AA1|HSPA1A|HSPA9|HSPD1|PFDN6|PIKFYVE|PTGES3|RUVBL2|SHQ1|SRSF10|TAPBP|TCP1|UNC13B|ZNF207|
organelle organization GO:0006996 34 20 2.356244 0.0032 0.060800 0.0155 0.1636111 0.956 NA ARC|CALR|GAK|HSP90AA1|HSPA1A|HSPA9|HSPD1|HTRA2|NUDC|PEX5|PIKFYVE|PRKCI|PTGES3|RUVBL2|TOMM20|TOR1A|TUBB4B|UNC13B|VPS8|ZNF207|
cellular component organization GO:0016043 68 35 2.120207 0.0036 0.057000 0.0070 0.1662500 0.735 NA ARC|CALR|CHAF1A|CLGN|DDX46|EPHB2|FBLN2|GAK|GEMIN2|HCK|HSP90AA1|HSPA1A|HSPA9|HSPD1|HTRA2|NUDC|PEX5|PFDN6|PIKFYVE|PRKCI|PTGES3|RUVBL2|SEMA3B|SHQ1|SRSF10|SULF1|TAPBP|TCP1|TOMM20|TOR1A|TUBB4B|UNC13B|USP33|VPS8|ZNF207|

Use Precision Recall with gene scores

We will use the same scores file from the example above

precRecallOut = precRecall(annotation = 'GPL96',
                           scores = scores,
                           scoreColumn = 1,
                           iterations = 10000,
                           bigIsBetter = FALSE,
                           logTrans = TRUE)
## Attempting to download annotation file
head(precRecallOut$results) %>% knitr::kable()
Name ID NumProbes NumGenes RawScore Pval CorrectedPvalue MFPvalue CorrectedMFPvalue Multifunctionality Same as GeneMembers
binding GO:0005488 143 81 0.9992282 0.0000 0.0000000 0.0000 0.0000000 0.486 NA AAMP|AIP|ARC|ARF3|BHMT2|C5AR2|CACNA1F|CALR|CCNG1|CCT5|CCT6A|CCT8L2|CDC37L1|CHAF1A|CLGN|CLPX|CPT1A|CRABP1|DDX46|DMBT1|DNAJB1|DNAJB4|DZIP3|EPHB2|FBLN2|FOXB1|FPR3|FRS2|GAK|GEMIN2|GPR17|HCK|HMGCR|HSP90AA1|HSPA1A|HSPA9|HSPB6|HSPD1|HTRA2|ITIH2|KCNJ1|LIPF|MAN1B1|NELFA|NR2E3|NUDC|OGG1|PASK|PEX5|PFDN6|PIKFYVE|PLCH1|POLR3K|PPARA|PRKCI|PRPSAP1|PTGES3|RUVBL2|SEMA3B|SHOX2|SHQ1|SLC22A14|SLC24A1|SPHK1|SRSF10|ST13|SULF1|TAPBP|TBKBP1|TCP1|TNFRSF12A|TOMM20|TOR1A|TUBB4B|UGGT1|UNC13B|USP33|VPS8|YIPF2|ZCCHC8|ZNF207|
protein folding GO:0006457 40 24 0.7176581 0.0000 0.0000000 0.0000 0.0000000 0.214 NA AIP|CALR|CCT5|CCT6A|CCT8L2|CDC37L1|CLGN|CLPX|DNAJB1|DNAJB4|GAK|HSP90AA1|HSPA1A|HSPA9|HSPB6|HSPD1|NUDC|PFDN6|PTGES3|RUVBL2|ST13|TCP1|TOR1A|UGGT1|
unfolded protein binding GO:0051082 52 29 0.8507590 0.0000 0.0000000 0.0000 0.0000000 0.258 NA AIP|CALR|CCT5|CCT6A|CCT8L2|CDC37L1|CHAF1A|CLGN|CLPX|DNAJB1|DNAJB4|HSP90AA1|HSPA1A|HSPA9|HSPB6|HSPD1|HTRA2|NUDC|PFDN6|PTGES3|RUVBL2|SHQ1|SRSF10|TAPBP|TCP1|TOMM20|TOR1A|TUBB4B|UGGT1|
cytosol GO:0005829 74 41 0.7108333 0.0003 0.0071250 0.0005 0.0118750 0.483 NA AAMP|AIP|ARC|BHMT2|CALR|CCT5|CCT6A|CDC37L1|CLPX|CRABP1|DNAJB1|DNAJB4|EPHB2|FRS2|GAK|GEMIN2|HCK|HSP90AA1|HSPA1A|HSPB6|HSPD1|HTRA2|NELFA|NUDC|OGG1|PASK|PEX5|PIKFYVE|POLR3K|PRKCI|PTGES3|RUVBL2|SHQ1|SPHK1|SRSF10|ST13|TCP1|TOR1A|TUBB4B|UNC13B|USP33|
protein binding GO:0005515 127 73 0.9569410 0.0005 0.0095000 0.0006 0.0114000 0.369 NA AAMP|AIP|ARC|ARF3|C5AR2|CALR|CCNG1|CCT5|CCT6A|CCT8L2|CDC37L1|CHAF1A|CLGN|CLPX|CPT1A|CRABP1|DDX46|DMBT1|DNAJB1|DNAJB4|DZIP3|EPHB2|FBLN2|FOXB1|FPR3|FRS2|GAK|GEMIN2|GPR17|HCK|HMGCR|HSP90AA1|HSPA1A|HSPA9|HSPB6|HSPD1|HTRA2|ITIH2|NELFA|NR2E3|NUDC|OGG1|PASK|PEX5|PFDN6|PIKFYVE|POLR3K|PPARA|PRKCI|PRPSAP1|PTGES3|RUVBL2|SEMA3B|SHQ1|SLC22A14|SLC24A1|SPHK1|SRSF10|ST13|TAPBP|TBKBP1|TCP1|TNFRSF12A|TOMM20|TOR1A|TUBB4B|UGGT1|UNC13B|USP33|VPS8|YIPF2|ZCCHC8|ZNF207|
cellular anatomical entity GO:0110165 142 80 0.9860952 0.0011 0.0174167 0.0014 0.0221667 0.442 NA AAMP|AIP|ARC|ARF3|BHMT2|C5AR2|CACNA1F|CALR|CCNG1|CCT5|CCT6A|CDC37L1|CHAF1A|CLGN|CLPX|CPT1A|CRABP1|DDX46|DMBT1|DNAJB1|DNAJB4|DZIP3|EPHB2|FBLN2|FOXB1|FPR3|FRS2|GAK|GEMIN2|GPR17|HCK|HMGCR|HSP90AA1|HSPA1A|HSPA9|HSPB6|HSPD1|HTRA2|ITIH2|KCNJ1|LIPF|MAN1B1|NELFA|NR2E3|NUDC|OGG1|PASK|PEX5|PFDN6|PIKFYVE|PLCH1|POLR3K|PPARA|PRKCI|PRPSAP1|PTGES3|RUVBL2|SEMA3B|SHOX2|SHQ1|SLC22A14|SLC24A1|SPHK1|SRSF10|ST13|SULF1|TAPBP|TBKBP1|TCP1|TNFRSF12A|TOMM20|TOR1A|TUBB4B|UGGT1|UNC13B|USP33|VPS8|YIPF2|ZCCHC8|ZNF207|

Use ORA with a hitlist

library(dplyr)


# genes for GO:0051082
hitlist = c("AAMP", "AFG3L2", "AHSP", "AIP", "AIPL1", "APCS", "BBS12", 
            "CALR", "CALR3", "CANX", "CCDC115", "CCT2", "CCT3", "CCT4", "CCT5", 
            "CCT6A", "CCT6B", "CCT7", "CCT8", "CCT8L1P", "CCT8L2", "CDC37", 
            "CDC37L1", "CHAF1A", "CHAF1B", "CLGN", "CLN3", "CLPX", "CRYAA", 
            "CRYAB", "DNAJA1", "DNAJA2", "DNAJA3", "DNAJA4", "DNAJB1", "DNAJB11", 
            "DNAJB13", "DNAJB2", "DNAJB4", "DNAJB5", "DNAJB6", "DNAJB8", 
            "DNAJC4", "DZIP3", "ERLEC1", "ERO1B", "FYCO1", "GRPEL1", "GRPEL2", 
            "GRXCR2", "HEATR3", "HSP90AA1", "HSP90AA2P", "HSP90AA4P", "HSP90AA5P", 
            "HSP90AB1", "HSP90AB2P", "HSP90AB3P", "HSP90AB4P", "HSP90B1", 
            "HSP90B2P", "HSPA1A", "HSPA1B", "HSPA1L", "HSPA2", "HSPA5", "HSPA6", 
            "HSPA8", "HSPA9", "HSPB6", "HSPD1", "HSPE1", "HTRA2", "LMAN1", 
            "MDN1", "MKKS", "NAP1L4", "NDUFAF1", "NPM1", "NUDC", "NUDCD2", 
            "NUDCD3", "PDRG1", "PET100", "PFDN1", "PFDN2", "PFDN4", "PFDN5", 
            "PFDN6", "PIKFYVE", "PPIA", "PPIB", "PTGES3", "RP2", "RUVBL2", 
            "SCAP", "SCG5", "SERPINH1", "SHQ1", "SIL1", "SPG7", "SRSF10", 
            "SRSF12", "ST13", "SYVN1", "TAPBP", "TCP1", "TMEM67", "TOMM20", 
            "TOR1A", "TRAP1", "TTC1", "TUBB4B", "UGGT1", "ZFYVE21")
oraOut = ora(annotation = 'Generic_human',
             hitlist = hitlist)

head(oraOut$results) %>% knitr::kable()
Name ID NumProbes NumGenes RawScore Pval CorrectedPvalue MFPvalue CorrectedMFPvalue Multifunctionality Same as GeneMembers
unfolded protein binding GO:0051082 124 124 105 0 0 0 0 0.674 NA AFG3L2|AHSP|AIP|AIPL1|APCS|CALR|CALR3|CANX|CCDC115|CCT2|CCT3|CCT4|CCT5|CCT6A|CCT6B|CCT7|CCT8|CCT8L1P|CCT8L2|CDC37|CDC37L1|CHAF1A|CHAF1B|CLGN|CLPX|CLU|CRYAA|CRYAB|DNAJA1|DNAJA2|DNAJA3|DNAJA4|DNAJB1|DNAJB11|DNAJB13|DNAJB2|DNAJB3|DNAJB4|DNAJB5|DNAJB6|DNAJB7|DNAJB8|DNAJC4|ERLEC1|ERN1|ERN2|ERO1B|GRPEL1|GRPEL2|HEATR3|HSP90AA1|HSP90AA2P|HSP90AA4P|HSP90AA5P|HSP90AB1|HSP90AB2P|HSP90AB3P|HSP90AB4P|HSP90B1|HSP90B2P|HSPA13|HSPA14|HSPA1A|HSPA1B|HSPA1L|HSPA2|HSPA5|HSPA6|HSPA7|HSPA8|HSPA9|HSPB1|HSPB2|HSPB6|HSPD1|HSPE1|HTRA2|HYOU1|LMAN1|MKKS|NACA|NACA2|NACA4P|NACAD|NAP1L4|NDUFAF1|NPM1|NUDC|NUDCD2|NUDCD3|PDRG1|PET100|PFDN1|PFDN2|PFDN4|PFDN5|PFDN6|PPIA|PPIB|PTGES3|RP2|RUVBL2|SCAP|SCG5|SERPINH1|SHQ1|SIL1|SPG7|SRSF10|SRSF12|SSUH2|SYVN1|TAPBP|TCP1|TIMM10B|TMEM67|TOMM20|TOR1A|TRAP1|TTC1|TUBB4B|UGGT1|UGGT2|VBP1|
protein folding chaperone GO:0044183 52 52 33 0 0 0 0 0.640 NA CALR|CALR3|CCDC47|CCT2|CCT3|CCT4|CCT5|CCT6A|CCT6B|CCT7|CCT8|CCT8L1P|CCT8L2|CD74|CLGN|CLPX|DFFA|DNAJB1|DNAJB3|DNAJB6|DNAJB7|DNAJB8|FKBP8|HSP90AA1|HSP90AB1|HSPA13|HSPA14|HSPA1A|HSPA1B|HSPA1L|HSPA2|HSPA4|HSPA4L|HSPA5|HSPA6|HSPA7|HSPA8|HSPA9|HSPB1|HSPD1|HSPE1|HSPH1|HYOU1|LYRM7|PDCL3|PFDN1|PFDN2|RIC3|TCP1|TOR1A|WDR83OS|ZMYND10|
chaperone-mediated protein folding GO:0061077 70 70 30 0 0 0 0 0.676 NA BAG1|CCT2|CCT3|CCT4|CCT5|CCT6A|CCT7|CCT8|CD74|CHORDC1|CLU|CRTAP|CSNK2A1|DFFA|DNAJB1|DNAJB12|DNAJB13|DNAJB14|DNAJB2|DNAJB3|DNAJB4|DNAJB5|DNAJB6|DNAJB7|DNAJB8|DNAJC18|DNAJC24|DNAJC5|DNAJC7|ERO1A|FKBP11|FKBP1A|FKBP1B|FKBP2|FKBP4|FKBP5|GAK|HSPA13|HSPA14|HSPA1A|HSPA1B|HSPA1L|HSPA2|HSPA5|HSPA6|HSPA7|HSPA8|HSPA9|HSPB1|HSPB6|HSPE1|HSPH1|P3H1|PDCL3|PDIA4|PEX19|PPIB|PPID|PTGES3|SDF2|SDF2L1|ST13|TCP1|TOR1A|TOR1B|TOR2A|TRAP1|UMOD|UNC45A|UNC45B|
ATP-dependent protein folding chaperone GO:0140662 30 30 23 0 0 0 0 0.612 NA CCT2|CCT3|CCT4|CCT5|CCT6A|CCT6B|CCT7|CCT8|CCT8L1P|CCT8L2|CLPX|HSPA13|HSPA14|HSPA1A|HSPA1B|HSPA1L|HSPA2|HSPA4|HSPA4L|HSPA5|HSPA6|HSPA7|HSPA8|HSPA9|HSPD1|HSPE1|HSPH1|HYOU1|TCP1|TOR1A|
chaperone complex GO:0101031 42 42 20 0 0 0 0 0.526 NA BAG2|BAG3|CCDC47|CCT2|CCT3|CCT4|CCT5|CCT6A|CCT6B|CCT7|CCT8|CCT8L1P|CCT8L2|CDC37|DNAAF2|DNAJB11|DNAJC9|HSF1|HSP90AB1|HSPA8|HSPB8|PDRG1|PFDN2|PFDN6|PIH1D2|PPP5C|PSMG1|PSMG2|PTGES3|RPAP3|RUVBL1|RUVBL2|SDF2|SDF2L1|SPAG1|STIP1|STUB1|TCP1|TSC1|URI1|UXT|WDR83OS|
chaperone binding GO:0051087 106 106 25 0 0 0 0 0.927 NA AHSA1|AHSA2P|ALB|AMFR|ATP1A1|ATP1A2|ATP1A3|ATP7A|BAG1|BAG2|BAG3|BAG4|BAG5|BAK1|BAX|BIN1|BIRC2|BIRC5|CALR|CDC25A|CDC37|CDC37L1|CDKN1B|CFTR|CLU|CP|CTSC|DNAAF6|DNAJA1|DNAJA2|DNAJA4|DNAJB1|DNAJB13|DNAJB2|DNAJB3|DNAJB4|DNAJB5|DNAJB6|DNAJB7|DNAJB8|DNAJB9|DNAJC1|DNAJC10|DNAJC3|DNAJC9|DNLZ|ERP29|FGB|FICD|FN1|FNIP1|FNIP2|GAK|GET4|GNB5|GRN|GRPEL1|GRPEL2|HES1|HLA-B|HSCB|HSPA2|HSPA5|HSPA8|HSPB6|HSPD1|HSPE1|HYOU1|LRP2|MAPT|OGDH|PACRG|PDPN|PFDN4|PFDN6|PLG|PRKN|PRNP|PTGES3|PTGES3L|RNF207|SACS|SCARB2|SDF2L1|SLC12A2|SLC25A17|SOD1|STUB1|SUGT1|SYVN1|TBCA|TBCC|TBCD|TBCE|TERT|TFRC|TIMM10|TIMM44|TIMM9|TP53|TSACC|TSC1|UBL4A|USP13|VWF|WRAP53|

Using your own GO annotations

If you want to use your own GO annotations instead of getting files provided by Pavlidis Lab, you can use makeAnnotation after turning your annotations into a list. See the example below

library('org.Hs.eg.db') # get go terms from bioconductor 
goAnnots = as.list(org.Hs.egGO)
goAnnots = goAnnots %>% lapply(names)
goAnnots %>% head
## $`1`
##  [1] "GO:0008150" "GO:0005576" "GO:0005576" "GO:0005576" "GO:0005615"
##  [6] "GO:0031093" "GO:0034774" "GO:0062023" "GO:0070062" "GO:0072562"
## [11] "GO:1904813" "GO:0003674"
## 
## $`2`
##  [1] "GO:0001869" "GO:0010951" "GO:0048863" "GO:0005576" "GO:0005576"
##  [6] "GO:0005615" "GO:0031093" "GO:0062023" "GO:0070062" "GO:0072562"
## [11] "GO:0002020" "GO:0002020" "GO:0004866" "GO:0004867" "GO:0005102"
## [16] "GO:0005515" "GO:0019838" "GO:0019899" "GO:0019959" "GO:0019966"
## [21] "GO:0043120" "GO:0048306"
## 
## $`3`
## NULL
## 
## $`9`
## [1] "GO:0006805" "GO:0005829" "GO:0004060" "GO:0004060"
## 
## $`10`
## [1] "GO:0006805" "GO:0005829" "GO:0004060" "GO:0004060" "GO:0005515"
## 
## $`11`
## NULL

The goAnnots object we created has go terms per entrez ID. Similar lists can be obtained from other species db packages in bioconductor and some array annotation packages. We will now use the makeAnnotation function to create our annotation file. This file will have the names of this list (entrez IDs) as gene identifiers so any score or hitlist file you provide should have the entrez IDs as well.

makeAnnotation only needs the list with gene identifiers and go terms to work. But if you want to have a complete annotation file you can also provide gene symbols and gene names. Gene names have no effect on the analysis. Gene symbols matter if you are providing custom gene sets and using “Option 2” or if same genes are represented by multiple gene identifiers (eg. probes). Gene symbols will also be returned in the GeneMembers column of the output. If they are not provided, gene IDs will also be used as gene symbols

Here we’ll set them both for good measure.

geneSymbols = as.list(org.Hs.egSYMBOL) %>% unlist
geneName = as.list(org.Hs.egGENENAME) %>% unlist

annotation = makeAnnotation(goAnnots,
                            symbol = geneSymbols,
                            name = geneName,
                            output = NULL, # you can choose to save the annotation to a file
                            return = TRUE) # if you only want to save it to a file, you don't need to return

Now that we have the annotation object, we can use it to run an analysis. We’ll try to generate a hitlist only composed of genes annotated with GO:0051082.

mockHitlist = goAnnots %>% sapply(function(x){'GO:0051082' %in% x}) %>% 
    {goAnnots[.]} %>% 
    names

mockHitlist %>% head
## [1] "325"  "811"  "821"  "871"  "908"  "1047"
oraOut = ora(annotation = annotation,
             hitlist = mockHitlist)

head(oraOut$results) %>% knitr::kable()
Name ID NumProbes NumGenes RawScore Pval CorrectedPvalue MFPvalue CorrectedMFPvalue Multifunctionality Same as GeneMembers
unfolded protein binding GO:0051082 122 122 122.000 0E00 0E00 1.845E-306 7.861E-303 0.706 NA AFG3L2|AHSP|AIP|AIPL1|APCS|CALR|CALR3|CANX|CCDC115|CCT2|CCT3|CCT4|CCT5|CCT6A|CCT6B|CCT7|CCT8|CCT8L1P|CCT8L2|CDC37|CDC37L1|CHAF1A|CHAF1B|CLGN|CLPX|CLU|CRYAA|CRYAB|DNAJA1|DNAJA2|DNAJA3|DNAJA4|DNAJB1|DNAJB11|DNAJB13|DNAJB2|DNAJB3|DNAJB4|DNAJB5|DNAJB6|DNAJB7|DNAJB8|DNAJC4|ERLEC1|ERN1|ERN2|ERO1B|GRPEL1|GRPEL2|HEATR3|HSP90AA1|HSP90AA2P|HSP90AA4P|HSP90AA5P|HSP90AB1|HSP90AB2P|HSP90AB3P|HSP90AB4P|HSP90B1|HSP90B2P|HSPA13|HSPA14|HSPA1A|HSPA1B|HSPA1L|HSPA2|HSPA5|HSPA6|HSPA7|HSPA8|HSPA9|HSPB6|HSPD1|HSPE1|HTRA2|HYOU1|LMAN1|MKKS|NACA|NACA2|NACA4P|NACAD|NAP1L4|NDUFAF1|NPM1|NUDC|NUDCD2|NUDCD3|PDRG1|PET100|PFDN1|PFDN2|PFDN4|PFDN5|PFDN6|PPIA|PPIB|PTGES3|RP2|RUVBL2|SCAP|SCG5|SERPINH1|SHQ1|SIL1|SPG7|SRSF10|SRSF12|ST13|SYVN1|TAPBP|TCP1|TIMM10B|TMEM67|TOMM20|TOR1A|TRAP1|TTC1|TUBB4B|UGGT1|UGGT2|VBP1|
protein folding chaperone GO:0044183 40 40 31.000 3.213E-63 6.843E-60 1.342E-57 2.858E-54 0.613 NA CALR|CALR3|CCDC47|CCT2|CCT3|CCT4|CCT5|CCT6A|CCT6B|CCT7|CCT8|CD74|CLGN|DFFA|DNAJB1|DNAJB3|DNAJB6|DNAJB7|DNAJB8|FKBP8|HSP90AB1|HSPA13|HSPA14|HSPA1A|HSPA1B|HSPA1L|HSPA2|HSPA5|HSPA6|HSPA7|HSPA8|HSPA9|HSPB1|PDCL3|PFDN1|PFDN2|RIC3|TCP1|WDR83OS|ZMYND10|
chaperone-mediated protein folding GO:0061077 65 65 29.000 1.305E-48 1.853E-45 3.56E-44 5.055E-41 0.636 NA BAG1|CCT2|CD74|CHORDC1|CLU|CRTAP|CSNK2A1|DFFA|DNAJB1|DNAJB12|DNAJB13|DNAJB14|DNAJB2|DNAJB3|DNAJB4|DNAJB5|DNAJB6|DNAJB7|DNAJB8|DNAJC18|DNAJC24|DNAJC5|DNAJC7|ERO1A|FKBP11|FKBP1A|FKBP1B|FKBP2|FKBP4|FKBP5|GAK|HSPA13|HSPA14|HSPA1A|HSPA1B|HSPA1L|HSPA2|HSPA5|HSPA6|HSPA7|HSPA8|HSPA9|HSPB1|HSPB6|HSPE1|HSPH1|P3H1|PDCL3|PDIA4|PEX19|PPIB|PPID|PTGES3|SDF2|SDF2L1|SGTA|ST13|ST13P4|ST13P5|TOR1A|TOR1B|TOR2A|TRAP1|UNC45A|UNC45B|
chaperone binding GO:0051087 107 107 30.000 6.258E-43 6.664E-40 4.248E-39 4.524E-36 0.928 NA AHSA1|AHSA2P|ALB|AMFR|ATP1A1|ATP1A2|ATP1A3|ATP7A|BAG1|BAG2|BAG3|BAG4|BAG5|BAK1|BAX|BIN1|BIRC2|BIRC5|CALR|CDC25A|CDC37|CDC37L1|CDKN1B|CFTR|CLU|CP|CTSC|DNAAF6|DNAJA1|DNAJA2|DNAJA4|DNAJB1|DNAJB13|DNAJB2|DNAJB3|DNAJB4|DNAJB5|DNAJB6|DNAJB7|DNAJB8|DNAJB9|DNAJC1|DNAJC10|DNAJC3|DNAJC9|DNLZ|ERP29|FGB|FICD|FN1|FNIP1|FNIP2|GAK|GET4|GNB5|GRN|GRPEL1|GRPEL2|HES1|HLA-B|HSCB|HSPA2|HSPA5|HSPA8|HSPB6|HSPD1|HSPE1|HYOU1|LRP2|MAPT|OGDH|PACRG|PDPN|PFDN4|PFDN6|PLG|PRKN|PRNP|PTGES3|PTGES3L|RNF207|SACS|SCARB2|SDF2L1|SLC12A2|SLC25A17|SOD1|ST13|STIP1|STUB1|SUGT1|SYVN1|TBCA|TBCC|TBCD|TBCE|TERT|TIMM10|TIMM44|TIMM9|TP53|TSACC|TSC1|UBL4A|USP13|VWF|WRAP53|
‘de novo’ protein folding GO:0006458 43 43 22.000 1.158E-38 9.867E-36 2.357E-36 2.008E-33 0.569 NA BAG1|CCT2|CD74|CHCHD4|DNAJB1|DNAJB12|DNAJB13|DNAJB14|DNAJB4|DNAJB5|DNAJC18|DNAJC2|DNAJC7|ENTPD5|ERO1A|FKBP1A|FKBP1B|GAK|HSPA13|HSPA14|HSPA1A|HSPA1B|HSPA1L|HSPA2|HSPA5|HSPA6|HSPA7|HSPA8|HSPA9|HSPD1|HSPE1|HSPH1|PTGES3|SDF2|SDF2L1|SELENOF|ST13|ST13P4|ST13P5|TOR1A|TOR1B|TOR2A|UGGT1|
‘de novo’ post-translational protein folding GO:0051084 39 39 21.000 1.423E-37 1.011E-34 3.171E-35 2.251E-32 0.450 NA BAG1|CCT2|CD74|CHCHD4|DNAJB1|DNAJB12|DNAJB13|DNAJB14|DNAJB4|DNAJB5|DNAJC18|DNAJC7|ENTPD5|ERO1A|GAK|HSPA13|HSPA14|HSPA1A|HSPA1B|HSPA1L|HSPA2|HSPA5|HSPA6|HSPA7|HSPA8|HSPA9|HSPE1|HSPH1|PTGES3|SDF2|SDF2L1|SELENOF|ST13|ST13P4|ST13P5|TOR1A|TOR1B|TOR2A|UGGT1|

We can see GO:0051082 is the top scoring hit as expected.