MOFSR (Multi-Omics Fusion for Subtype Recognition) is a comprehensive R package for integrative analysis of multi-omics data. The package provides:
library(MOFSR)
set.seed(42)
# Simulate three-omics data with 3 subtypes
n_samples <- 60
n_features <- c(500, 200, 100) # mRNA, miRNA, methylation
# Generate cluster labels
true_clusters <- rep(1:3, each = 20)
# Generate data with cluster structure
generate_omics <- function(n, p, clusters) {
n_clusters <- length(unique(clusters))
centers <- matrix(rnorm(n_clusters * p, sd = 2), n_clusters, p)
data <- t(sapply(clusters, function(k) {
centers[k, ] + rnorm(p, sd = 1)
}))
colnames(data) <- paste0("Feature_", seq_len(p))
rownames(data) <- paste0("Sample_", seq_len(n))
return(t(data)) # Return features x samples
}
data_list <- list(
mRNA = generate_omics(n_samples, n_features[1], true_clusters),
miRNA = generate_omics(n_samples, n_features[2], true_clusters),
methylation = generate_omics(n_samples, n_features[3], true_clusters)
)
cat("Data dimensions:\n")
sapply(data_list, dim)# Run multiple algorithms
algorithms <- c("SNF", "RGCCA", "CPCA")
results <- lapply(algorithms, function(alg) {
run_integration(data_list, algorithm = alg, n_clusters = 3)
})
names(results) <- algorithms
# Compare clustering agreement
ari_matrix <- compare_clusterings(results)
print(round(ari_matrix, 3))