bio-pathway-go-enrichment

GO Over-Representation Analysis

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "bio-pathway-go-enrichment" with this command: npx skills add gptomics/bioskills/gptomics-bioskills-bio-pathway-go-enrichment

GO Over-Representation Analysis

Core Pattern

library(clusterProfiler) library(org.Hs.eg.db) # Human - change for other organisms

ego <- enrichGO( gene = gene_list, # Character vector of gene IDs OrgDb = org.Hs.eg.db, # Organism annotation database keyType = 'ENTREZID', # ID type: ENSEMBL, SYMBOL, ENTREZID, etc. ont = 'BP', # BP, MF, CC, or ALL pAdjustMethod = 'BH', # p-value adjustment method pvalueCutoff = 0.05, qvalueCutoff = 0.2 )

Prepare Gene List from DE Results

library(dplyr)

de_results <- read.csv('de_results.csv')

sig_genes <- de_results %>% filter(padj < 0.05, abs(log2FoldChange) > 1) %>% pull(gene_id)

If using gene symbols, convert to Entrez IDs

gene_ids <- bitr(sig_genes, fromType = 'SYMBOL', toType = 'ENTREZID', OrgDb = org.Hs.eg.db) gene_list <- gene_ids$ENTREZID

ID Conversion with bitr

Check available key types

keytypes(org.Hs.eg.db)

Convert between ID types

converted <- bitr(genes, fromType = 'ENSEMBL', toType = 'ENTREZID', OrgDb = org.Hs.eg.db)

Multiple output types

converted <- bitr(genes, fromType = 'SYMBOL', toType = c('ENTREZID', 'ENSEMBL'), OrgDb = org.Hs.eg.db)

With Background Universe

Use all expressed genes as background (recommended)

all_genes <- de_results$gene_id universe_ids <- bitr(all_genes, fromType = 'SYMBOL', toType = 'ENTREZID', OrgDb = org.Hs.eg.db)

ego <- enrichGO( gene = gene_list, universe = universe_ids$ENTREZID, # Background gene set OrgDb = org.Hs.eg.db, keyType = 'ENTREZID', ont = 'BP', pAdjustMethod = 'BH', pvalueCutoff = 0.05 )

All Three Ontologies

Run all ontologies at once

ego_all <- enrichGO( gene = gene_list, OrgDb = org.Hs.eg.db, keyType = 'ENTREZID', ont = 'ALL', # BP, MF, and CC combined pAdjustMethod = 'BH', pvalueCutoff = 0.05 )

Results include ONTOLOGY column

head(as.data.frame(ego_all))

Make Results Readable

Convert Entrez IDs to gene symbols in results

ego_readable <- setReadable(ego, OrgDb = org.Hs.eg.db, keyType = 'ENTREZID')

Or use readable = TRUE directly (only works with ENTREZID input)

ego <- enrichGO( gene = gene_list, OrgDb = org.Hs.eg.db, keyType = 'ENTREZID', ont = 'BP', readable = TRUE # Converts to symbols )

Extract and Export Results

View top results

head(ego)

Convert to data frame

results_df <- as.data.frame(ego)

Key columns: ID, Description, GeneRatio, BgRatio, pvalue, p.adjust, qvalue, geneID, Count

Export to CSV

write.csv(results_df, 'go_enrichment_results.csv', row.names = FALSE)

Filter for specific criteria

sig_terms <- results_df[results_df$p.adjust < 0.01 & results_df$Count >= 5, ]

Simplify Redundant Terms

Remove redundant GO terms (keeps representative terms)

ego_simplified <- simplify(ego, cutoff = 0.7, by = 'p.adjust', select_fun = min)

Different Organisms

Mouse

library(org.Mm.eg.db) ego_mouse <- enrichGO(gene = genes, OrgDb = org.Mm.eg.db, ont = 'BP')

Zebrafish

library(org.Dr.eg.db) ego_zfish <- enrichGO(gene = genes, OrgDb = org.Dr.eg.db, ont = 'BP')

Yeast

library(org.Sc.sgd.db) ego_yeast <- enrichGO(gene = genes, OrgDb = org.Sc.sgd.db, ont = 'BP', keyType = 'ORF')

Group GO Terms by Ancestor

Classify genes by GO slim categories

ggo <- groupGO( gene = gene_list, OrgDb = org.Hs.eg.db, ont = 'BP', level = 3, # GO hierarchy level readable = TRUE )

Key Parameters

Parameter Default Description

gene required Vector of gene IDs

OrgDb required Organism database

keyType ENTREZID Input ID type

ont BP BP, MF, CC, or ALL

pvalueCutoff 0.05 P-value threshold

qvalueCutoff 0.2 Q-value (FDR) threshold

pAdjustMethod BH BH, bonferroni, etc.

universe NULL Background genes

minGSSize 10 Min genes per term

maxGSSize 500 Max genes per term

readable FALSE Convert to symbols

Related Skills

  • kegg-pathways - KEGG pathway enrichment

  • gsea - Gene Set Enrichment Analysis for GO

  • enrichment-visualization - Visualize enrichment results

  • differential-expression - Generate input gene lists

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Research

bio-microbiome-diversity-analysis

No summary provided by upstream source.

Repository SourceNeeds Review
Research

bio-restriction-fragment-analysis

No summary provided by upstream source.

Repository SourceNeeds Review
Research

bio-spatial-transcriptomics-image-analysis

No summary provided by upstream source.

Repository SourceNeeds Review
Research

bio-proteomics-dia-analysis

No summary provided by upstream source.

Repository SourceNeeds Review