TopExpressingGenes Process Configuration
SkillDev toolsIdentifies and visualizes the top expressing genes per cluster in T/B cells, followed by pathway enrichment analysis. Provides quick cluster characterization by highlighting the most highly expressed genes and their biological functions.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the TopExpressingGenes Process Configuration skill
What this skill tells your AI
The instructions your AI receives, as published by pwwang/immunopipe in skills/topexpressinggenes/SKILL.md and read by ahel’s review.
Purpose
Identifies and visualizes the top expressing genes per cluster in T/B cells, followed by pathway enrichment analysis. Provides quick cluster characterization by highlighting the most highly expressed genes and their biological functions.
When to Use
- After:
SeuratClusteringandTOrBCellSelectionprocesses - Use cases: Quick cluster characterization, identifying dominant gene programs, pathway enrichment
- Optional process: Enable only when cluster-level expression profiling is needed
Configuration Structure
Process Enablement
[TopExpressingGenes]
cache = true
Input Specification
[TopExpressingGenes.in]
srtobj = ["SeuratClustering"]
Note: srtobj accepts the output from SeuratClustering or SeuratSubClustering.
Environment Variables
Core Parameters
[TopExpressingGenes.envs]
# Number of top expressing genes to identify per cluster
n = 250
# Enrichment style
enrich_style = "enrichr" # Options: "enrichr", "clusterprofiler"
# Enrichment databases
dbs = ["KEGG_2021_Human", "MSigDB_Hallmark_2020"]
Enrichment Plot Settings
[TopExpressingGenes.envs.enrich_plots_defaults]
# Plot type: "bar", "dot", "lollipop", "network", "enrichmap", "wordcloud"
plot_type = "bar"
devpars = {res = 100, width = 800, height = 600}
top_term = 10 # Top enriched pathways to show
ncol = 1
Configuration Examples
Minimal Configuration
[TopExpressingGenes]
[TopExpressingGenes.in]
srtobj = ["SeuratClustering"]
Top 10 Genes with Custom Databases
[TopExpressingGenes]
[TopExpressingGenes.in]
srtobj = ["SeuratClustering"]
[TopExpressingGenes.envs]
n = 10
dbs = ["GO_Biological_Process_2025", "Reactome_Pathways_2024"]
Network Visualization
[TopExpressingGenes.envs.enrich_plots."Network"]
plot_type = "network"
top_term = 15
[TopExpressingGenes.envs.enrich_plots."Enrichmap"]
plot_type = "enrichmap"
Common Patterns
Pattern 1: Quick Cluster Overview
[TopExpressingGenes]
[TopExpressingGenes.in]
srtobj = ["SeuratClustering"]
[TopExpressingGenes.envs]
n = 10
dbs = ["MSigDB_Hallmark_2020"]
Pattern 2: Detailed Profile
[TopExpressingGenes.envs]
n = 250
enrich_style = "clusterprofiler"
[TopExpressingGenes.envs.enrich_plots]
"KEGG" = {plot_type = "bar", dbs = ["KEGG_2021_Human"]}
"Reactome" = {plot_type = "network"}
Pattern 3: Multiple Visualizations
[TopExpressingGenes.envs]
n = 50
[TopExpressingGenes.envs.enrich_plots."Bar"]
plot_type = "bar"
[TopExpressingGenes.envs.enrich_plots."Word Cloud"]
plot_type = "wordcloud"
Difference from ClusterMarkers
| Aspect | TopExpressingGenes | ClusterMarkers |
|---|---|---|
| Finds | Highest expressed genes within clusters | Genes differentially expressed between clusters |
| Meaning | Basal/dominant expression | Distinguishing markers |
| Stat test | None (average expression) | Statistical (Wilcoxon, MAST) |
| Use case | Cluster identity/function | Marker discovery |
| Output | Top N genes | DEGs with p-values/FC |
Recommendation: Use both processes:
TopExpressingGenes: Quick overview of dominant programsClusterMarkers: Rigorous marker identification
Dependencies
- Upstream:
SeuratClustering,TOrBCellSelection(for TCR route) - Downstream: None (terminal analysis process)
Validation Rules
n: Positive integer (typically 10-500)dbs: Valid enrichit/Enrichr database names or local GMT pathsenrich_style: "enrichr" or "clusterprofiler"plot_type: Valid scplotter plot type
Troubleshooting
Ribosomal/Mitochondrial Gene Dominance
Issue: Housekeeping genes (RPS, RPL, MT-) dominate
Solutions: Increase n, use ClusterMarkers, filter genes in SeuratPreparing
Empty Enrichment Results
Issue: No pathways enriched
Solutions: Increase n to 100-500, verify species (UPPERCASE=human, TitleCase=mouse)
Plot Rendering Errors
Issue: Plots fail to render
Solutions: Reduce top_term (5-15), use simpler plots (bar, dot)
Performance Issues
Issue: Process too slow
Solutions: Reduce n, use fewer databases, disable enrichment: dbs = []
External References
Databases (enrichit)
KEGG_2021_Human- KEGG pathwaysMSigDB_Hallmark_2020- Hallmark gene setsGO_Biological_Process_2025- GO Biological ProcessReactome_Pathways_2024- Reactome pathways- See: https://pwwang.github.io/enrichit/reference/FetchGMT.html
Plot Types (scplotter)
bar- Bar chartdot- Dot plotlollipop- Lollipop plotnetwork- Network visualizationenrichmap- Enrichment mapwordcloud- Word cloud
Enrichment Styles
enrichr- Fisher's exact testclusterprofiler- Hypergeometric test
See Also
TopExpressingGenesOfAllCells- Top genes before T/B selectionClusterMarkers- Differential expression analysis
Signals
- GitHub stars
- 22
- Forks
- 4
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
topexpressinggenes- Source
- github.com/pwwang/immunopipe