
Glycan-Centric WikiPathways Over Representation Analysis
enrich_gc_ora_wp.RdPerforms glycan-centric WikiPathways Over-Representation Analysis (ORA). Instead of traditional protein-centric enrichment, this function links specific glycan traits to biological pathways. It helps answer questions like "Which WikiPathways are enriched in proteins with a specific dysregulated glycan motif?", by grouping differential analysis results by glycan traits and computing pathway enrichment for each trait.
Usage
enrich_gc_ora_wp(
dea_res,
dea_p_cutoff = 0.05,
dea_log2fc_cutoff = c(-1, 1),
organism = "Homo sapiens",
universe = NULL,
p_adj_method = "BH",
p_cutoff = 0.05,
q_cutoff = 0.2,
min_gs_size = 10,
max_gs_size = 500
)Arguments
- dea_res
Differential analysis result. Can be one of:
Result from
glystats::gly_limma()(two groups),glystats::gly_ttest(), orglystats::gly_wilcox(), called on anglyexp::experiment()of "traitproteomics" type.A tibble with the following columns:
protein: Uniprot ID of proteinstrait: A glycosylation trait (e.g. "TFc" for proportion of core-fucosylated glycans)site: The glycosylation site.p_val: p-values, preferably adjusted p-valueslog2fc: log2 of fold change
- dea_p_cutoff
P-value cutoff for statistical significance. Defaults to 0.05. For
glystatsresult input, adjusted p-values are used.- dea_log2fc_cutoff
Log2 fold change cutoff statistical significance. A length-2 numeric vector, being negative and positive boundaries, respectively. For example,
c(-1, 1)means "log2fc < -1 or log2fc > 1", andc(-Inf, 1)means "log2fc > 1". Defaults toc(-1, 1).- organism
WikiPathways organism name. Passed to
organismofclusterProfiler::enrichWP(). Defaults to "Homo sapiens". UseclusterProfiler::get_wp_organisms()to see available organisms.- universe
Background genes Uniprot IDs, directly passed to
universeof downstream enrichment function. IfNULL(default), all genes in the data will be used. Another common pattern is to use all detected proteins as backgroud genes. You can usedetected_universe()to help you.- p_adj_method
P-value adjustment method. One of "holm", "hochberg", "hommel", "bonferroni", "BH", "BY", "fdr", "none". Passed to
pAdjustMethodof downstream enrichment function. Defaults to "BH".- p_cutoff
P-value cutoff to filter significant terms. Passed to
pvalueCutoffof downstream enrichment function. Defaults to 0.05.- q_cutoff
Q-value (FDR) cutoff to filter significant terms. Passed to
qvalueCutoffof downstream enrichment function. Defaults to 0.2.- min_gs_size
Minimal size of each gene set for analyzing. Gene sets with fewer genes than this threshold will be excluded. Passed to
minGSSizeof downstream enrichment function. Defaults to 10.- max_gs_size
Maximum size of each gene set for analyzing. Gene sets with more genes than this threshold will be excluded. Passed to
maxGSSizeof downstream enrichment function. Defaults to 500.
Value
A clusterProfiler compareClusterResult object with additional glyfun classes.
It can be readily converted to a tibble with tibble::as_tibble(),
or visualized with clusterProfiler functions like clusterProfiler::dotplot().
What is glycan-centric enrichment?
In traditional glycoproteomics data analysis,
we usually perform differential expression analysis (DEA) on glycoforms,
extract proteins that have dysregulated glycosylation,
then perform functional enrichment (e.g. GO) on these proteins.
This is what enrich_xxx() functions do (e.g. enrich_ora_go()).
enrich_gc_xxx() functions differ in that they link specific glycan traits with functional annotations.
Instead of answering the question
"Which functions are enriched in dysregulated glycoproteins?",
enrich_gc_xxx() answers questions like
“Which functions are enriched in proteins with dysregulated core-fucosylation?”
Higher specificity, deeper insights. By focusing on distinct glycan motifs,
it helps you pinpoint the functional relevance of specific glycosylation changes.
Common usage pattern
A common pattern of using this function is:
# 1. Use `glydet` to calculate derived traits or motif quantification.
trait_exp <- derive_traits(exp) # or `quantify_motifs()`
# 2. Perform differential analysis with `glystats`.
dea_res <- gly_ttest(trait_exp)
# 3. Use this function.
go_res <- enrich_gc_ora_go(dea_res) # or other `enrich_gc_xxx()` functions