代谢物亦称中间代谢物,是指通过代谢过程产生或消耗的物质,生物大分子不包括在内。代谢组是指生物体内源性代谢物质的动态整体(代谢物的集合)。而传统的代谢概念既包括生物合成,也包括生物分解,因此理论上代谢物应包括核酸、蛋白质、脂类生物大分子以及其他小分子代谢物质。代谢组目前只涉及相对分子质量约小于1000的小分子代谢物质。代谢组学是对某一生物或细胞在一特定生理时期内所有低分子量代谢产物同时进行定性和定量分析的一门新学科。以组群指标分析为基础,以高通量检测和数据处理为手段,以信息建模与系统整合为目标的系统生物学的一个分支。代谢组研究有非靶向和靶向两种,非靶向代谢组学无偏向地检测样本中所有能检测到的代谢物分子,通过生信方法进行差异分析和通路分析,寻找生物标志物。靶向代谢则是针对特定的代谢物进行检测。
对代谢组进行研究,能够考察生物体系在特定时期受到刺激或扰动前后所有小分子代谢物的组成及其含量变化,从而表征生物体系的整体代谢特征。如:糖、有机酸、脂质、维生素、氨基酸、芳香烃等。也可以 研究代谢物表达量的变化,代谢物与生理病理变化的关系,寻找生物标志物,发现代谢途径。
详细样品检测步骤请参见实验检测报告。
本代谢组分析流程基于R语言MetaboAnalystR包[1]。如图2-2,代谢组的数据分析流程如下:
除非明确指出,本结题报告的分析内容都使用R语言MetaboAnalystR包 [1]完成
00-DataProcess/ ├── 01-QA_QC │ ├── AllSample_PC1.svg [第一主成分(PCA)散点图(质量评估图)] │ ├── [分组名]_PCA_QA.svg [对应分组PCA 2D 散点图(质量评估图)] │ ├── [分组名]_PCA_QA_without_ids.svg [对应分组PCA 2D 散点图,同时标注样本名(质量评估图)] │ ├── data_input_after_normalization.tsv [标准化后的代谢物含量表(三步标准化,见后文),即质量评估PCA输入] │ ├── data_input_after_sample_wise_normalization.tsv [经过“样本内校正”后的代谢物含量表] │ ├── data_input.tsv [标准化前的代谢物含量表] │ ├── *_PCA_QC.svg [质量控制效果图(PCA)] │ └── *_PCA_QC_with_ids.svg [质量控制效果图(PCA), 同时标注样本名] ├── 02-Normlization │ ├── compound_wise_normlization.svgdpi300.svg [标准化前后 代谢物在各样本 的含量分布图] │ ├── data_input_after_normalization.tsv [标准化后的代谢物含量表(三步标准化,见后文),对应图中标准化后的含量分布] │ ├── data_input_after_sample_wise_normalization.tsv [经过“样本内校正”后的代谢物含量表] │ ├── data_input.tsv [标准化前的代谢物含量表,对应图中标准化前的含量分布] │ └── sample_wise_normlization.svgdpi300.svg [标准化前后 样本内各代谢物 的含量分布图] └── compound_cross_reference_after_QC.xls
利用无监督的主成分分析( Principal Component Analysis , PCA ),我们对每一个组的样品建模,然后展示得分图(score plot, 图3-1-1 )。这种组内的 PCA 分析摒弃了组间的干扰,能让我们更清晰地观察组内的变异并找出可能的离群点( outlier )。图中每个点代表一个样本,而点在图中的位置由该样本中的所有代谢物共同决定。图中的椭圆是基于 Hotelling T2 计算并画出的 95% 置信区间。样本落在椭圆之外暗示该点可能是个离群点。但通常只有在严重离群如将整个模型拉扯得变形时才会考虑删掉该样本。
图中每个点代表一个样本,而点在图中的位置由该样本中的所有代谢物共同决定。图中的椭圆是基于 Hotelling T2 计算并画出的 95% 置信区间。样本落在椭圆之外暗示该点可能是个离群点。
也可利用所有样本点PC1值的分布来评估实验室样本制备、样本测量过程是否处于可控的状态。样本点超出控制界限(3 倍标准差)被认为是离群点。如图3-1-2, 通常来说,所有点会在控制界限之内。其中,大部分点会在 2 倍标准差之内围绕 平均值 轴上下波动,少量的点会接近控制界限。在大队列的代谢组学研究中,由于仪器的波动,批次间和日间的变异是很常见的。某一个批次的质控样本和测试样本可能会和其他批次的样本有着明显的偏移。因此,在进行后续的统计分析之前,我们可能需要用指控样本来矫正批次间的变异。但是超出三倍标准差的点通常被认为是离群点。如果是不恰当的样本前处理或是进样引起的,离群点样本需要被重新处理和分析。如若不然,这些样本需要进一步的研究,因为可能是真实的生物学差异引起的这些波动。
横坐标为检测样本,纵坐标对应样本在PCA分析中的PC1值。
在生科云的在线分析中,我们会将是否进行标准化校正的选择权交给用户,然而,我们还是要在这里强调标准化校正的效果和重要性。标准化校正分三步:
如图3-1-3所示,在标准化校正前,代谢物含量的中位数和上下四分位点参差不齐,差异较大,但标准化校正后,基本都在同一个水平上了。
含量分布用箱线图表示,箱线图从左到右分别对应离群点,最小值,下四分位点,中位数,上四分位点,最大值,离群点。左边图为标准化校正前的分布,右边图为标准化校正后的分布。
01-ConcentrationSummary ├── 1-Barplot │ └── [比较组合] │ ├── barplot.svg [各样本代谢物含量百分比堆积柱形图] │ ├── Compounds_with_Biological_Roles_barplot.svg [各样本代谢物生物学角色含量百分比堆积柱形图] │ ├── Compounds_with_Biological_Roles_group_mean_barplot.svg [各分组代谢物生物学角色含量均值百分比堆积柱形图] │ ├── Compounds_with_Biological_Roles_group_mean_table.txt [各分组代谢物生物学角色含量均值百分比表] │ ├── Compounds_with_Biological_Roles_table.txt [各样本代谢物生物学角色含量百分比表] │ ├── group_mean_barplot.svg [各分组代谢物含量均值百分比堆积柱形图] │ ├── group_mean_table.txt [各分组代谢物含量均值百分比表] │ └── table.txt [各样本代谢物含量百分比表] └── 2-Heatmap └── [比较组合] ├── clustered_heatmap.svg [样本聚类热图] ├── clustered_table.txt [样本聚类热图数据表] ├── group_mean_heatmap.svg [分组均值热图] ├── group_mean_table.txt [分组均值热图数据表] ├── heatmap.svg [样本不聚类热图] └── table.txt [样本不聚类热图数据表]
计算每个样本内各个代谢物的含量百分比,然后用堆积柱形图可视化,能直观的比较分组之间的代谢物组成结构差异。图3-2-1展示了含量排在前20的代谢物,其余的代谢物被包括进Others中。
横坐标是样品名,根据分组顺序排序,同时用不同颜色标注了不同的分组样本。纵坐标表示各个代谢物的百分比含量,从上而下对应代谢物的柱的顺序与图例一致。
结果文件夹中也提供了分组均值的百分比含量堆积柱形图,请老师自行查看结果文件夹。
为了研究不同样品间的相似性,还可以通过对样品进行聚类分析从而构建样品的聚类。 选取关注的代谢物(默认选取代谢物含量排名前30),根据样品的代谢物组成,实现样品聚类, 以此考察不同样品或者分组间的相似或差异性;也根据代谢物含量在各样本的分布进行聚类, 寻找代谢物或样本的聚集规律。 如图3-2-2,如果不同分组的样本聚类到不同位置,说明分组间的这30种代谢物组成结构差异较大。
纵轴为样品名称信息,同时也包括了分组信息。横轴为代谢物。 图中上方的聚类树为代谢物在各样本中分布的相似度聚类,左侧的聚类树为样品聚类树, 中间的热图是代谢物含量热图,颜色与代谢物含量(Z-Score)的关系见图右上方的刻度尺。
结果文件夹中也有不聚类根据样品分组顺序排序的热图,请老师自行查看结果文件夹。
02-PCA/ └── [比较组合] ├── data_input_after_normalization.tsv [对应比较组合标准化后的代谢物含量表(三步标准化,见上文),即PCA最终输入] ├── data_input_after_sample_wise_normalization.tsv [对应比较组合经过“样本内校正”后的代谢物含量表] ├── data_input.tsv [对应比较组合标准化前的代谢物含量表] ├── groups_mean.csv [分组均值] ├── pca_loadings.csv [PCA分析各代谢物的载荷(主成分与代谢物的相关性)] ├── pca_score2d_dpi300.svg [PCA 2D 散点图] ├── pca_score2d_with_ids_dpi300.svg [PCA 2D 散点图,同时标注样本名] ├── pca_score3d_dpi300.svg [PCA 3D 散点图] └── pca_score.csv [PCA散点图中各轴的坐标]
PCA分析是无监督的,也就是说PCA分析并不考虑样品的分组信息。 PCA旨在挑选一些相互独立的能代表所有代谢物的因子(可以理解为所有代谢物的加权和), 这些因子要能最大程度地保留原代谢物的变异信息(方差),挑选保留信息最多的两个因子,画散点图, 能看出各个样本间的代谢物组成结构差异。如图3-3-1,如果图中两个分组的点云(point cloud)明显分布在不同区域,说明两个分组的代谢物组成结构差异较大。
PCA图中,每个点对应一个样本,两个点之间的距离近似与两个样本的代谢物组成结构差异(欧式距离)。不同的分组用不同的颜色标出,椭圆标示的区域是样本点95%置信区域。
03-PLSDA/ └── [比较组合] ├── data_input_after_normalization.tsv [对应比较组合标准化后的代谢物含量表(三步标准化,见上文),即PLS-DA最终输入] ├── data_input_after_sample_wise_normalization.tsv [对应比较组合经过“样本内校正”后的代谢物含量表] ├── data_input.tsv [对应比较组合标准化前的代谢物含量表] ├── groups_mean.csv [分组均值] ├── anova_posthoc.csv [多重比较结果,三个以上分组才有,最后一列为差异显著的组合] ├── features_importance.csv [PLS-DA代谢物重要性表] ├── features_importance_fdr_adjusted.svg [PLS-DA代谢物重要性图, 展示FDR校正后的p值] ├── features_importance.svg [PLS-DA代谢物重要性图] ├── model_fitness.csv [PLS-DA模型拟合度参数, R2X, R2Y, Q2等] ├── model_permutation.csv [置换检验结果表] ├── model_permutation.svg [置换检验结果图] ├── score2d_with_ids.svg [2D 散点图, 标注样本名] ├── score2d.svg [2D 散点图] └── scores.csv [散点图中各个点的坐标]
偏最小二乘判别分析是有监督的,即分析时需要提供分组信息, PLS-DA寻找能够寻找最大程度区分样品分组的因子(因子可以理解为所有代谢物的加权和)。 判别分析将要预测的不连续分类变量编码为一个潜变量,潜变量是连续的, 这样就可以在解释变量和潜变量之间建立回归,用最小二乘回归的理论来求解。 偏最小二乘判别分析是线性判别分析的升级版, 适用于解释变量存在大量共线性问题(共线性会使模型无法求解)的组学数据。 PLS-DA通过投影分别将预测变量和观测变量投影到一个新空间(新空间各个维度间是相互独立,没有共线性问题的), 来寻找一个线性回归模型。
我们采用R语言ropls包[2]进行PLS-DA和OPLS-DA分析。 如图3-4-1,我们用区分效果最好的两个因子来画散点图, 如果不同分组的样本的点云分布在不同区域,说明PLS-DA模型的判别效果较好。
图中,每个点对应一个样本,横纵坐标是判别效果最好的两个因子的值。 不同的分组用不同的颜色标出,椭圆标示的区域是样本点95%置信区域。
当样本数远小于代谢物数量时, 只看图3-4-1来判断PLS-DA模型的区分效果(预测能力),不具有说服力, 因为模型很容易过拟合,过拟合即模型在训练样本(训练集,构建PLS-DA模型的样本)中有较好的预测能力, 但对于训练集之外的样本(测试集),预测能力骤减。
参照图3-4-2,评估模型是否可靠有两个方法:
横坐标为置换分组标签与真实分组标签的相似度,即分组标签相同的比例, 纵坐标为每次置换对应的R2Y和Q2, 横坐标1对应的纵坐标,即为最终模型对应的Q2和R2Y。 图中的两条直线分别是R2Y和Q2的回归直线,图例给出了回归方程。
同时也能够寻找在判别分析过程中作用(重要性,VIP, Value Importance in Projection)最大的代谢物,这些代谢物可以作为区分不同分组的biomaker。 一般来说,VIP大于1的代谢物对判别分析的贡献是较大的,这些代谢物在分组间有较大差异。 如图3-4-3,黄色区域中标出代谢物名称的代谢物,是校正后p值小于0.05,VIP大于1的代谢物, 这些代谢物在分组间有显著差异,在PLS-DA中起到重要作用,应该重点关注。
图中,每个点代表一个代谢物,横坐标是VIP(Value Importance in Projection),纵坐标是FDR校正后的p值(log10转化)。
model_fitness.csv 表格各列解释如下:
model_permutation.csv 表格各列解释如下:
features_importance.csv 表格各列解释如下:
anova_posthoc.csv 表格各列解释如下:
04-OPLSDA/ └── [比较组合] ├── data_input_after_normalization.tsv [对应比较组合标准化后的代谢物含量表(三步标准化,见上文),即OPLS-DA最终输入] ├── data_input_after_sample_wise_normalization.tsv [对应比较组合经过“样本内校正”后的代谢物含量表] ├── data_input.tsv [对应比较组合标准化前的代谢物含量表] ├── groups_mean.csv [分组均值] ├── anova_posthoc.csv [多重比较结果,三个以上分组才有,最后一列为差异显著的组合] ├── features_importance.csv [OPLS-DA代谢物重要性表] ├── features_importance_fdr_adjusted.svg [OPLS-DA代谢物重要性图, 展示FDR校正后的p值] ├── features_importance.svg [OPLS-DA代谢物重要性图] ├── model_fitness.csv [OPLS-DA模型拟合度参数, R2X, R2Y, Q2等] ├── model_permutation.csv [置换检验结果表] ├── model_permutation.svg [置换检验结果图] ├── score2d_with_ids.svg [2D 散点图, 标注样本名] ├── score2d.svg [2D 散点图] └── scores.csv [散点图中各个点的坐标]
OPLS-DA与PLS-DA类似,与PLS-DA相比, OPLS-DA的不同之处在于只利用代谢组数据的一个成分(因子,componet)去预测分组(响应变量), 而其他成分都用来描述与分组(响应变量)正交的(无关的)变异[3], 增加了各个成分的可解释性。
OPLS-DA结果图和表和PLS-DA相似,请参照PLS-DA部分进行解读
横坐标为置换分组标签与真实分组标签的相似度, 通常为标签相同的占比(0~1); OPLS-DA应用于三个分组以上时,由于分组需要转换为排序值(即模型变为OPLSR), 相似度为相关系数,可能为负(-1~1)。 纵坐标为每次置换对应的R2Y和Q2, 横坐标1对应的纵坐标,即为最终模型对应的Q2和R2Y。 图中的两条直线分别是R2Y和Q2的回归直线,图例给出了回归方程。
需要注意的是,OPLS-DA不能用于三个以上分组, 但对于三个以上分组,我们将分组变量转换为 排序值,使用OPLSR进行分析,得到类似的分析结果, 但由于排序和分组名称有关,使得分组名会影响分析结果。
05-UnivariateAnalysis/ └── [比较组合] ├── data_input_after_normalization.tsv [对应比较组合标准化后的代谢物含量表(三步标准化,见上文),即计算T/ANOVA p值的数据] ├── data_input_after_sample_wise_normalization.tsv [对应比较组合经过“样本内校正”后的代谢物含量表,即计算FC的数据(FC计算不能使用负数)] ├── data_input.tsv [对应比较组合标准化前的代谢物含量表] ├── groups_mean.csv [分组均值] ├── Significant_features_boxplot.svg [显著差异代谢物箱线图,最多展示前25个] ├── t_test.csv [T 检验结果表] ├── Volcano_features_importance.svg [火山图] ├── Volcano_features_significance.csv [火山图对应表格] └── Volcano_features_significance_dpi300.svg [火山图简略版,不带背景颜色,只标注最显著前10代谢物名]
某些情况下,我们不仅想知道代谢物在分组间是否发生了变化(差异是否显著),同时也想知道这个变化有多大, 以此来评估代谢物变化会给生物体造成多大的影响。我们可以通过计算代谢物变化的倍数(Fold Change, FC)来衡量这个变化的大小,结合p值,来筛选一些重点关注的代谢物。 默认情况下,我们会将分组信息表中, 写在前面(上方)的分组作为参照, 计算另一个分组的均值和参照组的均值的变化倍数,上调变化倍数为正,下调倍数为负。如图3-5-1, 黄色区域的代谢物是p值(未校正)小于0.05,log2(FC)绝对值大于1的代谢物, 这些代谢物在分组间差异显著,且变化较大,应该重点关注。
每个点代表一个代谢物,横坐标为变化倍数,纵坐标为T检验p值,变化倍数越大,p值越小(log10(p)越高),点越大。
为了直观地展示代谢物在组之间的差异,我们对单维统计分析获得的排名靠前(P值较小的前25)的代表性的差异代谢物的作箱式图,如下图3-5-2所示。
*,**,***分别对应p<0.05, p<0.01, p<0.001
机器学习也属于判别分析,它是判别分析的延伸, 与PLS-DA, OPLS-DA相比, 机器学习是相对较大的模型,能够更好拟合更复杂的数据关系,但对于简单的数据(如样本量少,代谢物数量少), 也更容易过拟合,如果生物学重复较少,建议不参考本部分结果。 常见的机器学习方法有支持向量机,随机森林,神经网络等。
06-RandomForest/ └── [比较组合] ├── data_input_after_normalization.tsv [对应比较组合标准化后的代谢物含量表(三步标准化,见上文),即随机森林最终输入] ├── data_input_after_sample_wise_normalization.tsv [对应比较组合经过“样本内校正”后的代谢物含量表] ├── data_input.tsv [对应比较组合标准化前的代谢物含量表] ├── RF_features_importance.csv [随机森林模型中,代谢物重要性表] └── RF_features_importancedpi300.svg [随机森林模型中,代谢物重要性图]
随机森林算法是套袋法(bagging)和决策树的结合,大致过程如下:
结果文件夹中,图“RF_outliersdpi300.pdf”中标出了在随机森林分析中,容易判别出错的样本名称,这些样本和组内其他样本差异较大。
在随机森林分析中,我们用“Mean Decrease Accuracy”和“Mean Decrease Gini”来衡量一个代谢物在随机森林中判别分组的重要性。把一个代谢物的取值变为随机数,随机森林预测准确性的降低程度就是“Mean Decrease Accuracy”;“Mean Decrease Gini”则是一个代谢物对分类树所有节点上观测值的异质性的影响。两个值越大,代谢物在随机森林中的重要性越大。图3-6-1显示了在随机森林中最重要的15种代谢物,这些代谢物应该在分组之间有较大的差异。
左边图的横坐标是“Mean Decrease Accuracy”,它衡量了一个代谢物在随机森林中的重要性;右边图是15中代谢物在两个分组里的含量的热图。
07-SupportVectorMachine └── [比较组合] ├── data_input_after_normalization.tsv [对应比较组合标准化后的代谢物含量表(三步标准化,见上文),即支持向量机最终输入] ├── data_input_after_sample_wise_normalization.tsv [对应比较组合经过“样本内校正”后的代谢物含量表] ├── data_input.tsv [对应比较组合标准化前的代谢物含量表] ├── SVM_features_importance.csv [SVM 代谢物重要性表] ├── svm_features_importance_dpi300.svg [SVM中最重要的15种代谢物图] └── svm_roc_all_models_dpi300.svg [SVM ROC 曲线]
支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器, 间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。 SVM的的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题, 也等价于正则化的合页损失函数的最小化问题。SVM的的学习算法就是求解凸二次规划的最优化算法。
SVM模型的最终预测效果可以用ROC曲线来表示,如图3-6-2。AUC曲线下面积越接近1, 说明模型预测效果越好,也说明分组间代谢物的差异越大。
横坐标为准确度,纵坐标为敏感度,准确度和敏感度越高,模型在训练集的预测效果越好。 AUC为曲线下面积,曲线下面积越接近1,模型在训练集的预测效果越好。 如果样本数较少,模型容易过拟合,AUC都等于1,但不意味着模型在新的测试样本中有 好的表现,请谨慎解读
同时,我们用套袋法和SVM结合,即用Bootstraping的到k个训练集, 在每个训练集里独立挑选最重要的代谢物训练SVM。 计算每个代谢物在k个训练集中被选中的频率,这个频率可以用来衡量代谢物在SVM分析中的重要性, 同时也可以计算代谢物在所有训练集中的平均重要性。图3-6-3展示了在SVM分析中最重要的15个代谢物, 这些代谢物在分组间应该有较大差异。
左边图的横坐标是SVM平均重要性,右边图是15中代谢物在两个分组里的含量的热图。
08-CorrelationAnalysis ├── all_group_clustered_pearson_cor_heatmap.svg [所有分组代谢物相关性热图, 根据相关系数聚类] ├── all_group_pearson_cor_heatmap.svg [所有分组代谢物相关性热图] ├── data_input_after_normalization.tsv [所有分组标准化后的代谢物含量表(三步标准化,见上文),即相关分析最终输入] ├── data_input_after_sample_wise_normalization.tsv [所有分组经过“样本内校正”后的代谢物含量表] ├── data_input.tsv [所有分组标准化前的代谢物含量表] ├── fdr_adjusted_p_value_matrix.txt [所有分组, FDR校正后的相关系数p值] ├── pearson_cor_matrix.txt [所有分组代谢物pearson相关系数矩阵] └── [分组名] ├── clustered_pearson_cor_heatmap.svg [对应分组代谢物相关性热图, 根据相关系数聚类] ├── data_input_after_normalization.tsv [对应分组标准化后的代谢物含量表(三步标准化,见上文),即相关分析最终输入] ├── data_input_after_sample_wise_normalization.tsv [对应分组经过“样本内校正”后的代谢物含量表] ├── data_input.tsv [对应分组标准化前的代谢物含量表] ├── fdr_adjusted_p_value_matrix.txt [对应分组, FDR校正后的相关系数p值] ├── pearson_cor_heatmap.svg [对应分组代谢物相关性热图] └── pearson_cor_matrix.txt [对应分组代谢物pearson相关系数矩阵]
通过对比每一个组的代谢物相关性分析谱图, 我们可以观察代谢物的相关性在不同组间是否有变化。 因为在病理条件下,某些代谢物之间的相关性可能会改变, 如从正相关变为不相关或负相关。这将会提示我们关注在这些代谢物所在的通路。 我们提供了单个分组以及所有分组一起的pearson相关分析结果的表格, 聚类和不聚类的热图,如图3-7-1是所有分组一起的聚类的相关性热图。
总含量前100的代谢物的相关系数矩阵,相关系数由颜色表示,红色正相关,绿色负相关。
软件 | 版本 |
---|---|
MetaboAnalystR | 2.0.1 |
ropls | 1.18.8 |