library(clusterProfiler)
library(org.Dm.eg.db)
library(dplyr)
library(ggplot2)
plotTheme = theme(
axis.title = element_text(family = "Arial", face = "bold", size = 16),
legend.title = element_text(family = "Arial", face = "bold", size = 16),
text = element_text(family = "Arial",size = 14))
clusterProfiler v4.6.2 For help: https://yulab-smu.top/biomedical-knowledge-mining-book/
If you use clusterProfiler in published research, please cite:
T Wu, E Hu, S Xu, M Chen, P Guo, Z Dai, T Feng, L Zhou, W Tang, L Zhan, X Fu, S Liu, X Bo, and G Yu. clusterProfiler 4.0: A universal enrichment tool for interpreting omics data. The Innovation. 2021, 2(3):100141
Attaching package: ‘clusterProfiler’
The following object is masked from ‘package:stats’:
filter
Loading required package: 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 object is masked from ‘package:clusterProfiler’:
rename
The following objects are masked from ‘package:base’:
expand.grid, I, unname
Attaching package: ‘IRanges’
The following object is masked from ‘package:clusterProfiler’:
slice
Attaching package: ‘AnnotationDbi’
The following object is masked from ‘package:clusterProfiler’:
select
Attaching package: ‘dplyr’
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
anaGO = function(geneids,prefix){
res = enrichGO(geneids,OrgDb = 'org.Dm.eg.db',keyType = 'ENTREZID',ont = 'ALL',readable = TRUE,maxGSSize = 300)
if(!is.null(res)){
write.csv(res@result,file = paste0('data/',prefix,'_GO.csv'))
resTable = res@result[order(res@result$p.adjust),]
resTable = resTable %>% group_by(ONTOLOGY) %>% top_n(-p.adjust,n = 10)
p = ggplot(data = resTable,
aes(
x = reorder(Description,-p.adjust),
y = -log10(p.adjust),
fill = ONTOLOGY,
label = reorder(Count,-p.adjust)
)
)+
geom_bar(stat = 'identity')+
geom_text(stat = 'identity',hjust = 1.2)+
coord_flip()+
facet_grid(ONTOLOGY~.,scales = 'free',space = 'free')+
labs(x = '',fill = '')+
theme_classic()+
scale_fill_manual(
breaks = c('BP','CC','MF'),
labels = c('BP','CC','MF'),
values = c('#ffc64b','#66CC33','#33ccff')
)+
theme(strip.text = element_blank(),
axis.line.y = element_blank(),
axis.ticks.y = element_blank(),
axis.title.x = element_text(size = 14),
text = element_text(size = 12),
axis.text = element_text(size = 12))+plotTheme
ggsave(filename = paste0('pics/',prefix,'_GO.png'),plot = p,dpi = 300,width = 10,height = 8,bg = 'white')
p
}else{
print(paste0('No GO terms enriched in ',prefix,'!!!!'))
}
}
agingDEG = read.csv('data/aging_DEG.csv',header = TRUE,row.names = 1)
agingDEG
A data.frame: 9229 × 4
| names | pvals_adj | logfoldchanges | status |
| <chr> | <dbl> | <dbl> | <chr> |
| 0 | CG17224 | 0.000000e+00 | 1.6973903 | up |
| 1 | Nazo | 1.615661e-249 | 2.8764238 | up |
| 2 | CG32368 | 8.114678e-246 | 2.3905106 | up |
| 3 | Tsp42Ee | 5.434852e-224 | 2.2421365 | up |
| 4 | Jupiter | 4.728705e-139 | 1.0476663 | up |
| 5 | CG8620 | 4.454060e-107 | 1.3999066 | up |
| 6 | CG31324 | 1.315092e-106 | 1.0036199 | up |
| 7 | CG5910 | 3.305958e-95 | 1.2562097 | up |
| 8 | CG17264 | 1.104081e-67 | 2.6234114 | up |
| 9 | Nrt | 7.987283e-67 | 1.1558428 | up |
| 10 | Trx-2 | 1.364534e-65 | 0.4715681 | up |
| 11 | hdly | 8.152044e-61 | 0.9809336 | up |
| 12 | CG5399 | 3.660944e-60 | 1.1431552 | up |
| 13 | Tsp42Ed | 2.051548e-47 | 0.4920316 | up |
| 14 | pnt | 6.444435e-44 | 0.7879507 | up |
| 15 | CG18746 | 1.618540e-43 | 1.5451185 | up |
| 16 | GstE6 | 6.619171e-42 | 0.7721213 | up |
| 17 | Lmpt | 9.531350e-42 | 0.6956778 | up |
| 18 | CG13321 | 9.723534e-38 | 1.0427580 | up |
| 19 | CG9801 | 1.103936e-35 | 1.0639198 | up |
| 20 | CG6330 | 2.689387e-34 | 0.9662901 | up |
| 21 | CG10383 | 1.122102e-32 | 0.4956225 | up |
| 22 | GstD2 | 1.367670e-32 | 0.9692456 | up |
| 23 | Cys | 3.636264e-32 | 0.7153829 | up |
| 24 | CG10140 | 8.949718e-32 | 1.9631165 | up |
| 25 | Prosap | 1.227746e-31 | 0.9397125 | up |
| 26 | CG30460 | 1.398059e-31 | 0.4398054 | up |
| 27 | PGRP-LB | 1.624326e-31 | 0.4719896 | up |
| 28 | mnb | 2.575575e-31 | 0.3877865 | up |
| 29 | l(1)G0193 | 3.537443e-30 | 0.5183096 | up |
| ⋮ | ⋮ | ⋮ | ⋮ | ⋮ |
| 9199 | RpS15 | 0 | -0.3734362 | stable |
| 9200 | RpS13 | 0 | -0.3945759 | down |
| 9201 | RpL12 | 0 | -0.4025178 | down |
| 9202 | RpS21 | 0 | -0.4593959 | down |
| 9203 | RpL7 | 0 | -0.4154353 | down |
| 9204 | RpL27 | 0 | -0.4279002 | down |
| 9205 | RpS29 | 0 | -0.5267246 | down |
| 9206 | sta | 0 | -0.4334792 | down |
| 9207 | RpL23 | 0 | -0.4408405 | down |
| 9208 | RpS9 | 0 | -0.4727255 | down |
| 9209 | RpL24 | 0 | -0.4231068 | down |
| 9210 | RpL10Ab | 0 | -0.4069104 | down |
| 9211 | RpL40 | 0 | -0.4460438 | down |
| 9212 | RpL37A | 0 | -0.4838491 | down |
| 9213 | RpS28b | 0 | -0.4849850 | down |
| 9214 | RpL36 | 0 | -0.4457568 | down |
| 9215 | RpL32 | 0 | -0.4167477 | down |
| 9216 | RpL13A | 0 | -0.4561919 | down |
| 9217 | RpL14 | 0 | -0.4040156 | down |
| 9218 | RpL27A | 0 | -0.4384862 | down |
| 9219 | RpS11 | 0 | -0.3979355 | down |
| 9220 | RpS25 | 0 | -0.4061678 | down |
| 9221 | RpL31 | 0 | -0.4973900 | down |
| 9222 | RpL6 | 0 | -0.5047587 | down |
| 9223 | RpS7 | 0 | -0.4620276 | down |
| 9224 | RpL18A | 0 | -0.4653904 | down |
| 9225 | RpS27 | 0 | -0.5373447 | down |
| 9226 | RpL29 | 0 | -0.7157094 | down |
| 9227 | RpL41 | 0 | -0.7257034 | down |
| 9228 | RpL39 | 0 | -0.8977373 | down |
down = agingDEG$names[agingDEG$status=='down']
geneTmp = bitr(down,fromType = 'SYMBOL',toType = 'ENTREZID',OrgDb = 'org.Dm.eg.db',drop = FALSE)
numTmp = sum(is.na(geneTmp[,2]))
print(paste0(numTmp,' genes failed to map.'))
geneTmp[is.na(geneTmp[,2]),]
'select()' returned 1:1 mapping between keys and columns
Warning message in bitr(down, fromType = "SYMBOL", toType = "ENTREZID", OrgDb = "org.Dm.eg.db", :
“1.55% of input gene IDs are fail to map...”
[1] "19 genes failed to map."
A data.frame: 19 × 2
| SYMBOL | ENTREZID |
| <chr> | <chr> |
| 3 | CG2023 | NA |
| 24 | rev7 | NA |
| 85 | Ect4 | NA |
| 88 | CG4662 | NA |
| 152 | CG10880 | NA |
| 287 | CG11210 | NA |
| 340 | CG1968 | NA |
| 365 | CG1427 | NA |
| 406 | CG40178 | NA |
| 495 | CG5734 | NA |
| 540 | CG11781 | NA |
| 560 | CG17337 | NA |
| 651 | CG5844 | NA |
| 673 | CG15168 | NA |
| 752 | CG11137 | NA |
| 944 | CG5830 | NA |
| 1051 | CG6084 | NA |
| 1063 | lncRNA:CR43051 | NA |
| 1075 | Thiolase | NA |
anaGO(na.omit(geneTmp[,2]),prefix = 'aging_down')

roxRNAiDEG = read.csv('data/roxRNAi_DEG.csv',header = TRUE,row.names = 1)
roxRNAiDEG
A data.frame: 10617 × 4
| names | pvals_adj | logfoldchanges | status |
| <chr> | <dbl> | <dbl> | <chr> |
| 0 | RpL41 | 0 | 0.8672693 | up |
| 1 | RpL6 | 0 | 0.9240085 | up |
| 2 | RpL29 | 0 | 0.8541424 | up |
| 3 | RpL39 | 0 | 0.7917424 | up |
| 4 | RpL36A | 0 | 0.5807247 | up |
| 5 | RpS27 | 0 | 0.6652983 | up |
| 6 | RpS3A | 0 | 0.8740644 | up |
| 7 | RpL23 | 0 | 0.5391975 | up |
| 8 | RpLP2 | 0 | 0.5191165 | up |
| 9 | RpL3 | 0 | 0.6862599 | up |
| 10 | RpS21 | 0 | 0.5687185 | up |
| 11 | sta | 0 | 0.5394719 | up |
| 12 | RpS28b | 0 | 0.5419880 | up |
| 13 | RpL38 | 0 | 0.7244318 | up |
| 14 | RpS25 | 0 | 0.4637499 | up |
| 15 | eEF1alpha1 | 0 | 0.6608823 | up |
| 16 | RpS15 | 0 | 0.4678238 | up |
| 17 | RpL31 | 0 | 0.5004458 | up |
| 18 | RpL7A | 0 | 0.4909970 | up |
| 19 | RpL28 | 0 | 0.4519229 | up |
| 20 | RpS7 | 0 | 0.4774412 | up |
| 21 | RpLP0 | 0 | 0.5450004 | up |
| 22 | RpS27A | 0 | 0.4693967 | up |
| 23 | RpL23A | 0 | 0.5290492 | up |
| 24 | RpL21 | 0 | 0.5283418 | up |
| 25 | RpL10Ab | 0 | 0.4704212 | up |
| 26 | RpL30 | 0 | 0.6655344 | up |
| 27 | RpL13A | 0 | 0.4490866 | up |
| 28 | RpL32 | 0 | 0.4287512 | up |
| 29 | RpL4 | 0 | 0.5160415 | up |
| ⋮ | ⋮ | ⋮ | ⋮ | ⋮ |
| 10587 | CG7530 | 2.107083e-05 | -0.22145392 | stable |
| 10588 | CG6295 | 1.256653e-05 | -1.41538950 | down |
| 10589 | CG3906 | 5.263416e-06 | -2.56632520 | down |
| 10590 | betaTry | 4.496641e-06 | -0.34810814 | stable |
| 10591 | lin-28 | 2.627823e-06 | -0.09023929 | stable |
| 10592 | GstT4 | 2.600907e-06 | -0.17426874 | stable |
| 10593 | CG12825 | 2.582079e-06 | -0.46683140 | down |
| 10594 | hbs | 2.514691e-06 | -1.52056440 | down |
| 10595 | udd | 9.024231e-07 | -0.27895895 | stable |
| 10596 | CG16898 | 6.053737e-07 | -0.41750434 | down |
| 10597 | asRNA:CR45133 | 2.162506e-07 | -1.32371020 | down |
| 10598 | CG9568 | 1.102348e-10 | -0.26687202 | stable |
| 10599 | CG18180 | 1.742257e-11 | -2.50549770 | down |
| 10600 | SppL | 2.784648e-13 | -0.43451230 | down |
| 10601 | CG13323 | 5.946100e-14 | -0.60004400 | down |
| 10602 | CG12374 | 5.613197e-20 | -1.21417770 | down |
| 10603 | CG6287 | 5.983022e-21 | -0.30937186 | stable |
| 10604 | CG15093 | 8.275431e-28 | -0.48336902 | down |
| 10605 | Syt4 | 6.003154e-28 | -25.76675800 | down |
| 10606 | CG12643 | 6.371326e-35 | -0.60031690 | down |
| 10607 | CG5618 | 7.937363e-44 | -1.27941370 | down |
| 10608 | CG34324 | 1.987713e-44 | -2.95863400 | down |
| 10609 | CG1943 | 1.252692e-45 | -0.30524910 | stable |
| 10610 | LysD | 7.476423e-59 | -1.31639480 | down |
| 10611 | CG34220 | 2.217905e-64 | -2.50974320 | down |
| 10612 | CG15784 | 6.841909e-66 | -0.32780537 | stable |
| 10613 | CG6357 | 8.741521e-71 | -0.44514420 | down |
| 10614 | Arc1 | 2.629337e-82 | -0.51360625 | down |
| 10615 | Arc2 | 2.031097e-127 | -0.64902300 | down |
| 10616 | CG14645 | 2.615122e-183 | -3.04298040 | down |
up = roxRNAiDEG$names[roxRNAiDEG$status=='up']
geneTmp = bitr(up,fromType = 'SYMBOL',toType = 'ENTREZID',OrgDb = 'org.Dm.eg.db',drop = FALSE)
numTmp = sum(is.na(geneTmp[,2]))
print(paste0(numTmp,' genes failed to map.'))
geneTmp[is.na(geneTmp[,2]),]
'select()' returned 1:1 mapping between keys and columns
Warning message in bitr(up, fromType = "SYMBOL", toType = "ENTREZID", OrgDb = "org.Dm.eg.db", :
“1.26% of input gene IDs are fail to map...”
[1] "63 genes failed to map."
A data.frame: 63 × 2
| SYMBOL | ENTREZID |
| <chr> | <chr> |
| 240 | CG17514 | NA |
| 471 | CG6767 | NA |
| 529 | CG2862 | NA |
| 614 | CG8602 | NA |
| 708 | CG5830 | NA |
| 921 | CG8184 | NA |
| 973 | CG9425 | NA |
| 1066 | CG32441 | NA |
| 1243 | CG42684 | NA |
| 1317 | Lsm12 | NA |
| 1360 | CG5045 | NA |
| 1521 | CG15168 | NA |
| 1529 | CG1882 | NA |
| 1563 | CG34449 | NA |
| 1580 | CG11137 | NA |
| 1617 | Thiolase | NA |
| 1637 | Ect4 | NA |
| 1673 | CG8177 | NA |
| 1738 | CG32758 | NA |
| 1791 | CG40178 | NA |
| 1846 | CG7971 | NA |
| 1885 | SelD | NA |
| 1890 | CG8397 | NA |
| 2040 | CG14057 | NA |
| 2112 | CG6084 | NA |
| 2207 | CG17265 | NA |
| 2252 | CG7946 | NA |
| 2319 | CG5844 | NA |
| 2355 | CG17337 | NA |
| 2362 | CG4552 | NA |
| ⋮ | ⋮ | ⋮ |
| 2537 | CG5694 | NA |
| 2558 | SRm160 | NA |
| 2713 | CG9248 | NA |
| 2860 | CG14806 | NA |
| 3116 | CG9422 | NA |
| 3207 | CG3678 | NA |
| 3448 | Itp-r83A | NA |
| 3749 | lncRNA:CR42875 | NA |
| 3756 | CG34383 | NA |
| 3765 | CG9186 | NA |
| 3815 | CG11210 | NA |
| 3842 | Adck | NA |
| 3851 | CDC45L | NA |
| 3895 | CG2046 | NA |
| 3897 | CG15440 | NA |
| 4022 | CG9125 | NA |
| 4154 | CG8786 | NA |
| 4281 | CG10915 | NA |
| 4293 | prominin-like | NA |
| 4332 | CG4662 | NA |
| 4404 | CG10889 | NA |
| 4481 | CG4825 | NA |
| 4659 | Strumpellin | NA |
| 4845 | Eip71CD | NA |
| 4916 | CG12018 | NA |
| 4919 | CG7616 | NA |
| 4926 | CG12772 | NA |
| 4930 | l(1)G0045 | NA |
| 4960 | CG14117 | NA |
| 5007 | CG2023 | NA |
anaGO(na.omit(geneTmp[,2]),prefix = 'roxRNAi_up')

inter = intersect(down,up)
geneTmp = bitr(inter,fromType = 'SYMBOL',toType = 'ENTREZID',OrgDb = 'org.Dm.eg.db',drop = FALSE)
numTmp = sum(is.na(geneTmp[,2]))
print(paste0(numTmp,' genes failed to map.'))
geneTmp[is.na(geneTmp[,2]),]
'select()' returned 1:1 mapping between keys and columns
Warning message in bitr(inter, fromType = "SYMBOL", toType = "ENTREZID", OrgDb = "org.Dm.eg.db", :
“1.25% of input gene IDs are fail to map...”
[1] "13 genes failed to map."
A data.frame: 13 × 2
| SYMBOL | ENTREZID |
| <chr> | <chr> |
| 2 | CG2023 | NA |
| 57 | Ect4 | NA |
| 59 | CG4662 | NA |
| 222 | CG11210 | NA |
| 320 | CG40178 | NA |
| 436 | CG11781 | NA |
| 456 | CG17337 | NA |
| 536 | CG5844 | NA |
| 553 | CG15168 | NA |
| 623 | CG11137 | NA |
| 790 | CG5830 | NA |
| 885 | CG6084 | NA |
| 907 | Thiolase | NA |
anaGO(na.omit(geneTmp[,2]),prefix = 'intersection')

write(inter,file = 'inter.txt')
sessionInfo()
R version 4.2.2 (2022-10-31)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)
Matrix products: default
BLAS: /usr/local/lib64/R/lib/libRblas.so
LAPACK: /usr/local/lib64/R/lib/libRlapack.so
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] jsonlite_1.8.7 formatR_1.14 ggplot2_3.4.1
[4] dplyr_1.1.1 org.Dm.eg.db_3.16.0 AnnotationDbi_1.60.2
[7] IRanges_2.32.0 S4Vectors_0.36.2 Biobase_2.58.0
[10] BiocGenerics_0.44.0 clusterProfiler_4.6.2
loaded via a namespace (and not attached):
[1] fgsea_1.24.0 colorspace_2.1-0 ggtree_3.6.2
[4] gson_0.1.0 IRdisplay_1.1 qvalue_2.30.0
[7] XVector_0.38.0 base64enc_0.1-3 aplot_0.1.10
[10] farver_2.1.1 graphlayouts_0.8.4 ggrepel_0.9.3
[13] bit64_4.0.5 fansi_1.0.4 scatterpie_0.1.8
[16] codetools_0.2-18 splines_4.2.2 cachem_1.0.8
[19] GOSemSim_2.24.0 polyclip_1.10-4 IRkernel_1.3.2.9000
[22] Cairo_1.6-0 GO.db_3.16.0 png_0.1-8
[25] ggforce_0.4.1 compiler_4.2.2 httr_1.4.6
[28] Matrix_1.5-4 fastmap_1.1.1 lazyeval_0.2.2
[31] cli_3.6.1 tweenr_2.0.2 htmltools_0.5.5
[34] tools_4.2.2 igraph_1.5.0 gtable_0.3.3
[37] glue_1.6.2 GenomeInfoDbData_1.2.9 reshape2_1.4.4
[40] fastmatch_1.1-3 Rcpp_1.0.11 enrichplot_1.18.3
[43] vctrs_0.6.0 Biostrings_2.66.0 ape_5.7-1
[46] nlme_3.1-160 ggraph_2.1.0 stringr_1.5.0
[49] lifecycle_1.0.3 DOSE_3.24.2 zlibbioc_1.44.0
[52] MASS_7.3-58.1 scales_1.2.1 tidygraph_1.2.3
[55] ragg_1.2.4 parallel_4.2.2 RColorBrewer_1.1-3
[58] memoise_2.0.1 gridExtra_2.3 downloader_0.4
[61] ggfun_0.0.9 HDO.db_0.99.1 yulab.utils_0.0.6
[64] stringi_1.7.12 RSQLite_2.3.0 tidytree_0.4.2
[67] BiocParallel_1.32.6 repr_1.1.6 GenomeInfoDb_1.34.9
[70] rlang_1.1.1 pkgconfig_2.0.3 systemfonts_1.0.4
[73] bitops_1.0-7 evaluate_0.21 lattice_0.20-45
[76] purrr_1.0.1 treeio_1.22.0 patchwork_1.1.2
[79] labeling_0.4.2 cowplot_1.1.1 shadowtext_0.1.2
[82] bit_4.0.5 tidyselect_1.2.0 plyr_1.8.8
[85] magrittr_2.0.3 R6_2.5.1 generics_0.1.3
[88] pbdZMQ_0.3-9 DBI_1.1.3 pillar_1.9.0
[91] withr_2.5.0 KEGGREST_1.38.0 RCurl_1.98-1.12
[94] tibble_3.2.1 crayon_1.5.2 uuid_1.1-0
[97] utf8_1.2.3 viridis_0.6.2 grid_4.2.2
[100] data.table_1.14.8 blob_1.2.4 digest_0.6.33
[103] tidyr_1.3.0 gridGraphics_0.5-1 textshaping_0.3.6
[106] munsell_0.5.0 viridisLite_0.4.2 ggplotify_0.1.0