MOFA2 多组学因子分析完整上手:零基础跑通第一次多组学整合
MOFA2 多组学因子分析完整上手:零基础跑通第一次多组学整合【免费下载链接】MOFA2Multi-Omics Factor Analysis项目地址: https://gitcode.com/gh_mirrors/mo/MOFA2MOFA2(Multi-Omics Factor Analysis v2)是一款专为多组学研究设计的无监督整合工具:它把同一批样本上的基因表达、甲基化、蛋白等多组学矩阵,压缩成少数几个可解释的因子,帮你找出跨组学共享的变异来源。这篇教程只走最短路径——装好环境、跑出第一张因子图、看懂因子代表什么。MOFA2 是什么,适合什么样的数据可以把因子分析理解成跨组学版本的 PCA:每个因子是一根潜在的变异主轴,各视图在因子上的权重告诉你这个信号由哪些分子层共同贡献 。它最适合同一批样本测了多种组学的场景,个别样本缺某一种测量也没关系。两个前提别忽略:样本量建议 ≥15,且数据要预先标准化——计数数据先做 size factor log 变换再进模型。三步装好 MOFA2,跑通第一个模型R 包负责接口与下游分析,实际训练由 Python 的 mofapy2 完成(通过 reticulate 桥接),所以环境要两边都备齐:# 1. 克隆 MOFA2 的 R 包源码 git clone https://gitcode.com/gh_mirrors/mo/MOFA2 # 2. Python 侧装训练引擎(会带出 numpy、h5py 等依赖) conda install -c biocfam mofapy2# 3. R 侧从本地安装 install.packages(c(remotes, reticulate)) remotes::install_local(MOFA2)装完别急着上真实数据,先用内置模拟数据走一遍建对象 → 配置 → 训练 → 出图:library(MOFA2) data - make_example_data(n_views 2, n_samples 100, n_features 100)[[1]] # 生成两个组学视图 mofa - create_mofa(data) # 建立 MOFA 对象 mofa - prepare_mofa(mofa) # 套用默认配置 mofa - run_mofa(mofa) # 训练(首次较慢) plot_dimred(get_factors(mofa)) # 因子降维散点图run_mofa若报 Python 相关错误,九成是 mofapy2 没装在 R 指向的那个环境里,用reticulate::py_config()核对路径即可。看懂因子:方差解释与协变量关联出图只是开始,真正值钱的是回答因子代表什么。两个最常用的后分析:calculate_variance_explained(mofa) # 每个因子解释了各视图多少方差 mofa2 - set_covariates(mofa, covariates age_mat) # 挂上临床变量 correlate_factors_with_covariates(mofa2) # 因子与年龄/分组的关联前者帮你筛主角:某因子在甲基化视图解释了 80% 方差、表达视图只有 10%,基本断定是甲基化特异的信号;后者把因子和表型直接挂钩,是进入生物学解读前的关键一步。想进一步追问这个因子上到底有哪些基因,可以对该因子单独做富集分析。实战:基因表达 × 甲基化整合以 40 个肿瘤样本、同一批测了 RNA-seq 和甲基化为例:先给每个视图选高变特征,维度大的那个多砍点,避免失衡;再用create_mofa传入两个矩阵(list 形式,samples × features)或长表(sample/feature/view/value 四列)。因子数先按默认 K10 起步,结合 ELBO 曲线与方差解释的边际贡献往下收敛;量纲差异大时,记得在数据选项里开scale_views TRUE,否则数值大的视图会垄断因子。跑通后还能用impute补全缺失视图,方便按因子做下游聚类。完整流程可对照 getting_started_R.Rmd 逐步验证。更多组学类型、MEFISTO 时间序列玩法与脚本模板,见 downstream_analysis.Rmd 和 template_script.R。【免费下载链接】MOFA2Multi-Omics Factor Analysis项目地址: https://gitcode.com/gh_mirrors/mo/MOFA2创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考