Perform fuzzy clustering on gene-level time-course matrix using Mfuzz
Source:R/tools.R
run_mfuzz_clustering.RdApplies fuzzy c-means clustering (via Mfuzz) to a gene-by-sample numeric matrix (e.g., log2FC, expression, or kinetic values). Each gene is assigned to the cluster with the highest membership score.
This function is typically used to classify dynamic genes (e.g., DEGs) into temporal response patterns.
Value
A tibble with three columns:
- gene
Gene identifier (rownames of input matrix).
- gene_group
Cluster assignment label (e.g., "C1", "C2", ...).
- type
Character label, default set to "DEGs".
Details
The workflow includes:
Filtering genes by row-wise standard deviation.
Z-score standardization using
Mfuzz::standardise().Automatic estimation of fuzzifier parameter
m.Fuzzy c-means clustering.
Hard assignment based on maximum membership.