往期回首:
第1期.2024年了,上车代谢组学还不晚
第2期. 对于代谢组学,你必须了解的事
第3期.行将发车,快来学习代谢组学基本历程与技能
第4期. 快来学,一文掌捏代谢组学上游分析
Introduction
在上一期推文中,咱们先容了MetaboAnalyst在代谢组学上游分析中的行使以及MetaboAnalystR包简介,诸君小伙伴是否也曾对代谢组学下流分析迫不足待了呢?本文咱们将率领民众学习掌捏代谢组学下流分析之多元统计分析。
代谢组学下流分析,即从拿到矩阵数据起初,进行多元统计分析与口头识别、互异代谢物筛选、通路与功能分析等。代谢组学数据下流分析不错基于网页用具在线分析(如MetaboAnalyst等),也不错基于R话语个性化分析。这期咱们为民众先容基于R话语的MetaboAnalystR、ropls包。
本期的共享包括2个话题:
1. MetaboAnalystR包用于多元统计分析
2. ropls包用于多元统计分析
1
一、MetaboAnalystR包
MetaboAnalystR包是为代谢组学高低游分析开拓的集成R包(https://www.metaboanalyst.ca/docs/RTutorial.xhtml),装置法子参考github教程(https://github.com/xia-lab/MetaboAnalystR)。上期咱们简要先容了它在代谢组学上游分析中的行使。这期为民众带来的是MetaboAnalystR包在代谢组学多元统计分析中的实战行使。1. 加载R包、载入数据、表率化# 加载MetaboAnalystR包library(MetaboAnalystR)# 载入代谢组数据mSet<-InitDataObjects("pktable", "stat", FALSE) # 驱动化数据对象mSet,数据类型为“pktable”,分析类型为“stat”,不进行高维数据处置mSet<-Read.TextData(mSet, "https://rest.xialab.ca/api/download/metaboanalyst/human_cachexia.csv", "rowu", "disc") # 从CSV文献中读取数据,行数据示意样本,冲突变量类型# 履行数据表率化mSet<-SanityCheckData(mSet) # 对数据进行竣工性查验mSet<-ReplaceMin(mSet) # 替换数据中的最小值mSet<-PreparePrenormData(mSet) # 准备数据进行表率化处置mSet<-Normalization(mSet, "NULL", "NULL", "NULL", ratio=FALSE, ratioNum=20) # 对数据进行表率化,未指定具体表率化步伐2. 主要素分析(PCA)
# 主要素分析mSet<-PCA.Anal(mSet) # 对数据进行主要素分析,以降维和可视化高维数据,mSet是包含数据和分析成果的对象# 创建2D PCA得分图mSet<-PlotPCA2DScore(mSet, "pca_score2d_0_", format = "png", dpi=72, width=NA, 1, 2, 0.95, 1, 0) # "pca_score2d_0_"是输出文献的前缀,format="png"指定输出体式为PNG,dpi=72指定分辩率为72,width=NA示意使用默许宽度, 1和2指定绘画第1和第2主要素,0.95示意置信区间为95%,1示意深远样本点标签,0示意不深远置信椭圆
图片
MetaboAnalystR2D PCA得分图
3. 偏最小二乘判别分析(PLS-DA)# PLS回来分析mSet<-PLSR.Anal(mSet, reg=TRUE) # reg=TRUE示意进行回来分析,mSet是包含数据和分析成果的对象# 创建2D PLS得分图mSet<-PlotPLS2DScore(mSet, "pls_score2d_0_", "png", 72, width=NA, 1,2,0.95,1,0) # "pls_score2d_0_"是输出文献的前缀,"png"指定输出体式为PNG,72指定分辩率为72,width=NA示意使用默许宽度,1和2指定绘画第1和第2潜在变量,0.95示意置信区间为95%,1示意深远样本点标签,0示意不深远置信椭圆
图片
MetaboAnalystR
2D PLS得分图4. 正交偏最小二乘判别分析(OPLS-DA)# 正交偏最小二乘判别分析mSet<-OPLSR.Anal(mSet, reg=TRUE) # reg=TRUE示意进行回来分析,mSet是包含数据和分析成果的对象# 创建2D oPLS-DA得分图mSet<-PlotOPLS2DScore(mSet, "opls_score2d_0_", format = "png", dpi=72, width=NA, 1,2,0.95,1,0) # "opls_score2d_0_"是输出文献的前缀,format="png"指定输出体式为PNG,dpi=72指定分辩率为72,width=NA示意使用默许宽度,1和2指定绘画第1和第2潜在变量,0.95示意置信区间为95%,1示意深远样本点标签,0示意不深远置信椭圆
图片
MetaboAnalystR
2D oPLS-DA得分图
2
二、ropls包
ropls包用于进行偏最小二乘(PLS)回来、PLS判别分析(PLS-DA)和正交偏最小二乘(OPLS)分析。该包主要行使于代谢组学、卵白质组学和基因组学等高维生物数据的分析。本次为民众先容的是ropls包用于PLS-DA、OPLS-DA分析代码。
1. 加载R包、载入数据# 加载必要的R包library(ropls) # 用于PLS-DA和OPLS-DA分析library(ggplot2) # 用于数据可视化# 读取数据到data变量中,其中行是样本,列是代谢物特征data <- read.csv("metabolomics_data.csv", row.names = 12. PCA分析
# PCA分析pca_result <- prcomp(data, scale. = TRUE) # 使用prcomp函数进行PCA分析,scale. = TRUE示意表率化数据# 提真金不怕火PCA成果scores <- pca_result$x # 提真金不怕火PCA得分(样本在主要素空间中的坐标)# 可视化PCA成果ggplot(as.data.frame(scores), aes(PC1, PC2)) + # 使用ggplot2绘画PCA得分图,x轴是PC1,y轴是PC2 geom_point() + # 绘画样本点 theme_minimal() + # 使用简易的主题 labs(title = "PCA Score Plot", x = "PC1", y = "PC2") # 添加图标题和轴标签3. PLS-DA分析
# PLS-DA分析group <- factor(rep(c("Group1", "Group2"), each = nrow(data)/2)) # 数据分为两组,生要素组因子plsda_result <- opls(data, group, predI = 2, orthoI = 0) # 使用opls函数进行PLS-DA分析,predI = 2示意接管两个主要素,orthoI = 0示意不进行正交疗养# 提真金不怕火PLS-DA成果plsda_scores <- plsda_result@scoreMN # 提真金不怕火PLS-DA得分# 可视化PLS-DA成果ggplot(as.data.frame(plsda_scores), aes(p1, p2, color = group)) + # 使用ggplot2绘画PLS-DA得分图,x轴是p1,y轴是p2,按分组着色 geom_point() + # 绘画样本点 theme_minimal() + # 使用简易的主题 labs(title = "PLS-DA Score Plot", x = "PLS1", y = "PLS2") # 添加图标题和轴标4. OPLS-DA分析
# OPLS-DA分析oplsda_result <- opls(data, group, predI = 1, orthoI = 1) # 使用opls函数进行OPLS-DA分析,predI = 1示意一个臆测要素,orthoI = 1示意一个正交要素# 提真金不怕火OPLS-DA成果oplsda_scores <- oplsda_result@scoreMN # 提真金不怕火OPLS-DA得分# 可视化OPLS-DA成果ggplot(as.data.frame(oplsda_scores), aes(p1, o1, color = group)) + # 使用ggplot2绘画OPLS-DA得分图,x轴是p1,y轴是o1,按分组着色 geom_point() + # 绘画样本点 theme_minimal() + # 使用简易的主题 labs(title = "OPLS-DA Score Plot", x = "Predictive Score", y = "Orthogonal Score") # 添加图标题和轴标签
Summary
总结一下,代谢组学多元统计分析不错使用已开拓集成的代谢组学分析R包,举例MetaboAnalystR,也不错使用其他具有相似功能的R包,举例ropls等。后期咱们将连接带着民众通盘从浅入深地战斗、相识、掌捏代谢组学!
图片
本站仅提供存储管事,统共践诺均由用户发布,如发现存害或侵权践诺,请点击举报。