Github开源生信云平台 DEMO
你提到的这篇文章(Impacts of host genetics on gut microbiome composition in Alzheimer's disease)确实采用了 topic 的思想:将数百甚至上千个菌的丰度表示压缩为少数几个 latent topics(潜在菌群模块),每个样本对应一个 topic score,再用 topic score 做 GWAS、MR、ROC、回归分析等。(Springer)
实际上,这属于**高维微生物组降维(representation learning)**的问题,目前有不少方法。
下面按照近年来微生物组分析中的主流程度排序。
这就是这篇文章采用的方法。
思想类似文本分析:
Sample ↓ Topic1 0.15 Topic2 0.72 Topic3 0.05 ...
每个 Topic 是
Topic 3 Prevotella Faecalibacterium Roseburia Blautia ...
一个菌可以属于多个 topic。
优点:
这是目前 microbiome 中越来越流行的方法。(OUP Academic)
实际上很多文章认为:
Topic model ≈ Bayesian NMF
NMF把矩阵
Samples × Species
分解成
Samples × K
以及
K × Species
得到
Module1 Module2 Module3 ...
最后每个样本得到
Module score
微生物组中应用非常广泛。(OUP Academic)
最经典。
PC1 PC2 PC3 ...
优点
缺点
PC 是
+0.31 A -0.27 B +0.11 C ...
存在正负载荷,
生态学解释通常没有 Topic/NMF 好。
如果你的目标是
菌 ↓ 预测 phenotype
PLS 比 PCA 更适合。
因为 PCA
只解释 X 的方差。
PLS
直接寻找
菌 ←→ phenotype
共同变化最大的方向。
如果最终是 ROC、Logistic、GWAS,
PLS 往往比 PCA 更有效。
近年来很多文章开始采用
Species ↓ Encoder ↓ 32维 embedding ↓ 预测疾病
例如
500菌 ↓ 32维 ↓ Logistic
这就是 DeepMicro 的思路。(PMC)
解释性差。
相比普通 AE
加入概率建模
z1 z2 ... z16
可以理解为
latent microbiome space。
很多近年的深度学习文章都采用这种方式。(PMC)
很多人只知道它用于 RNA-seq。
其实菌群也完全可以。
流程:
菌 ↓ 共丰度网络 ↓ Module ↓ Module eigengene
最后得到
MEblue MEgreen MEbrown ...
这些 eigengene 本质就是
每个样本一个连续变量。
然后直接
MEblue ↓ GWAS ↓ ROC ↓ Logistic
解释性非常强。
如果以后你有
Microbiome Metabolomics Transcriptome Proteomics
MOFA 可以统一得到
Factor1 Factor2 Factor3
这些 factor 可以直接关联疾病。
目前 microbiome 最经典流程之一:
Relative abundance ↓ CLR transformation ↓ PCA
因为菌丰度属于组成型数据(Compositional Data),CLR 后再做 PCA 更符合统计假设。
比 LDA 更进一步。
例如加入
Disease Age Sex BMI
让 topic 与 phenotype 联合学习。
Disease-associated Topic
比普通 LDA 更适合寻找疾病相关菌群。
例如最终希望得到
Topic Score ↓ ROC ↓ AUC
或者
Topic Score ↓ GWAS
我建议优先考虑以下几种方案:
如果你的数据规模在 1000–10000 个样本、数百到上千个菌,并且后续还要做 GWAS、PRS、MR,我通常会推荐 STM(或 LDA)+ NMF + WGCNA 三种方法进行对比,因为它们都能生成每个样本的一维或少数几个连续变量,同时具有较好的生物学解释性,也越来越多地出现在高水平微生物组研究中。(PMC)