<- params$Condition_1
Condition_1 <- params$Condition_2 Condition_2
Top GO Analysis for Ret AgvsInh
library(RNASeqBulkExploratory)
library(DT)
library(ggplot2)
library(AnnotationDbi)
## Loading required package: stats4
## Loading required package: BiocGenerics
##
## Attaching package: 'BiocGenerics'
## The following objects are masked from 'package:stats':
##
## IQR, mad, sd, var, xtabs
## The following objects are masked from 'package:base':
##
## anyDuplicated, aperm, append, as.data.frame, basename, cbind,
## colnames, dirname, do.call, duplicated, eval, evalq, Filter, Find,
## get, grep, grepl, intersect, is.unsorted, lapply, Map, mapply,
## match, mget, order, paste, pmax, pmax.int, pmin, pmin.int,
## Position, rank, rbind, Reduce, rownames, sapply, setdiff, sort,
## table, tapply, union, unique, unsplit, which.max, which.min
## Loading required package: Biobase
## Welcome to Bioconductor
##
## Vignettes contain introductory material; view with
## 'browseVignettes()'. To cite Bioconductor, see
## 'citation("Biobase")', and for packages 'citation("pkgname")'.
## Loading required package: IRanges
## Loading required package: S4Vectors
##
## Attaching package: 'S4Vectors'
## The following objects are masked from 'package:base':
##
## expand.grid, I, unname
library(org.Hs.eg.db)
##
library(gridExtra)
##
## Attaching package: 'gridExtra'
## The following object is masked from 'package:Biobase':
##
## combine
## The following object is masked from 'package:BiocGenerics':
##
## combine
library(RColorBrewer)
library(viridis)
## Loading required package: viridisLite
library(topGO)
## Loading required package: graph
## Loading required package: GO.db
##
## Loading required package: SparseM
##
## Attaching package: 'SparseM'
## The following object is masked from 'package:base':
##
## backsolve
##
## groupGOTerms: GOBPTerm, GOMFTerm, GOCCTerm environments built.
##
## Attaching package: 'topGO'
## The following object is masked from 'package:IRanges':
##
## members
library(data.table)
##
## Attaching package: 'data.table'
## The following object is masked from 'package:IRanges':
##
## shift
## The following objects are masked from 'package:S4Vectors':
##
## first, second
library(tidyr)
##
## Attaching package: 'tidyr'
## The following object is masked from 'package:S4Vectors':
##
## expand
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:data.table':
##
## between, first, last
## The following object is masked from 'package:graph':
##
## union
## The following object is masked from 'package:gridExtra':
##
## combine
## The following object is masked from 'package:AnnotationDbi':
##
## select
## The following objects are masked from 'package:IRanges':
##
## collapse, desc, intersect, setdiff, slice, union
## The following objects are masked from 'package:S4Vectors':
##
## first, intersect, rename, setdiff, setequal, union
## The following object is masked from 'package:Biobase':
##
## combine
## The following objects are masked from 'package:BiocGenerics':
##
## combine, intersect, setdiff, union
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(SummarizedExperiment)
## Loading required package: MatrixGenerics
## Loading required package: matrixStats
##
## Attaching package: 'matrixStats'
## The following object is masked from 'package:dplyr':
##
## count
## The following objects are masked from 'package:Biobase':
##
## anyMissing, rowMedians
##
## Attaching package: 'MatrixGenerics'
## The following objects are masked from '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, colVars, colWeightedMads,
## colWeightedMeans, colWeightedMedians, colWeightedSds,
## 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, rowRanks,
## rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,
## rowWeightedMads, rowWeightedMeans, rowWeightedMedians,
## rowWeightedSds, rowWeightedVars
## The following object is masked from 'package:Biobase':
##
## rowMedians
## Loading required package: GenomicRanges
## Loading required package: GenomeInfoDb
library(sechm)
source("../../plotGenesInTerm_v2.R")
<- params$Dataset
Dataset <- params$logFcTh
logFcTh <- params$FdrTh
FdrTh <- ifelse(is.null(params$OutputFolder), getwd(), params$OutputFolder)
OutputFolder
if (dir.exists(OutputFolder) == FALSE) {
dir.create(OutputFolder, recursive=TRUE)
}
# List with differential expression results
<- readRDS(params$DEAFile)
DEA
#SE object coming from DEA, but not containing specific contrast results
<- readRDS(params$SEFile) SE_DEA
if(! identical(rownames(SE_DEA), row.names(DEA[[Condition_1]][[Condition_2]]$Res))){
stop('Expression data in SE and results from differential espression analysis are inconsistent.')
}## Loading required package: DESeq2
rowData(SE_DEA) <- cbind(rowData(SE_DEA)[,1:6], DEA[[Condition_1]][[Condition_2]]$Res)
# Column names must be set to be compliant with the required format to be recognized by ORA
names(rowData(SE_DEA))[which(names(rowData(SE_DEA))=='log2FoldChange')] <- 'logFC'
names(rowData(SE_DEA))[which(names(rowData(SE_DEA))=='padj')] <- 'FDR'
#metadata(SE_DEA_Prel)$annotation <- 'hsa'
14305 genes in 21 samples have been testes for differential expression.
Imposing a threshold of 1 on the Log2FC and 0.01 on the FDR (as specified in parameters), 3541 genes are selected: 2171 up-regulated genes and 1370 down-regulated genes.
The results of the differential expression analysis are visualized by Volcano plot. An interactive version is included in the html (only genes with FDR < threshold), while a static version is saved.
plotVolcanoSE(SE=SE_DEA, FdrTh=FdrTh, logFcTh=logFcTh, FdrCeil=1e-10, logFcCeil=4)
Heatmaps for DEGs, showing scaled vst values.
<- dplyr::filter(data.frame(rowData(SE_DEA)), FDR < FdrTh & abs(logFC) > logFcTh)
DEGs
<- c('darkblue', "purple","white","lightgoldenrod1", 'goldenrod1')
ScaledCols
colData(SE_DEA)$Condition <- factor(colData(SE_DEA)$Condition, levels=c("CTL", "DMSO", "AhHyd_Ag", "AhHyd_Inh", "Andr_Ag", "Andr_Inh", "Estr_Ag", "Estr_Inh", "GC_Ag", "GC_Inh", "LivX_Ag", "LivX_Inh", "Ret_Ag", "Ret_Inh", "Thyr_Ag", "Thyr_Inh" ))
metadata(SE_DEA)$anno_colors <- list(Condition = c('DMSO' = 'grey30', 'CTL' = 'azure3',
'AhHyd_Ag'='#F8766D', 'AhHyd_Inh'='#F8766D50',
'Andr_Ag'='#fccb17', 'Andr_Inh'='#C49A0050',
"Estr_Ag"= '#53B400', "Estr_Inh"= '#53B40050',
'GC_Ag' = '#00C094', 'GC_Inh' = '#00C09450',
'LivX_Ag' = '#00B6EB', 'LivX_Inh' = '#00B6EB50',
'Ret_Ag' = '#A58AFF', 'Ret_Inh' = '#A58AFF50',
'Thyr_Ag' = '#FB61D7', 'Thyr_Inh' = '#FB61D750'
))
sechm(SE_DEA, features=DEGs$GeneName, assayName="vst", gaps_at="Condition", show_rownames=FALSE,
top_annotation=c('Condition'), hmcols=ScaledCols, show_colnames=TRUE,
do.scale=TRUE, breaks=0.85)
## `use_raster` is automatically set to TRUE for a matrix with more than
## 2000 rows. You can control `use_raster` argument by explicitly setting
## TRUE/FALSE to it.
##
## Set `ht_opt$message = FALSE` to turn off this message.
## 'magick' package is suggested to install to give better rasterization.
##
## Set `ht_opt$message = FALSE` to turn off this message.
Gene ontology enrichment analysis is performed on the set of 3541 genes using TopGO with Fisher statistics and weight01 algorithm.
For each specified domain of the ontology:
I generate vectors for the gene universe, all modulated genes, up-regulated genes and down-regulated genes in the format required by TopGo.
<- topGOGeneVectors(SE_DEA, FdrTh=FdrTh, logFcTh=logFcTh) GeneVectors
## Gene vector contains levels: 0,1
## Gene vector contains levels: 0,1
## Gene vector contains levels: 0,1
Therefore:
Then I set parameters according to the gene ontology domains to be evaluated. By default, Biological Process and Molecular Function domains are interrogated.
<- ifelse(length(grep('BP', params$TopGO))!=0, TRUE, FALSE)
BpEval <- ifelse(length(grep('MF', params$TopGO))!=0, TRUE, FALSE)
MfEval <- ifelse(length(grep('CC', params$TopGO))!=0, TRUE, FALSE) CcEval
On the basis of the analysis settings, the enrichment for Biological Process IS performed.
<- topGO::annFUN.org(whichOnto="BP", feasibleGenes=names(GeneVectors$DEGenes),
BPann mapping="org.Hs.eg.db", ID="symbol") %>% inverseList()
# Wrapper function for topGO analysis
<- topGOResults(Genes=GeneVectors$DEGenes, gene2GO=BPann, ontology='BP',
ResBPAll desc=NULL, nodeSize=15, algorithm='weight01', statistic='fisher',
EnTh=params$GoEnTh, PvalTh=params$GoPvalTh, minTerms=12, geneTh=4,
saveRes=TRUE, outDir=paste0(OutputFolder), fileName='BPAll')
## Gene vector contains levels: 0,1
##
## Building most specific GOs .....
## ( 11416 GO terms found. )
##
## Build GO DAG topology ..........
## ( 14877 GO terms and 33562 relations. )
##
## Annotating nodes ...............
## ( 12665 genes annotated to the GO terms. )
##
## -- Weight01 Algorithm --
##
## the algorithm is scoring 4814 nontrivial nodes
## parameters:
## test statistic: fisher
##
## Level 18: 1 nodes to be scored (0 eliminated genes)
##
## Level 17: 4 nodes to be scored (0 eliminated genes)
##
## Level 16: 12 nodes to be scored (18 eliminated genes)
##
## Level 15: 25 nodes to be scored (73 eliminated genes)
##
## Level 14: 56 nodes to be scored (235 eliminated genes)
##
## Level 13: 91 nodes to be scored (533 eliminated genes)
##
## Level 12: 156 nodes to be scored (1480 eliminated genes)
##
## Level 11: 335 nodes to be scored (3347 eliminated genes)
##
## Level 10: 535 nodes to be scored (5163 eliminated genes)
##
## Level 9: 683 nodes to be scored (6805 eliminated genes)
##
## Level 8: 736 nodes to be scored (8610 eliminated genes)
##
## Level 7: 782 nodes to be scored (10222 eliminated genes)
##
## Level 6: 656 nodes to be scored (11217 eliminated genes)
##
## Level 5: 404 nodes to be scored (11894 eliminated genes)
##
## Level 4: 226 nodes to be scored (12269 eliminated genes)
##
## Level 3: 93 nodes to be scored (12434 eliminated genes)
##
## Level 2: 18 nodes to be scored (12508 eliminated genes)
##
## Level 1: 1 nodes to be scored (12546 eliminated genes)
# Wrapper function for topGO analysis
<- topGOResults(Genes=GeneVectors$DEGenesDown, gene2GO=BPann, ontology='BP',
ResBPDown desc=NULL, nodeSize=15, algorithm='weight01', statistic='fisher',
EnTh=params$GoEnTh, PvalTh=params$GoPvalTh, minTerms=12, geneTh=4,
saveRes=TRUE, outDir=paste0(OutputFolder), fileName='BPDown')
## Gene vector contains levels: 0,1
##
## Building most specific GOs .....
## ( 11416 GO terms found. )
##
## Build GO DAG topology ..........
## ( 14877 GO terms and 33562 relations. )
##
## Annotating nodes ...............
## ( 12665 genes annotated to the GO terms. )
##
## -- Weight01 Algorithm --
##
## the algorithm is scoring 4602 nontrivial nodes
## parameters:
## test statistic: fisher
##
## Level 18: 1 nodes to be scored (0 eliminated genes)
##
## Level 17: 4 nodes to be scored (0 eliminated genes)
##
## Level 16: 10 nodes to be scored (18 eliminated genes)
##
## Level 15: 22 nodes to be scored (73 eliminated genes)
##
## Level 14: 49 nodes to be scored (214 eliminated genes)
##
## Level 13: 79 nodes to be scored (503 eliminated genes)
##
## Level 12: 145 nodes to be scored (1339 eliminated genes)
##
## Level 11: 310 nodes to be scored (3196 eliminated genes)
##
## Level 10: 501 nodes to be scored (5106 eliminated genes)
##
## Level 9: 651 nodes to be scored (6667 eliminated genes)
##
## Level 8: 704 nodes to be scored (8461 eliminated genes)
##
## Level 7: 749 nodes to be scored (10159 eliminated genes)
##
## Level 6: 643 nodes to be scored (11193 eliminated genes)
##
## Level 5: 401 nodes to be scored (11870 eliminated genes)
##
## Level 4: 221 nodes to be scored (12267 eliminated genes)
##
## Level 3: 93 nodes to be scored (12434 eliminated genes)
##
## Level 2: 18 nodes to be scored (12508 eliminated genes)
##
## Level 1: 1 nodes to be scored (12546 eliminated genes)
GOTable(ResBPDown$ResSel, maxGO=20)
<- topGOResults(Genes=GeneVectors$DEGenesUp, gene2GO=BPann, ontology='BP',
ResBPUp desc=NULL, nodeSize=15, algorithm='weight01', statistic='fisher',
EnTh=params$GoEnTh, PvalTh=params$GoPvalTh, minTerms=12, geneTh=4,
saveRes=TRUE, outDir=OutputFolder, fileName='BPUp')
## Gene vector contains levels: 0,1
##
## Building most specific GOs .....
## ( 11416 GO terms found. )
##
## Build GO DAG topology ..........
## ( 14877 GO terms and 33562 relations. )
##
## Annotating nodes ...............
## ( 12665 genes annotated to the GO terms. )
##
## -- Weight01 Algorithm --
##
## the algorithm is scoring 4603 nontrivial nodes
## parameters:
## test statistic: fisher
##
## Level 18: 1 nodes to be scored (0 eliminated genes)
##
## Level 17: 3 nodes to be scored (0 eliminated genes)
##
## Level 16: 11 nodes to be scored (18 eliminated genes)
##
## Level 15: 24 nodes to be scored (69 eliminated genes)
##
## Level 14: 53 nodes to be scored (215 eliminated genes)
##
## Level 13: 86 nodes to be scored (516 eliminated genes)
##
## Level 12: 139 nodes to be scored (1445 eliminated genes)
##
## Level 11: 303 nodes to be scored (3307 eliminated genes)
##
## Level 10: 484 nodes to be scored (5076 eliminated genes)
##
## Level 9: 645 nodes to be scored (6595 eliminated genes)
##
## Level 8: 706 nodes to be scored (8433 eliminated genes)
##
## Level 7: 768 nodes to be scored (10092 eliminated genes)
##
## Level 6: 647 nodes to be scored (11181 eliminated genes)
##
## Level 5: 399 nodes to be scored (11879 eliminated genes)
##
## Level 4: 223 nodes to be scored (12266 eliminated genes)
##
## Level 3: 92 nodes to be scored (12434 eliminated genes)
##
## Level 2: 18 nodes to be scored (12508 eliminated genes)
##
## Level 1: 1 nodes to be scored (12546 eliminated genes)
GOTable(ResBPUp$ResSel, maxGO=20)
topGOBarplotAll(TopGOResAll=ResBPAll$ResSel, TopGOResDown=ResBPDown$ResSel, TopGOResUp=ResBPUp$ResSel,
terms=8, pvalTh=0.01, plotTitle=NULL)
plotGenesInTerm_v2(ResBPAll$ResSel, ResBPAll$GOdata, SE_DEA, nterms=8, ngenes=12, plotTitle=NULL, Interactive=FALSE)
plotGenesInTerm_v2(ResBPDown$ResSel, ResBPDown$GOdata, SE_DEA, nterms=8, ngenes=12, plotTitle='Genes in Term - Down DEGs', Interactive=FALSE, fillCol='blue')
plotGenesInTerm_v2(ResBPUp$ResSel, ResBPUp$GOdata, SE_DEA, nterms=8, ngenes=12, plotTitle='Genes in Term - Up DEGs', Interactive=FALSE, fillCol='red')
On the basis of the analysis settings, the enrichment for Molecular Function IS performed.
<- topGO::annFUN.org(whichOnto='MF', feasibleGenes=names(GeneVectors$DEGenes),
MFann mapping='org.Hs.eg.db', ID='symbol') %>% inverseList()
# Wrapper function for topGO analysis
<- topGOResults(Genes=GeneVectors$DEGenes, gene2GO=MFann, ontology='MF',
ResMFAll desc=NULL, nodeSize=15, algorithm='weight01', statistic='fisher',
EnTh=params$GoEnTh, PvalTh=params$GoPvalTh, minTerms=12, geneTh=4,
saveRes=TRUE, outDir=OutputFolder, fileName='MFAll')
## Gene vector contains levels: 0,1
##
## Building most specific GOs .....
## ( 4060 GO terms found. )
##
## Build GO DAG topology ..........
## ( 4530 GO terms and 5903 relations. )
##
## Annotating nodes ...............
## ( 12999 genes annotated to the GO terms. )
##
## -- Weight01 Algorithm --
##
## the algorithm is scoring 817 nontrivial nodes
## parameters:
## test statistic: fisher
##
## Level 11: 7 nodes to be scored (0 eliminated genes)
##
## Level 10: 13 nodes to be scored (0 eliminated genes)
##
## Level 9: 31 nodes to be scored (152 eliminated genes)
##
## Level 8: 61 nodes to be scored (1213 eliminated genes)
##
## Level 7: 110 nodes to be scored (3201 eliminated genes)
##
## Level 6: 157 nodes to be scored (3858 eliminated genes)
##
## Level 5: 186 nodes to be scored (5384 eliminated genes)
##
## Level 4: 176 nodes to be scored (8297 eliminated genes)
##
## Level 3: 58 nodes to be scored (10483 eliminated genes)
##
## Level 2: 17 nodes to be scored (11240 eliminated genes)
##
## Level 1: 1 nodes to be scored (12883 eliminated genes)
<- topGOResults(Genes=GeneVectors$DEGenesDown, gene2GO=MFann, ontology='MF',
ResMFDown desc=NULL, nodeSize=15, algorithm='weight01', statistic='fisher',
EnTh=params$GoEnTh, PvalTh=params$GoPvalTh, minTerms=12, geneTh=4,
saveRes=TRUE, outDir=OutputFolder, fileName='MFDown')
## Gene vector contains levels: 0,1
##
## Building most specific GOs .....
## ( 4060 GO terms found. )
##
## Build GO DAG topology ..........
## ( 4530 GO terms and 5903 relations. )
##
## Annotating nodes ...............
## ( 12999 genes annotated to the GO terms. )
##
## -- Weight01 Algorithm --
##
## the algorithm is scoring 748 nontrivial nodes
## parameters:
## test statistic: fisher
##
## Level 11: 7 nodes to be scored (0 eliminated genes)
##
## Level 10: 10 nodes to be scored (0 eliminated genes)
##
## Level 9: 24 nodes to be scored (152 eliminated genes)
##
## Level 8: 53 nodes to be scored (1165 eliminated genes)
##
## Level 7: 103 nodes to be scored (3117 eliminated genes)
##
## Level 6: 136 nodes to be scored (3784 eliminated genes)
##
## Level 5: 174 nodes to be scored (5312 eliminated genes)
##
## Level 4: 167 nodes to be scored (8146 eliminated genes)
##
## Level 3: 56 nodes to be scored (10445 eliminated genes)
##
## Level 2: 17 nodes to be scored (11224 eliminated genes)
##
## Level 1: 1 nodes to be scored (12883 eliminated genes)
GOTable(ResMFDown$ResSel, maxGO=20)
<- topGOResults(Genes=GeneVectors$DEGenesUp, gene2GO=MFann, ontology='MF',
ResMFUp desc=NULL, nodeSize=15, algorithm='weight01', statistic='fisher',
EnTh=params$GoEnTh, PvalTh=params$GoPvalTh, minTerms=12, geneTh=4,
saveRes=TRUE, outDir=OutputFolder, fileName='MFUp')
## Gene vector contains levels: 0,1
##
## Building most specific GOs .....
## ( 4060 GO terms found. )
##
## Build GO DAG topology ..........
## ( 4530 GO terms and 5903 relations. )
##
## Annotating nodes ...............
## ( 12999 genes annotated to the GO terms. )
##
## -- Weight01 Algorithm --
##
## the algorithm is scoring 779 nontrivial nodes
## parameters:
## test statistic: fisher
##
## Level 11: 7 nodes to be scored (0 eliminated genes)
##
## Level 10: 12 nodes to be scored (0 eliminated genes)
##
## Level 9: 30 nodes to be scored (152 eliminated genes)
##
## Level 8: 58 nodes to be scored (1187 eliminated genes)
##
## Level 7: 97 nodes to be scored (3174 eliminated genes)
##
## Level 6: 152 nodes to be scored (3810 eliminated genes)
##
## Level 5: 180 nodes to be scored (5236 eliminated genes)
##
## Level 4: 172 nodes to be scored (8241 eliminated genes)
##
## Level 3: 54 nodes to be scored (10459 eliminated genes)
##
## Level 2: 16 nodes to be scored (11236 eliminated genes)
##
## Level 1: 1 nodes to be scored (12868 eliminated genes)
GOTable(ResMFUp$ResSel, maxGO=20)
topGOBarplotAll(TopGOResAll=ResMFAll$ResSel, TopGOResDown=ResMFDown$ResSel, TopGOResUp=ResMFUp$ResSel,
terms=8, pvalTh=0.01, plotTitle=NULL)
plotGenesInTerm_v2(ResMFAll$ResSel, ResMFAll$GOdata, SE_DEA, nterms=8, ngenes=12, plotTitle=NULL, Interactive=FALSE)
plotGenesInTerm_v2(ResMFDown$ResSel, ResMFDown$GOdata, SE_DEA, nterms=8, ngenes=12, plotTitle='Genes in Term - Down DEGs', Interactive=FALSE, fillCol='blue')
plotGenesInTerm_v2(ResMFUp$ResSel, ResMFUp$GOdata, SE_DEA, nterms=8, ngenes=12, plotTitle='Genes in Term - Up DEGs', Interactive=FALSE, fillCol='red')
On the basis of the analysis settings, the enrichment for Cellular Component IS performed.
<- topGO::annFUN.org(whichOnto='CC', feasibleGenes=names(GeneVectors$DEGenes),
CCann mapping='org.Hs.eg.db', ID='symbol') %>% inverseList()
# Wrapper function for topGO analysis
<- topGOResults(Genes=GeneVectors$DEGenes, gene2GO=CCann, ontology='CC',
ResCCAll desc=NULL, nodeSize=15, algorithm='weight01', statistic='fisher',
EnTh=params$GoEnTh, PvalTh=params$GoPvalTh, minTerms=12, geneTh=4,
saveRes=TRUE, outDir=OutputFolder, fileName='CCAll')
## Gene vector contains levels: 0,1
##
## Building most specific GOs .....
## ( 1732 GO terms found. )
##
## Build GO DAG topology ..........
## ( 1926 GO terms and 3253 relations. )
##
## Annotating nodes ...............
## ( 13224 genes annotated to the GO terms. )
##
## -- Weight01 Algorithm --
##
## the algorithm is scoring 620 nontrivial nodes
## parameters:
## test statistic: fisher
##
## Level 13: 1 nodes to be scored (0 eliminated genes)
##
## Level 12: 3 nodes to be scored (0 eliminated genes)
##
## Level 11: 26 nodes to be scored (30 eliminated genes)
##
## Level 10: 67 nodes to be scored (83 eliminated genes)
##
## Level 9: 94 nodes to be scored (843 eliminated genes)
##
## Level 8: 90 nodes to be scored (2741 eliminated genes)
##
## Level 7: 91 nodes to be scored (5047 eliminated genes)
##
## Level 6: 86 nodes to be scored (8289 eliminated genes)
##
## Level 5: 72 nodes to be scored (9822 eliminated genes)
##
## Level 4: 48 nodes to be scored (11670 eliminated genes)
##
## Level 3: 39 nodes to be scored (12709 eliminated genes)
##
## Level 2: 2 nodes to be scored (13074 eliminated genes)
##
## Level 1: 1 nodes to be scored (13169 eliminated genes)
#write.table(ResCCAll$ResAll, file=paste0(OutputFolder, 'TopGO/CCAllResults.txt'), sep='\t', row.names=FALSE)
# Wrapper function for topGO analysis
<- topGOResults(Genes=GeneVectors$DEGenesDown, gene2GO=CCann, ontology='CC',
ResCCDown desc=NULL, nodeSize=15, algorithm='weight01', statistic='fisher',
EnTh=params$GoEnTh, PvalTh=params$GoPvalTh, minTerms=12, geneTh=4,
saveRes=TRUE, outDir=OutputFolder, fileName='CCDown')
## Gene vector contains levels: 0,1
##
## Building most specific GOs .....
## ( 1732 GO terms found. )
##
## Build GO DAG topology ..........
## ( 1926 GO terms and 3253 relations. )
##
## Annotating nodes ...............
## ( 13224 genes annotated to the GO terms. )
##
## -- Weight01 Algorithm --
##
## the algorithm is scoring 576 nontrivial nodes
## parameters:
## test statistic: fisher
##
## Level 12: 1 nodes to be scored (0 eliminated genes)
##
## Level 11: 24 nodes to be scored (0 eliminated genes)
##
## Level 10: 62 nodes to be scored (24 eliminated genes)
##
## Level 9: 85 nodes to be scored (817 eliminated genes)
##
## Level 8: 86 nodes to be scored (2705 eliminated genes)
##
## Level 7: 86 nodes to be scored (4988 eliminated genes)
##
## Level 6: 75 nodes to be scored (8281 eliminated genes)
##
## Level 5: 69 nodes to be scored (9804 eliminated genes)
##
## Level 4: 46 nodes to be scored (11662 eliminated genes)
##
## Level 3: 39 nodes to be scored (12709 eliminated genes)
##
## Level 2: 2 nodes to be scored (13074 eliminated genes)
##
## Level 1: 1 nodes to be scored (13169 eliminated genes)
GOTable(ResCCDown$ResSel, maxGO=20)
# Wrapper function for topGO analysis
<- topGOResults(Genes=GeneVectors$DEGenesUp, gene2GO=CCann, ontology='CC',
ResCCUp desc=NULL, nodeSize=15, algorithm='weight01', statistic='fisher',
EnTh=params$GoEnTh, PvalTh=params$GoPvalTh, minTerms=12, geneTh=4,
saveRes=TRUE, outDir=OutputFolder, fileName='CCUp')
## Gene vector contains levels: 0,1
##
## Building most specific GOs .....
## ( 1732 GO terms found. )
##
## Build GO DAG topology ..........
## ( 1926 GO terms and 3253 relations. )
##
## Annotating nodes ...............
## ( 13224 genes annotated to the GO terms. )
##
## -- Weight01 Algorithm --
##
## the algorithm is scoring 539 nontrivial nodes
## parameters:
## test statistic: fisher
##
## Level 13: 1 nodes to be scored (0 eliminated genes)
##
## Level 12: 3 nodes to be scored (0 eliminated genes)
##
## Level 11: 21 nodes to be scored (30 eliminated genes)
##
## Level 10: 51 nodes to be scored (83 eliminated genes)
##
## Level 9: 75 nodes to be scored (747 eliminated genes)
##
## Level 8: 76 nodes to be scored (2539 eliminated genes)
##
## Level 7: 81 nodes to be scored (4750 eliminated genes)
##
## Level 6: 81 nodes to be scored (8205 eliminated genes)
##
## Level 5: 67 nodes to be scored (9784 eliminated genes)
##
## Level 4: 43 nodes to be scored (11662 eliminated genes)
##
## Level 3: 37 nodes to be scored (12707 eliminated genes)
##
## Level 2: 2 nodes to be scored (13074 eliminated genes)
##
## Level 1: 1 nodes to be scored (13169 eliminated genes)
GOTable(ResCCUp$ResSel, maxGO=20)
topGOBarplotAll(TopGOResAll=ResCCAll$ResSel, TopGOResDown=ResCCDown$ResSel, TopGOResUp=ResCCUp$ResSel,
terms=8, pvalTh=0.01, plotTitle=NULL)
plotGenesInTerm_v2(ResCCAll$ResSel, ResCCAll$GOdata, SE_DEA, nterms=8, ngenes=12, plotTitle=NULL, Interactive=FALSE)
plotGenesInTerm_v2(ResCCDown$ResSel, ResCCDown$GOdata, SE_DEA, nterms=8, ngenes=12, plotTitle='Genes in Term - Down DEGs', Interactive=FALSE, fillCol='blue')
plotGenesInTerm_v2(ResCCUp$ResSel, ResCCUp$GOdata, SE_DEA, nterms=8, ngenes=12, plotTitle='Genes in Term - Up DEGs', Interactive=FALSE, fillCol='red')
<- sessionInfo()
SessionInfo <- date()
Date #
save.image(paste0(OutputFolder, Dataset, 'FunctionalAnalysisWorkspace.RData'))
SessionInfo
## R version 4.2.1 (2022-06-23)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 20.04.4 LTS
##
## Matrix products: default
## BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
## [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] stats4 stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] DESeq2_1.38.3 sechm_1.6.0
## [3] SummarizedExperiment_1.28.0 GenomicRanges_1.50.2
## [5] GenomeInfoDb_1.34.9 MatrixGenerics_1.10.0
## [7] matrixStats_0.63.0 dplyr_1.1.0
## [9] tidyr_1.3.0 data.table_1.14.8
## [11] topGO_2.50.0 SparseM_1.81
## [13] GO.db_3.16.0 graph_1.76.0
## [15] viridis_0.6.2 viridisLite_0.4.1
## [17] RColorBrewer_1.1-3 gridExtra_2.3
## [19] org.Hs.eg.db_3.16.0 AnnotationDbi_1.60.0
## [21] IRanges_2.32.0 S4Vectors_0.36.1
## [23] Biobase_2.58.0 BiocGenerics_0.44.0
## [25] ggplot2_3.4.1 DT_0.27
## [27] RNASeqBulkExploratory_0.2.1
##
## loaded via a namespace (and not attached):
## [1] Rtsne_0.16 colorspace_2.1-0 rjson_0.2.21
## [4] ellipsis_0.3.2 circlize_0.4.15 XVector_0.38.0
## [7] GlobalOptions_0.1.2 clue_0.3-64 rstudioapi_0.14
## [10] farver_2.1.1 bit64_4.0.5 fansi_1.0.4
## [13] codetools_0.2-19 doParallel_1.0.17 cachem_1.0.7
## [16] geneplotter_1.76.0 knitr_1.42 jsonlite_1.8.4
## [19] annotate_1.76.0 cluster_2.1.4 png_0.1-8
## [22] compiler_4.2.1 httr_1.4.5 lazyeval_0.2.2
## [25] Matrix_1.5-3 fastmap_1.1.1 cli_3.6.1
## [28] htmltools_0.5.4 tools_4.2.1 gtable_0.3.1
## [31] glue_1.6.2 GenomeInfoDbData_1.2.9 V8_4.2.2
## [34] Rcpp_1.0.10 jquerylib_0.1.4 vctrs_0.6.2
## [37] Biostrings_2.66.0 iterators_1.0.14 crosstalk_1.2.0
## [40] xfun_0.37 stringr_1.5.0 lifecycle_1.0.3
## [43] XML_3.99-0.13 ca_0.71.1 zlibbioc_1.44.0
## [46] scales_1.2.1 TSP_1.2-2 parallel_4.2.1
## [49] ComplexHeatmap_2.14.0 yaml_2.3.7 curl_5.0.0
## [52] memoise_2.0.1 sass_0.4.5 stringi_1.7.12
## [55] RSQLite_2.3.0 highr_0.10 randomcoloR_1.1.0.1
## [58] foreach_1.5.2 seriation_1.4.1 BiocParallel_1.32.5
## [61] shape_1.4.6 rlang_1.1.1 pkgconfig_2.0.3
## [64] bitops_1.0-7 evaluate_0.20 lattice_0.20-45
## [67] purrr_1.0.1 labeling_0.4.2 htmlwidgets_1.6.1
## [70] bit_4.0.5 tidyselect_1.2.0 magrittr_2.0.3
## [73] R6_2.5.1 generics_0.1.3 DelayedArray_0.24.0
## [76] DBI_1.1.3 pillar_1.8.1 withr_2.5.0
## [79] KEGGREST_1.38.0 RCurl_1.98-1.10 tibble_3.2.1
## [82] crayon_1.5.2 utf8_1.2.3 plotly_4.10.1
## [85] rmarkdown_2.20 GetoptLong_1.0.5 locfit_1.5-9.7
## [88] grid_4.2.1 blob_1.2.3 digest_0.6.31
## [91] xtable_1.8-4 munsell_0.5.0 registry_0.5-1
## [94] bslib_0.4.2
Date
## [1] "Fri Jul 18 19:46:37 2025"