Biomedical Knowledge Mining Toolkit
Welcome
Introduction
Biomedical knowledge mining is not a single test and it is not a collection of unrelated R packages. It is a workflow that turns molecular evidence into organized, inspectable biological knowledge:
experiment → identifiers and evidence → enrichment → knowledge sources
→ evidence integration → figures → biological interpretation
This book documents that workflow as a toolkit. The packages remain visible because they provide the implementation, but the main navigation follows the decisions a researcher makes rather than the history of package development.
The toolkit at a glance
The system has six cooperating layers:
- Prepare the evidence — gene vectors, ranked lists, backgrounds, identifiers, and custom annotations.
- Choose an analysis engine — ORA, GSEA, comparison, network-aware, weighted, or multi-omics enrichment.
- Connect biological knowledge — GO, KEGG, Reactome, disease, MeSH, pathway collections, and user-defined gene sets.
- Organize the evidence — result objects, semantic similarity, redundancy reduction, representative terms, and PPI networks.
- Communicate the result — summary plots, gene–term networks, GSEA views, pathway views, and comparative figures.
- Interpret and report — evidence-guided biological interpretation, reproducible reports, and optional AI assistance.
The common objects passed between these layers are deliberately simple: a vector of identifiers, a named numeric ranking, a TERM2GENE table, a GSON knowledge object, or an enrichment result object.
Start with the route that matches your question
| If you have… | Start with… | The question it answers |
|---|---|---|
| A differential-gene list | A complete first workflow | How do I run and inspect a first ORA/GSEA analysis? |
| A list but are unsure how to prepare it | The data contract | Which IDs, ranking, background, and annotation format are required? |
| Several possible analysis designs | Choose a route | Should I use ORA, GSEA, compareCluster, network, or custom enrichment? |
| Several biological databases | GSON knowledge packaging | How can I combine knowledge sources without changing the statistical engine? |
| An existing enrichment result | Organize and integrate evidence | How do I reduce redundancy, compare terms, and find supporting genes? |
| A figure or report to make | Visualize and communicate results | Which plot answers which biological question? |
| A package or function name | Package and capability map | Where does this function fit in the system? |
The first complete workflow
A useful first pass is deliberately short:
prepare IDs and universe
↓
choose ORA or GSEA
↓
connect GO, KEGG, or another knowledge source
↓
inspect the result object
↓
plot the strongest themes
↓
check evidence before writing a biological conclusion
The first workflow chapter uses stable demonstration data and links each step to the deeper chapters. It is the recommended entry point for readers who want to get a result before learning every available method.
Package roles in the system
| Role in the workflow | Main packages or modules | What the reader gets |
|---|---|---|
| High-level workflow and knowledge-aware entry points | clusterProfiler |
Consistent functions and result objects |
| Statistical enrichment engine | enrichit |
ORA, GSEA, network-aware, weighted, and multi-omics methods |
| Knowledge representation and exchange | gson |
Versioned, metadata-aware knowledge objects and combined knowledge bases |
| Specialized knowledge connectors | DOSE, ReactomePA, meshes |
Disease, Reactome, and MeSH analysis |
| Semantic similarity | GOSemSim, DOSE, meshes |
Similarity among terms, genes, and gene clusters |
| Result visualization | enrichplot |
Reusable plots for ORA, GSEA, comparison, and networks |
| Genomic-coordinate entry point | ChIPseeker |
Peak annotation and genomic coordination enrichment |
| Optional interpretation layer | interpret() and supported model providers |
Evidence synthesis and narrative drafting, with explicit uncertainty |
The packages are therefore modules in one tool system. A user can enter through a package-specific function, but should still be able to follow the same path from input to result, figure, and interpretation.
Version badges
Book structure
- Part 0 — Start here: data contract, first workflow, and route selection.
- Part 1 — Choose the analysis engine: ORA, GSEA, comparison, network-aware, weighted, and multi-omics enrichment.
- Part 2 — Connect biological knowledge: GSON, GO, KEGG, Reactome, disease, MeSH, pathway collections, and custom annotations.
- Part 3 — Organize and integrate evidence: result objects, semantic similarity, term selection, and PPI networks.
- Part 4 — Visualize and communicate: summary plots, networks, GSEA views, comparisons, and publication-ready figures.
- Part 5 — Interpret and report: evidence-guided interpretation and optional AI-assisted reporting.
- Part 6 — Recipes and reference: task-oriented workflows, troubleshooting, capability maps, and reference material.
Citation
If you use this software suite in published research, cite the papers most relevant to the methods and packages used:
- G Yu*. Background bias in functional enrichment analysis: Insights from clusterProfiler. The Innovation Life. 2026, 4(1):100181.
- G Yu*. Thirteen years of clusterProfiler. The Innovation. 2024, 5(6):100722.
- S Xu#, E Hu#, Y Cai#, Z Xie#, X Luo#, L Zhan, W Tang, Q Wang, B Liu, R Wang, W Xie, T Wu, L Xie, G Yu*. Using clusterProfiler to characterise Multi-Omics Data. Nature Protocols. 2024, 19(11):3292–3320.
- Q Wang#, M Li#, T Wu, L Zhan, L Li, M Chen, W Xie, Z Xie, E Hu, S Xu, G Yu*. Exploring epigenomic datasets by ChIPseeker. Current Protocols. 2022, 2(10):e585.
- 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*, G Yu*. clusterProfiler 4.0: A universal enrichment tool for interpreting omics data. The Innovation. 2021, 2(3):100141. doi:10.1016/j.xinn.2021.100141
- G Yu*. Gene Ontology Semantic Similarity Analysis Using GOSemSim. In: Kidder B. (eds) Stem Cell Transcriptional Networks. Methods in Molecular Biology. 2020, 2117:207–215.
- G Yu*. Using meshes for MeSH term enrichment and semantic analyses. Bioinformatics. 2018, 34(21):3766–3767. doi:10.1093/bioinformatics/bty410
- G Yu, QY He*. ReactomePA: an R/Bioconductor package for reactome pathway analysis and visualization. Molecular BioSystems. 2016, 12(2):477–479. doi:10.1039/C5MB00663E
- G Yu*, LG Wang, and QY He*. ChIPseeker: an R/Bioconductor package for ChIP peak annotation, comparison and visualization. Bioinformatics. 2015, 31(14):2382–2383. doi:10.1093/bioinformatics/btv145
- G Yu*, LG Wang, GR Yan, QY He*. DOSE: an R/Bioconductor package for Disease Ontology Semantic and Enrichment analysis. Bioinformatics. 2015, 31(4):608–609. doi:10.1093/bioinformatics/btu684
- G Yu, LG Wang, Y Han and QY He*. clusterProfiler: an R package for comparing biological themes among gene clusters. OMICS: A Journal of Integrative Biology. 2012, 16(5):284–287. doi:10.1089/omi.2011.0118
- G Yu, F Li, Y Qin, X Bo*, Y Wu, S Wang*. GOSemSim: an R package for measuring semantic similarity among GO terms and gene products. Bioinformatics. 2010, 26(7):976–978. doi:10.1093/bioinformatics/btq064
Contributing
The source code is hosted at https://github.com/YuLab-SMU/biomedical-knowledge-mining-book/. Feedback, bug reports, examples, and improvements to the workflow are welcome through issues and pull requests.