
Glycan-Centric GO Over Representation Analysis
enrich_gc_ora_go.RdPerforms glycan-centric Gene Ontology (GO) Over-Representation Analysis (ORA). Instead of traditional protein-centric enrichment, this function links specific glycan traits (e.g., core-fucosylation, sialylation) to functional annotations. It identifies which biological functions are significantly enriched in proteins exhibiting specific glycosylation changes, grouping the differential analysis results by trait before performing ORA.
Usage
enrich_gc_ora_go(
dea_res,
dea_p_cutoff = 0.05,
dea_log2fc_cutoff = c(-1, 1),
orgdb = "org.Hs.eg.db",
ont = "MF",
universe = NULL,
p_adj_method = "BH",
p_cutoff = 0.05,
q_cutoff = 0.2
)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).- orgdb
Passed to
OrgDbofclusterProfiler::enrichGO().- ont
Passed to
ontofclusterProfiler::enrichGO(). "BP", "MF", "CC", or "ALL". Defaults to "MF".- universe
Background genes Uniprot IDs, directly passed to
universeofclusterProfiler::enrichGO(). 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
Passed to
pAdjustMethodofclusterProfiler::enrichGO().- p_cutoff
Passed to
pvalueCutoffofclusterProfiler::enrichGO().- q_cutoff
Passed to
qvalueCutoffofclusterProfiler::enrichGO().
Value
A list with two elements:
tidy_result: A tibble with enrichment results containing the following columns:trait: Glycan traitid: Term IDdescription: Term descriptiongene_ratio: Ratio of genes in the term to total genes in the inputbg_ratio: Ratio of genes in the term to total genes in the backgroundrich_factor: Proportion of the term's total background genes found in the inputfold_enrichment: Ratio ofgene_ratiotobg_ratio(magnitude of enrichment)z_score: Directional trend of regulation (positive for up, negative for down)p_val: Raw p-value from hypergeometric testp_adj: Adjusted p-valueq_val: Q-value (FDR)gene_id: Gene IDs in the term (separated by "/")count: Number of genes in the term
raw_result: The raw clusterProfiler clusterProfResult object
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