Clusterprofiler custom enrichment
Skill ma-compbio-lab/SkillFoundry/skills/systems-biology/clusterprofiler-custom-enrichment
Use this skill to run deterministic local custom enrichment with Bioconductor clusterProfiler and user-supplied TERM2GENE tables. Do not use it for remote annotation downloads or organism database lookups.From its SKILL.md
npx -y skills add ma-compbio-lab/SkillFoundry --skill clusterprofiler-custom-enrichmentAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
2.8 KB, 622 tokens by cl100k_base, as published. Nobody here has run it
Purpose
Run a compact over-representation analysis with local query genes, local TERM2GENE, and local TERM2NAME tables through Bioconductor clusterProfiler.
When to use
- You want a deterministic enrichment example without online annotation services.
- You already have a short gene list and local term mappings.
When not to use
- You need GO, KEGG, Reactome, or remote annotation queries.
- You need large production enrichment workflows with plotting/reporting layers.
Inputs
- Query gene file with one gene per line
TERM2GENETSV with columnstermandgeneTERM2NAMETSV with columnstermandname- Optional local R library path and
--install-missing
Outputs
- Compact JSON summary of enrichment results with p-values, adjusted p-values, gene ratios, and matched genes
Requirements
Rscriptjsonlite- Bioconductor
clusterProfilerfor package-backed execution
Procedure
- Inspect the toy files in
examples/toy_query_genes.txt,examples/toy_term2gene.tsv, andexamples/toy_term2name.tsv. - Optionally prepare a temp Bioconductor library, then run
Rscript skills/systems-biology/clusterprofiler-custom-enrichment/scripts/run_clusterprofiler_custom_enrichment.R --lib-dir /tmp/bioc-skill-lib --install-missing --out clusterprofiler_summary.json. - Review
resultsforterm,description,gene_ratio,p_adjust, andgene_ids.
Validation
--describe-toyreturns the expected toy gene and term counts.- A package-backed run returns at least one enriched term for the bundled toy example.
Failure modes and fixes
- Missing
clusterProfiler: rerun with--install-missing --lib-dir <path>. gdtoolsorggiraphbuild failures: install Cairo and FreeType development headers before retrying the Bioconductor stack.- Empty results: inspect the overlap between the query genes and
TERM2GENE. - Wrong term labels: confirm the
TERM2NAMEtable keys match theTERM2GENEterm IDs exactly.
Safety and limits
- Uses only local custom term mappings.
- Does not fetch remote annotations or make claims beyond the supplied toy or local input data.
Example
Rscript skills/systems-biology/clusterprofiler-custom-enrichment/scripts/run_clusterprofiler_custom_enrichment.R --describe-toy
Provenance
- Bioconductor clusterProfiler package page: https://bioconductor.org/packages/clusterProfiler
- clusterProfiler manual: https://bioconductor.org/packages/release/bioc/manuals/clusterProfiler/man/clusterProfiler.pdf
Related skills
fgsea-preranked-enrichmentreactome-identifiers-enrichment
What ships with it: 12 files
13.9 KB alongside SKILL.md, 1 of them executable
assets/
examples/
- README.md261 B
- toy_query_genes.txt32 B
- toy_term2gene.tsv222 B
- toy_term2name.tsv103 B
scripts/
tests/
- README.md322 B
- test_clusterprofiler_custom_enrichment.pyruns1.9 KB
- metadata.yaml1000 B
- refs.md230 B