| merge_enrich_terms {ViSEAGO} | R Documentation |
combine results from GO enrichment tests (obtained with topGO package) or from fgsea (obtained with runfgsea method),
for a given ontology (MF, BP, or CC).
merge_enrich_terms(Input, cutoff = 0.01, envir = .GlobalEnv) ## S4 method for signature 'list' merge_enrich_terms(Input, cutoff = 0.01, envir = .GlobalEnv)
Input |
a list containing named elements. Each element must contain the name of:
|
cutoff |
default pvalue cutoff (default to 0.01). Several cutoff can be use in the same order as list elements. |
envir |
objects environment (default to .GlobalEnv). |
This method extracts for each result of GO enrichment test: informations about GO term (identifiant, name, and description), gene frequency (number of significant genes / Annotated genes), pvalue, -log10(pvalue), significant genes identifiants (GeneID, or Ensembl ID, or uniprot accession), and gene symbols. At the last, this method builds a merged data.table of enriched GO terms at least once and provides all mentionned columns.
an enrich_GO_terms-class object.
Matt Dowle and Arun Srinivasan (2017). data.table: Extension of data.frame. R package version 1.10.4. https://CRAN.R-project.org/package=data.table
Herve Pages, Marc Carlson, Seth Falcon and Nianhua Li (2017). AnnotationDbi: Annotation Database Interface. R package version 1.38.0.
Other GO_terms:
GOcount(),
GOterms_heatmap(),
annotate(),
create_topGOdata(),
gene2GO-class,
runfgsea()
## topGO terms enrichment
# load genes identifiants (GeneID,ENS...) universe/background (Expressed genes)
background_L<-scan(
system.file(
"extdata/data/input",
"background_L.txt",
package = "ViSEAGO"
),
quiet=TRUE,
what=""
)
# load Differentialy Expressed (DE) gene identifiants from files
PregnantvslactateDE<-scan(
system.file(
"extdata/data/input",
"pregnantvslactateDE.txt",
package = "ViSEAGO"
),
quiet=TRUE,
what=""
)
VirginvslactateDE<-scan(
system.file(
"extdata/data/input",
"virginvslactateDE.txt",
package = "ViSEAGO"
),
quiet=TRUE,
what=""
)
VirginvspregnantDE<-scan(
system.file(
"extdata/data/input",
"virginvspregnantDE.txt",
package="ViSEAGO"
),
quiet=TRUE,
what=""
)
## Not run:
# connect to Bioconductor
Bioconductor<-ViSEAGO::Bioconductor2GO()
# load GO annotations from Bioconductor
myGENE2GO<-ViSEAGO::annotate(
"org.Mm.eg.db",
Bioconductor
)
# create topGOdata for BP for each list of DE genes
BP_Pregnantvslactate<-ViSEAGO::create_topGOdata(
geneSel=PregnantvslactateDE,
allGenes=background_L,
gene2GO=myGENE2GO,
ont="BP",
nodeSize=5
)
BP_Virginvslactate<-ViSEAGO::create_topGOdata(
geneSel=VirginvslactateDE,
allGenes=background_L,
gene2GO=myGENE2GO,
ont="BP",
nodeSize=5
)
BP_Virginvspregnant<-ViSEAGO::create_topGOdata(
geneSel=VirginvspregnantDE,
allGenes=background_L,
gene2GO=myGENE2GO,
ont="BP",
nodeSize=5
)
# perform TopGO tests
elim_BP_Pregnantvslactate<-topGO::runTest(
BP_L_pregnantvslactate,
algorithm ="elim",
statistic = "fisher"
)
elim_BP_Virginvslactate<-topGO::runTest(
BP_L_virginvslactate,
algorithm ="elim",
statistic = "fisher"
)
elim_BP_Virginvspregnant<-topGO::runTest(
BP_L_virginvspregnant,
algorithm ="elim",
statistic = "fisher"
)
# merge topGO results
BP_sResults<-ViSEAGO::merge_enrich_terms(
Input=list(
Pregnantvslactate=c("BP_Pregnantvslactate","elim_BP_Pregnantvslactate"),
Virginvslactate=c("BP_Virginvslactate","elim_BP_Virginvslactate"),
Virginvspregnant=c("BP_Virginvspregnant","elim_BP_Virginvspregnant")
)
)
## End(Not run)
## fgsea analysis
# load gene identifiants and padj test results from Differential Analysis complete tables
PregnantvsLactate<-data.table::fread(
system.file(
"extdata/data/input",
"pregnantvslactate.complete.txt",
package = "ViSEAGO"
),
select = c("Id","padj")
)
VirginvsLactate<-data.table::fread(
system.file(
"extdata/data/input",
"virginvslactate.complete.txt",
package = "ViSEAGO"
),
select = c("Id","padj")
)
VirginvsPregnant<-data.table::fread(
system.file(
"extdata/data/input",
"virginvspregnant.complete.txt",
package = "ViSEAGO"
),
select = c("Id","padj")
)
# rank Id based on statistical value (padj)
PregnantvsLactate<-data.table::setorder(PregnantvsLactate,padj)
VirginvsLactate<-data.table::setorder(VirginvsLactate,padj)
VirginvsPregnant<-data.table::setorder(VirginvsPregnant,padj)
## Not run:
# connect to Bioconductor
Bioconductor<-ViSEAGO::Bioconductor2GO()
# load GO annotations from Bioconductor
myGENE2GO<-ViSEAGO::annotate(
"org.Mm.eg.db",
Bioconductor
)
# perform fgseaMultilevel tests
BP_PregnantvsLactate<-runfgsea(
geneSel=PregnantvsLactate,
gene2GO=myGENE2GO,
ont="BP",
params = list(
scoreType = "pos",
minSize=5
)
)
BP_VirginvsLactate<-runfgsea(
geneSel=VirginvsLactate,
gene2GO=myGENE2GO,
ont="BP",
params = list(
scoreType = "pos",
minSize=5
)
)
BP_VirginvsPregnant<-runfgsea(
geneSel=VirginvsPregnant,
gene2GO=myGENE2GO,
ont="BP",
params = list(
scoreType = "pos",
minSize=5
)
)
# merge fgsea results
BP_sResults<-merge_enrich_terms(
cutoff=0.01,
Input=list(
PregnantvsLactate="BP_PregnantvsLactate",
VirginvsLactate="BP_VirginvsLactate",
VirginvsPregnant="BP_VirginvsPregnant"
)
)
## End(Not run)