首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基于质谱技术的非靶向代谢组学数据处理基础之xcms(一)基础应用

XCMS包的安装及要求

xcms是基于R语言设计的程序包(R package),可以通过Bioconductor进行安装。具体信息请参考https://bioconductor.org/packages/release/bioc/html/xcms.html

安装Bioconductor

安装XCMS

安装数据及其他R包

原始数据转换

xcms支持xml、mzData、mzXML、mzML、netCDF等数据格式,因而在利用xcms进行数据处理之前,需要对于质谱采集的原始数据进行格式转换,一般可使用ProteoWizard等。

利用XCMS进行峰检测及对齐

(Bioconductor上已有xcms数据处理的具体指导,参见https://bioconductor.org/packages/release/bioc/vignettes/xcms/inst/doc/xcms.html) 由于xcms3对xcms中的方法名称进行了调整,对于一致使用xcms进行数据处理的用户来说可能会造成一定的困扰,目前xcms3还继续兼容大多数旧的xcms方法,但随着程序的进一步更新,势必会逐步取代过去的方法,因而,大家还是需要尽快熟悉新的方法的使用。在此,为方便大家理解,本文对同一处理分别使用新旧方法进行演示。

调用R包

数据导入

利用centWave算法进行峰检测

findChromPeaks是xcms中用于进行峰检测的新方法,输入值为'OnDiskMSnExp'对象和峰检测参数对象,CentWaveParam用以创建'CentWaveParam'对象,该对象设置使用'centWave'算法进行峰检测时所需要的参数,其中比较常用的参数如下:

* ppm -- 峰检测时MS1的m/z tolerance,以ppm为单位

* peakwidth -- 长度为2的向量,设置峰检测时峰宽范围,事实上该参数对应的每个峰可以跨越多少个质谱检测的scan,而非多少秒

* snthresh -- 峰检测时信噪比要求

* return.type -- 返回数据类型,可以根据要求返回'XCMSnExp'类数据(默认)、传统的'xcmsSet'类以及'list'

xcmsSet是xcms中可以用于峰检测的传统方法,使用method参数设置峰检测算法,另外根据不同的峰检测算法可以设置该算法需要的参数,详情请参考xcms官方文档。其中'centWave'算法所对应的参数与'CentWaveParam'设置基本一致。

峰检测时除了可以使用centWave算法外,还可以使用其他算法,如'centWaveWithPredIsoROIs'、'massifquant'、'matchedFilter'、'MSW'等,分别对应'CentWavePredIsoParam'、'MassifquantParam'、'MatchedFilterParam'、'MSWParam'参数设置,详情请参考xcms官方文档或者使用R help

峰对齐及分组(peak alignment & grouping)

同一代谢物在不同样品的流出时间会略有差异,因而对于峰检测的结果需要进行对齐(alignment)并将不同样品中的统一代谢物分到各自可以表征该代谢物的峰组(peak group)中(代谢组学中一般成为feature),从而进一步比较不同样品间统一代谢物的含量。通常我们可以使用'obiwarp'算法进行peak alignment,然后利用'density'算法进行peak grouping.

峰补齐

对于峰检测过程中会有部分feature在某些样品中未检出对应代谢物峰的清醒,xcms可以根据已检出feature的信息,在相应样品中强行提取EIC信息,从而计算该代谢物在该样品中的含量信息,我们一般称之为filling gaps

如此,对于一组代谢物样品的峰检测已经全部完成。

对比xcms用于峰检测的新方法和就方法,我们可以发现新方法在命名方面更加直白,可以根据方法名称直接了解该方法所使用的算法,而在以前的峰检测方法中,这些算法均整合在数据处理的过程中。两种方式格局优劣,新方法意义明确,但是在处理时需要更多的参数设置过程,而旧方法数据处理过程更加简洁,但需要对xcms熟练度要求较高。

预告

接下来我们会介绍如何从峰检测结果中提取需要的信息以用来进行下一步的统计分析!

作者简介:

尹老师:中国科学院计算生物所计算生物学博士,现就职于中科院上海有机化学研究所生物与化学交叉研究中心。主要研究方向为生物信号网络建模及分析、基于质谱技术的代谢组学数据处理及分析方法研究及算法开发。

想联系尹老师学习的同学们,请猛戳管理团队,查看尹老师联系方式!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180531G0PXZE00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券