前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言实现质谱峰的量化

R语言实现质谱峰的量化

作者头像
一粒沙
发布2019-07-31 14:27:09
2.2K0
发布2019-07-31 14:27:09
举报
文章被收录于专栏:R语言交流中心R语言交流中心

LC-MASS,GC-MASS等简称对于药物研发的人应该相当不陌生,但是对于它们产生的数据的进一步分析,反而显得心有余而力不足。今天我们给大家介绍一下R语言中是如何把质谱数据进行提取的。

首先我们需要知道那些参与分析的包: IPO,XCMS,Rmpi。其中IPO主要是通过质控数据优化XCMS中的计算参数;XCMS主要进行质谱数据的获取、校正;Rmpi主要是并行运算的接口,支持多进程运算。为了进行实例演示还需要另外两个数据的包:msdata,faahKO。

首先我们说明今天的所有操作都是基于3.5.1版本的R,因为在3.5以后的版本bioconductor的安装包形式有所改变,它自己开发了R包管理的程序,并未R语言提供API。

接下来我们看下这几个包都在哪里:

Bioconductor:

http://www.bioconductor.org/packages/release/data/experiment/html/faahKO.html

http://www.bioconductor.org/packages/release/data/experiment/html/msdata.html

http://www.bioconductor.org/packages/release/bioc/html/IPO.html

http://www.bioconductor.org/packages/release/bioc/html/xcms.html

CRAN:

https://cran.r-project.org/web/packages/Rmpi/index.html

那么显而易见它们的安装过程有点区别,具体的安装过程我们就不再赘述了。

接下来,我们主要看下IPO参数优化:

library(IPO)

library(msdata)

library(faahKO)

#数据输入

datapath <- system.file("cdf",package = "faahKO")

datafiles <- list.files(datapath,recursive = TRUE, full.names = TRUE)

色谱峰寻找的参数优化:

peakpickingParameters<-getDefaultXcmsSetStartingParams('matchedFilter')

peakpickingParameters$step <- c(0.2,0.3)#设置参数范围

peakpickingParameters$fwhm <- c(40, 50) #设置参数范围

peakpickingParameters$steps <- 2#设置参数值

time.xcmsSet <- system.time({

resultPeakpicking <-optimizeXcmsSet(files = datafiles[1:2],

params =peakpickingParameters,

nSlaves = 1,

subdir = NULL,

plot = TRUE)

})

resultPeakpicking$best_settings$result

#> ExpId #peaks #NonRP #RP PPS

#> 0.000 3228.000 2264.000 569.000143.004

optimizedXcmsSetObject <-resultPeakpicking$best_settings$xset

色谱峰分组参数以及保留时间校正参数优化:

retcorGroupParameters <-getDefaultRetGroupStartingParams()

retcorGroupParameters$profStep <- 1

retcorGroupParameters$gapExtend <- 2.7

time.RetGroup <- system.time({ #measuring time

resultRetcorGroup <-

optimizeRetGroup(xset = optimizedXcmsSetObject,

params =retcorGroupParameters,

nSlaves = 1,

subdir = NULL,

plot = TRUE)

})

将优化后的代码写出:

writeRScript(resultPeakpicking$best_settings$parameters,

resultRetcorGroup$best_settings)

生成的代码如下:

library(xcms)

library(Rmpi)

xset <- xcmsSet(

method ="matchedFilter",

fwhm = 50,

snthresh = 3,

step = 0.26,

steps = 2,

sigma = 21.2332257516562,

max = 5,

mzdiff = 0.28,

index = FALSE)

xset <- retcor(

xset,

method ="obiwarp",

plottype = "none",

distFunc ="cor_opt",

profStep = 1,

center = 2,

response = 1,

gapInit = 0.64,

gapExtend = 2.7,

factorDiag = 2,

factorGap = 1,

localAlignment = 0)

xset <- group(

xset,

method = "density",

bw = 12.4,

mzwid = 0.047,

minfrac = 0.94,

minsamp = 1,

max = 50)

xset <- fillPeaks(xset)

以上便是XCMS的运算参数了。我们还需要自己加上另一个分析函数:

diffreport(xset,class1 =levels(sampclass(xset))[1], class2 = levels(sampclass(xset))[2],filebase="pos", metlin=0.15)

接下来就是运行以上程序进行质谱数据的分析了。最后得到我们想要的峰面积的数据:

同时对数据进行两组之间的差异分析(box)和离子图谱的提取(eic):

至此质谱数据进行了量化处理,接下来就是对数据进行进一步的分析。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 R语言交流中心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档