rda分析怎么做_PCA、PCoA、NMDS 、RDA和CCA等排序分析方法
原来你是这样的排序分析
杨慧 宏基因组 2017-12-16
微生态相关文献中都经常出现。这些分析成图相似,且都是通过样本点之间的距离反映样本间菌群结构的相似性和差异性。因此很多研究人员纠结于如何选择恰当的排序方法来研究自己的测序数据或展示自己的研究结果?
今天就由小美手持放大镜,咱们一起领略排序分析的新视界......
排序分析的异同点?
PCA、PCoA和NMDS分析属于非约束性排序分析,而RDA/CCA和db-RDA分析属于约束性排序分析,即分别是在环境因子的约束条件下进行的PCA和PCoA分析。因此,一般主要利用PCA、PCoA或NMDS分析进行样本比较,反映样本间菌群结构的相似性和差异性,从而分析组间样本能否明显区分开;而RDA/CCA和db-RDA分析则多用来阐述环境因子对样本菌群结构变化的影响,不仅可以反映样本、物种和环境因子之间的相关性,而且可以找出对物种分布变化影响程度较大的环境因子。
小美还贴心的为您总结了这“5胞胎”的异同点:
距离算法为何会影响排序结果?
很多人在对数据进行分析时会惊奇的发现,PCoA和db-RDA分析选择不同的距离算法会产生不同或类似的结果,WHY?
我们以PCoA分析为例:
图注:4种距离的PCoA分析。不同颜色代表不同的样本组别
同一数据,小美分别选择了euclidean,weighted _unifrac,binary_euclidean和unweighted_unifrac这4种距离进行分析,结果发现后2种距离可以将3组样本明显区分开来,且组内差异较小;反之,前2种距离区分效果不佳。
究其原因,在于前2种距离除此之外还考虑了物种在各个样本中的丰度分布,而后2种距离只考虑了样本中物种存在与否。因此在只考虑样本中物种是否存在时能够将不同的样本组区分且组内差异较小。那么后续针对这种数据类型是选择只考虑物种有无的距离算法将获得更佳的聚类效果,反之亦然。
PCA添加环境因子与RDA有何区别?
PCA分析也是可以添加环境因子的。那我做个带环境因子的PCA不就O啦,为啥还要进行RDA分析呢?
如下图所示:
图注:不同颜色代表不同的样本组别
使用同一数据分别进行PCA和RDA分析。小美无论选择多少环境因子对PCA排序结果是没有任何影响的;而RDA分析中选择不同的环境因子可得到不同的排序结果。
出现这种情况的结果的原因是PCA分析作为非约束性排序,环境因子加入并不会影响样本间菌群差异获得的排序结果;而RDA分析是在所选择的环境因子的约束条件下进行的PCA分析,因此选择不同的环境因子组合会产生的不同的排序分析结果。
高能预警!!!排序分析文献大放送啦!让我们看看科研人员们都是如何选择排序分析的......
1. PCA分析
Title:Impacts of addition of natural zeolite or a nitrification inhibitor on antibiotic resistance genes during sludge composting
DOI.org/10.1016/j.watres.2016.01.010
析解读:PCA分析发现,在污泥堆肥过程中(图中不同的圆圈代表不同的污泥堆肥过程)的不同阶段,微生物的群落结构发生了较大的变化,天然沸石和硝化抑制剂DMPP的加入不会改变微生物群落的演变速率。
2. PCoA分析
Title:Maturation of the infant microbiome community structure and function across multiple body sites and in relation to mode of delivery
DOI:10.1038/nm.4272
分析解读:PCoA分析表明,分娩时新生儿身体各部位菌群结构组成差异较小;而出生6周后的婴儿身体各部位菌群结构组成差异显著。
3. NMDS分析
Title: The microbiome of coral surface mucus has a key role in mediating holobiont health and survival upon disturbance
DOI:10.1038/ismej.2016.9
分析解读:NMDS分析发现,珊瑚表面粘液与海水和沉积物样本可以明显区分开;新粘液与老化粘液菌群具有一定差异;当老化粘液层释放后,其菌群恢复至新粘液的初始状态。此外,该图右下角展示了NMDS分析的stress值。
友情提示:近一年来,我们可能会发现文献中使用NMDS分析时大多会在图中添加这个神秘的stress值,那么它到底有何含义呢?Strees值其实反映了NMDS分析结果的优劣。通常认为stress<0.2时,使用NMDS分析的结果具有一定的解释意义;当stress<0.1时,可认为是一个好的排序结果;当stress<0.05时,则表明分析结果具有极好的代表性。
4. RDA/CCA分析
Title:Comparison of community structures of Candidatus Methylomirabilis oxyfera-like bacteria of NC10 phylum in different freshwater habitats
DOI:10.1038/srep25647
分析解读:CCA分析表明,沉积物/土壤中氨氮(NH4+-N)和总无机氮(TIN)含量是与检测样本中NC10细菌集合体变化相关的2个最重要环境因素。
5. db-RDA分析
Title: Weight gain in anorexia nervosa does not ameliorate the faecal microbiota, branched chain fatty acid profles, and gastrointestinal complaints
DOI:10.1038/srep26752
分析解读:db-RDA分析表明,疾病状态和年龄与菌群结构显示出相关性,其中疾病状态与菌群结构显著相关(p=0.011,图A);仅分析AN患者发现AN亚型对微生物菌群结构具有显著影响(p=0.008,图B)。
友情提示:一般运用RDA/CCA或db-RDA分析的文献中还会以文字描述的形式提供某个环境因子对物种分布影响程度的大小(r2值)和显著性P值。
rda_envfit表格文件结果:
表格解读:RDA1和RDA2列:表示环境因子与排序轴之间的相关性;
ef.vectors.r(即r2值):表示环境因子与物种分布的决定系数,该值越小则该环境因子对物种分布的影响越小;
Ef.vectors.pvals(即p值):相关性的显著性检验值。
三文读懂PCA和PCoA(一)
宏基因组 2018-04-30
以下文章来源于金唯智生物科技 ,作者Baicun
金唯智生物科技
金唯智在全球范围内为科学研究人员提供高通量测序、Sanger测序、基因合成、引物合成、分子生物学服务及GLP标准规范服务。让我们一起做世界最好,为世界更好。
本文转载自“金唯智生物科技”,已获授权。
在微生物NGS测序领域的高分文章中,PCA(主成分分析)和PCoA(主坐标分析)会很常见。甚至在RNA分析领域,很多研究和文章也会依据基因的表达量作PCA和PCoA分析。
常见的PCA和PCoA分析以下图的形式呈现:
国际空间站与喷气推进实验室依据种群多样性进行的PCoA分析[1]
不同培养条件马铃薯浆发酵液的菌群差异[2]
很明显,我们可以通过分析坐标轴中样本和样本之间的距离直观地看到2个样本或2组样本之间的菌群差异性。若2个样本或2组样本之间的直线距离较近,则表示这2个样本或2组样本的菌群差异性较小;相反,若2个样本或2组样本之间的直线距离较远,则表示它们之间菌群差异性较大。所以,PCA和PCoA所呈现的结果,具有直观性(直接看两点之间的距离)和完整性(呈现所有样本),且数据易于分析和解读(大家都看得懂)。
那么,PCA和PCoA是如何定义的?PCA和PCoA之间是否有区别?何时该选用PCA或何时该选用PCoA?PCA和PCoA背后的分析原理如何?相信这些问题是比较困扰读者的。
PCA和PCoA的定义
PCA(Principal Components Analysis)即主成分分析,也称主分量分析或主成分回归分析法,首先利用线性变换,将数据变换到一个新的坐标系统中;然后再利用降维的思想,使得任何数据投影的第一大方差在第一个坐标(称为第一主成分)上,第二大方差在第二个坐标(第二主成分)上。这种降维的思想首先减少数据集的维数,同时还保持数据集的对方差贡献最大的特征,最终使数据直观呈现在二维坐标系[3]。
PCoA(Principal Co-ordinates Analysis)分析即主坐标分析,可呈现研究数据相似性或差异性的可视化坐标,是一种非约束性的数据降维分析方法,可用来研究样本群落组成的相似性或相异性。它与PCA类似,通过一系列的特征值和特征向量进行排序后,选择主要排在前几位的特征值,找到距离矩阵中最主要的坐标,结果是数据矩阵的一个旋转,它没有改变样本点之间的相互位置关系,只是改变了坐标系统。两者的区别为PCA是基于样本的相似系数矩阵(如欧式距离)来寻找主成分,而PCoA是基于距离矩阵(常用bray, jaccard, unifrac)来寻找主坐标[4]。
好吧,定义比较抽象,我们还是无法看懂看透PCA和PCoA。不急,下面的文字很重要~~~
PCA和PCoA的区别
1.PCA的理解
a. 假如有3个实验样本,它们共有1个物种x,那么我们其实可以用物种x的相对丰度来表示样本和样本之间的差异。这样我们就可以画一个一维坐标轴,将这3个样本的物种x的丰度表示在一维轴线上,如下图所示:物种x在A, B, C三个样本中的相对丰度
(上部分为物种组成矩阵,下部分为样本的坐标系呈现)
此时数据不发生偏移,样本和样本之间的距离代表样本之间的物种丰度差异(实际上样本A和B间的距离即为A中的物种x的丰度与B中物种x的丰度的差值)。
b. 假如有3个实验样本,它们共有2个物种:x和y。那么我们其实可以用物种x和物种y的相对丰度来在二维坐标系中定位样本。A=(x1,y1), B=(x2,y2),C=(x3,y3),如下图所示:物种x和y在A, B, C三个样本中的相对丰度
(上部分为物种组成矩阵,下部分为样本的坐标系呈现)
此时数据不发生偏移,样本和样本之间的距离代表样本之间的物种丰度差异。
c. 假如有3个实验样本,它们共有k个物种: x, y, z…………k。那么我们其实可以用物种x, y, z…………k的丰度来定位样本A=(x1,y1,z1……………k1)。同理,样本B与C也可以用这种形式表示。细心的同学可以发现,其实A=(x1,y1,z1……………k1)是一组向量,而且是k维向量(A=(x1)是一维向量,A=(x1,y1)是二维向量,A=(x1,y1,z1)是三维向量)。但是k维向量无法在二维坐标系(平面)中表示(一维和二维向量可以,如上a和b两种情况)。此时我们要么将K维向量作出一些取舍,如削去一些不重要的向量仅保留2个关键向量(削去一些不重要的物种仅保留2个关键物种);要么将K维向量投射到二维坐标系中(降维),但是此时数据便会损失,例如下图,我们将二维坐标系中的数据投射到一维坐标系中,实际数据会折扣掉一部分(A和B的直线距离为5,投射到x轴的一维距离为4,投射到y轴的一维距离为3。从第一维坐标轴上观察A和B的距离只有4,从第二维坐标轴上观察A和B的距离只有3。)。将二维空间数据投射到一维空间中存在数据损失
因此将k维空间的数据投射到二维空间上(降维),就会产生数据损失,此时坐标轴的贡献率就不再是100%,而是小于100%(而a和b两种情况无需降维处理,因此贡献率为100%)。此时数据如下图所示:将k维空间数据投射到二维空间中
(上部分为物种组成矩阵,下部分为样本的坐标系呈现)
因降维处理,数据发生损失,样本和样本之间的距离代表样本之间的物种丰度差异。
那么如何来选择投影?这就是定义当中所提到的“使得任何数据投影的第一大方差在第一个坐标(称为第一主成分)上,第二大方差在第二个坐标(第二主成分)上”。
2.PCoA的理解
a. 假如有2个实验样本,它们都有很多物种,那么我们可以用Bray-Curtis或UniFrac(或其他算法)计算每个样本的物种组成差异度(用一个数值表示物种相对丰度),数值之间的差异就代表了2个样本的物种相对丰度的差异。这样我们就可以画一个一维坐标轴,将这2个样本表示在一维轴线上,如下图所示:2个样本在一维坐标系中呈现
(上部分为物种组成矩阵,下部分为样本的坐标系呈现)
此时数据不发生偏移,样本和样本之间的距离代表样本之间的物种丰度差异。
b. 假如有3个实验样本,同样可以用Bray-Curtis或UniFrac(或其他算法)计算每个样本的物种组成差异度(用一个数值表示物种相对丰度),数值之间的差异就代表了每2个样本的物种相对丰度的差异。这样我们就可以画一个二维坐标轴(三点组成一个面),将这3个样本表示在二维轴线上,如下图所示:3个样本在二维坐标系中呈现
(上部分为物种组成矩阵,下部分为样本的坐标系呈现)
此时数据不发生偏移,样本和样本之间的距离代表样本之间的物种丰度差异。
c. 以此类推,假如有n个实验样本,同样可以用Bray-Curtis或UniFrac(或其他算法)计算每个样本的物种组成差异度(用一个数值表示物种相对丰度),数值之间的差异就代表了每2个样本的物种相对丰度的差异。这样我们就可以画一个n-1维坐标轴,将这n个样本表示在n-1维空间中。但是n-1维空间无法在平面上表示(一维和二维除外,三维勉强可以),因此只能利用矩阵呈现,如下图所示:n个样本的矩阵示意图
若要将n-1维的数据在二维坐标系中呈现,需降维处理,即将n-1维的数据投影到二维空间当中,方法与思路同PCA类似。此时,2个坐标轴的贡献率均小于100%,如下图所示:n个样本在二维空间中呈现(只展示了3个样本)
因降维处理,数据发生损失,样本和样本之间的距离代表样本之间的物种丰度差异。
这个时候, PCA和PCoA就好理解了。我们再回过头看定义“PCA是基于样本的相似系数矩阵(如欧式距离)来寻找主成分,而PCoA是基于距离矩阵(欧式距离以外的其他距离)来寻找主坐标”,其实浅显地来理解,就是上面这么回事。
我们知道了PCA和PCoA的定义,也理解了PCA和PCoA的区别,那么它们该何时选用,以及背后的算法如何?欲知后事如何,且听下回分解。
特此声明:
1、 本文仅供读者理解,不涉及专业学术论证;
2、 本文为小编的一点感悟心得,非常欢迎各位业界同行的讨论与交流,同时也非常欢迎各位专家老师的指正,您的一个问题会使我们共同进步!
参考文献:
[1] Aleksandra Checinska et al., Microbiomes of the dust particles collected from the International Space Station and Spacecraft Assembly Facilities. Microbiome. 2015
[2] Zhiman Yang et al., Enhanced methane production via repeated batch bioaugmentation pattern of enriched microbial consortia. Bioresource Technology. 2016
[3] https://baike.baidu.com/item/主成分分析/829840?fr=aladdin
[4] http://blog.sina.com.cn/s/blog_49e55e450102uzj8.html
rda分析怎么做_PCA、PCoA、NMDS 、RDA和CCA等排序分析方法相关推荐
- rda分析怎么做_利用Oracle RDA快速收集Oracle产品分析数据
Remote Diagnostic Agent (RDA) 是一个工程师用Perl语言编写的命令行诊断工具,RDA提供统一的诊断工具支持包和预防的解决方法.提供给Oracle支持收集的客户环境全面的数 ...
- rda分析怎么做_oracle诊断工具-RDA使用
收藏[@more@]RDA是Remote Diagnostic Agent 的简称,是oracle用来收集.分析数据库的工具,运行该工具不会改变系统的任何参数,RDA收集的相关数据非常全面,可以简化我 ...
- rda分析怎么做_群落分析的冗余分析(RDA)概述
约束排序之冗余分析(RDA)概述 前篇先后简介了主成分分析(PCA).对应分析(CA).主坐标分析(PCoA)以及非度量多维尺度分析(NMDS).这些排序方法均属于非约束排序,只涉及一个数据矩阵,并在 ...
- rda分析怎么做_数量生态学笔记||冗余分析(RDA)
上一节数量生态学笔记||冗余分析(RDA)概述中,我们回顾了RDA的计算过程,不管这个过程我们有没有理解透彻,我希望你能知道的是:RDA是响应变量矩阵与解释变量之间多元多重线性回归的拟合值矩阵的PCA ...
- 用c语言编写因子分析程序,相应分析的R包ca和mca,cca,RDA的R实现整理
对应分析(correspondence analysis, CA)是在因子分析的基础上发展起来的方法,通过对原始数据采用适当的标度方法,把R型因子分析(对变量)和Q型因子分析(对样品)结合起来,同时得 ...
- 在线作图|在线做Unifrac PCoA分析
Unifrac PCoA分析 UniFrac分析利用各样品序列间的进化信息来比较环境样品在特定的进化谱系中是否有显著的微生物群落差异.UniFrac 可用于beta 多样性的评估分析,即对样品两两之间 ...
- 跟着iMeta学做图|NMDS分析展示群落beta多样性
原始教程链接:https://github.com/iMetaScience/iMetaPlot/tree/main/221108NMDS 写在前面 非度量多维尺度分析(Non-metric mult ...
- 在线作图丨高级的微生物分析——在线做Variance Partitioning Analysis(VPA分析)
今天小编给大家分享点厉害的干货~ Question 1:什么是VPA? 群落分析中常见的环境因子分析包括CCA典范对应分析(canonical correspondence analysis)和RDA ...
- python财务报表分析-需要做财务数据分析,有什么好用的工具?
提供两个建议: 1.常规报表比如财务三大报表,可以用报表工具开发成固定模板,形成固定报表,只要数据导入就能实时查看,避免常常去处理数据. 下图由报表工具FineReport制成,通过设计好一个固定模板 ...
- 作业指导书分析怎么做?制作作业指导书分析的软件有哪些?
作业指导书分析是企业员工行为准则的标准,在企业中起着至关重要的作用.作业指导书分析怎么做?掌握以下几点就能轻松搞定. 1.绘制作业流程图.所谓流程图,就是根据企业现有的设备和工艺以及产品的生产流程,标 ...
最新文章
- 嵌入式linux dhcp移植,嵌入式linux中的dhcp服务器
- sqlyog怎么设置默认值_详细讲解如何用SQLyog来分析MySQL数据库
- 作为IT面试官,我如何考核计算机专业毕业生?作为培训班老师,我又如何提升他们?...
- github和maven_在github上托管Maven存储库(包含源代码和javadoc)
- 未来编程语言的走向_在编程方面我从失败走向成功的过程以及让我成功的原因
- [Noip2018]旅行
- Linux 下,系统时间毫秒级命名文件
- 一台mysql数据库服务器_在一台服务器安装多个MySQL数据库
- SQL:MongoDB简述
- 决策树算法python源代码_CART决策树(Decision Tree)的Python源码实现
- windows + hadoop + eclipse 过程记录
- 【语音采集】基于matlab GUI语音信号采集【含Matlab源码 291期】
- WebRAY权小文:产品就是工程师的尊严
- 关于 Spring 中 getBean 的全流程源码解析
- 系统无忧 Ghost XP SP3 快速装机版V2011.07
- 希望我能帮助你:关于软件开发的建议
- 中职计算机教学工作随笔,教学随笔(精选15篇)
- 数据结构与算法38-鸭棋
- 微信小程序,一个有局限的类似 React Native 轮子
- java基础语言+面向对象_经典案例——65个
热门文章
- Pepper/Nao中级教程:第六章 Choregraphe写App时缺少Python lib库时如何解决
- Macbook Pro Air锁屏不进入睡眠
- 买到Windows新电脑必做的6个优化设置(强烈建议)
- 【手把手带你学JavaSE】第八篇:抽象类和接口
- ai面试的优缺点_如果你的面试官是机器人?那么你该如何表现?
- web工程引用其他java工程_并读取spring配置文件_SpringBoot项目实战(8):四种读取properties文件的方式...
- Android 常用简单bat脚本
- 一文彻底搞懂方差、协方差、协方差矩阵
- 笔记本计算机bios设置,笔记本怎么进入bios设置【方法步骤】
- STC15单片机定时器0工作模式介绍