MetaLonDA(META基因组纵向差分丰度方法)是一种在纵向研究中识别微生物特征的重要时间间隔的方法。 MetaLonDA能够解决人群研究中的不一致问题和常见挑战,例如可变的样本采集时间和受试者纵向研究中时间点不均匀。 该方法采用负二项式分布与半参数SS-ANOVA相结合来对读取计数进行建模。 然后使用置换测试程序基于单位时间间隔执行重要性测试。
MetaLonDA安装
install.packages("MetaLonDA")
或者
library(devtools)
install_github("aametwally/MetaLonDA", ref = "master")
示例
library(MetaLonDA)
## 导入示例数据
data(metalonda_test_data)
View(metalonda_test_data[,1:20])
## 构建 Group, Time, and ID 向量
n.group = 2
n.sample = 5
n.timepoints = 10
Group = factor(c(rep("A", n.sample*n.timepoints), rep("B",n.sample*n.timepoints)))
Time = rep(rep(1:n.timepoints, times = n.sample), 2)
ID = factor(rep(1:(2*n.sample), each = n.timepoints))
## 定义预测时间点
points = seq(1, 10, length.out = 100)
测试一个feature
## 确定第5个feature的重要时间间隔(time intervals):
output.metalonda.f5 = metalonda(Count = metalonda_test_data[5,], Time = Time, Group = Group,
ID = ID, n.perm = 100, fit.method = "nbinomial", points = points,
text = rownames(metalonda_test_data)[5], parall = FALSE, pvalue.threshold = 0.05,
adjust.method = "BH", time.unit = "days", ylabel = "Normalized Count",
col = c("black", "green"), prefix = "Test_F5")
在我们的示例中,我们仅使用20个permutation来展示MetaLonDA的工作原理。 在实际分析中,这个数字应该更高,至少1000。 运行以上代码段后,将生成三个数字:
- 该图显示了功能在不同时间点的计数轨迹:
2. 图显示了每个组的拟合样条线:
3.如果存在重要的时间间隔,则会生成下图以突出显示重要的时间间隔。
测试所有feature
## 确定所有feature的重要时间间隔:
output.metalonda.all = metalondaAll(Count = metalonda_test_data, Time = Time, Group = Group,
ID = ID, n.perm = 100, fit.method = "nbinomial", num.intervals = 100,
parall = FALSE, pvalue.threshold = 0.05, adjust.method = "BH", time.unit = "hours",
norm.method = "none", prefix = "Test_metalondaALL", ylabel = "Read Counts",
col = c("black", "green"))
在运行完上述代码段以测试计数矩阵中的所有feature以及每个feature的2-3个图形后,MetaLonDA生成以下两个主要文件:
1. 图中显示了两组之间差异丰度的特征的时间间隔。 每条线代表相应特征的有效时间间隔的范围。
2.差异丰度特征的所有有意义的时间间隔的描述。