1介绍

msPurity R包最初开发评估目标的贡献前体碎片隔离窗口中使用一种称为“前体离子纯洁”的指标。看到相关的论文(劳森et al . 2017年)

一些更新了自msPurity原始论文和完整的功能包括以下:

  • 评估目标的贡献获得碎片光谱前体通过检查隔离windows使用一种称为“前体离子纯洁”的度量(适用于均质(/ MS)和结束(/ MS)数据)
  • 评估预期的前体离子的纯洁XCMS质特性和dim特性没有碎片了
  • 地图碎片光谱XCMS质特性
  • 过滤和平均MS / MS谱质/ MS数据集
  • 创建一个spectral-database质(/ MS)数据和相关的注释
  • 执行查询的光谱匹配MS / MS谱对MS / MS谱库
  • 出口碎片光谱MSP格式
  • 降低数据的基本处理。注意,这些功能不再是积极发展——看到DIMSpy (https://github.com/computational-metabolomics/dimspy)推荐替代dim数据处理

我们称之为“前体离子纯洁”是一个衡量的贡献所选前体峰在一个隔离的窗口用于分裂。简单的计算涉及到选择前体峰的强度除以总强度的隔离窗。当评估MS / MS谱计算完成之前和之后的MS / MS扫描感兴趣的纯度是插值时的MS / MS收购。计算类似于“前体离子分数”“(论坛)指标描述(Michalski,考克斯和曼2011年)为蛋白质组学除了纯度是记录点的插值MS / MS收购使用全扫描谱接壤。此外,低丰度离子去除,被认为是产生的MS / MS谱的贡献有限,可以使用质谱仪的隔离效率贡献离子正常化。

用于msPurity主要有3类

  • purityA
    • 先前获得的评估前体的纯洁MS / MS谱:用户已经获得了质/女士或暗淡/ MS谱和评估是由每个MS / MS的前体纯度扫描
    • purityA对象的进一步处理包括碎片光谱滤波,平均,MSP创造,spectral-database创建和光谱匹配
  • purityX
    • 评估前体的纯洁预期隔离windows质/ MS谱。即用户从一个获得质全扫描(MS1)数据和评估是前体纯度的检测特性使用预期或理论隔离窗口。这些信息可以用于指导进一步有针对性的MS / MS实验。
  • purityD
    • 评估前体的纯洁预期隔离windows dim / MS谱。
    • 过程中光谱dim还提供了一些基本功能

2purityA

2.1评估前体的纯洁此前收购了MS / MS谱

给定一个向量质/ MS或dim / MS mzML文件路径的前体离子纯度MS / MS扫描可以计算并存储在purityA S4类对象,dataframe纯度结果可以访问使用适当的位置(pa@puritydf)。

计算涉及到选择前体峰的强度除以总强度的隔离窗和执行之前和之后的MS / MS扫描的兴趣和在记录时间内插的MS / MS收购。见下文

评估了MS / MS前体离子纯度标准DDA-based实验(图1的劳森等2017))

另外,同位素峰可以估计和省略了计算、低丰度的峰值是删除,被认为是有限的贡献产生的MS / MS谱和隔离效率的质谱仪可以用来恢复正常使用的强度计算。

纯度dataframe (pa@puritydf)由下面的列:

  • pid:MS / MS扫描的惟一id
  • 文件标识:惟一的id文件
  • seqNum:扫描号码
  • precursorIntensity从mzML文件定义:前体强度值
  • precursorMZ:前体m / z值从mzML文件定义
  • precursorRT从mzML文件:前体RT值定义
  • precursorScanNum:前体扫描数值从mzML文件定义
  • id:惟一的id(冗余)
  • 文件名:mzML文件名
  • precursorNearest:这个MS / MS MS1扫描的扫描
  • 湄京:m / z值最匹配的precursorNearest扫描precursorMZ值从mzML文件提供
  • aPurity:纯度得分湄京
  • apkNm:孤立的山峰窗口数量湄京
  • 中的使用:m / z值的precursorNearest扫描是最强烈的隔离窗内。
  • iPurity:纯度得分中的使用
  • ipkNm:孤立的山峰窗口数量中的使用
  • 杂质纯度:插值评分
  • inpkNm:内插的山峰隔离窗

剩下的插槽purityA类包括

  • :cpu的数量用于进一步处理这个purityA对象
  • 文件列表:已处理的文件列表
  • mzRback:后端库mzR用来从mzML文件中提取信息(如pwiz)
  • grped_df:如果frag4feature已经执行,dataframe分组XCMS特性与相关碎片光谱前体*细节记录在这里
  • grped_MS /女士:如果frag4feature已经完成,一系列碎片光谱与每个分组XCMS assoicated功能是记录在这里
  • f4f_link_type:如果frag4feature已经完成,连接方法记录在这里
  • av_spectra:如果averageIntraFragSpectra、averageInterFragSpectra或averageAllFragSpectra已经执行,平均光谱被记录在这里
  • av_intra_params:如果averageIntraFragSpectra已经完成,这里的参数记录
  • av_inter_params:如果averageInterFragSpectra已经完成,这里的参数记录
  • av_all_params:如果averageAllFragSpectra已经完成,这里的参数记录
  • db_path:如果create_database已经执行,由此产生的数据库路径记录在这里
库(msPurity) msPths < list.files(系统。文件(“extdata”、“lcms”,“mzML”,包=“msPurityData”), full.names = TRUE)

注意,如果有任何没有MS / MS mzML文件扫描,那么一个ID保存的文件,但没有评估。

pa < - purityA (msPths)
# #只有MS1数据
# #没有MS / MS谱文件:/home/biocbuild/bbs - 3.17 - bioc / R /图书馆/ msPurityData / extdata / lcms / mzML / LCMS_1.mzML
# #只有MS1数据
# #没有MS / MS谱文件:/home/biocbuild/bbs - 3.17 - bioc / R /图书馆/ msPurityData / extdata / lcms / mzML / LCMS_2.mzML
打印(pa@puritydf [1:3])
# # pid文件标识seqNum acquisitionNum precursorIntensity precursorMZ precursorRT # # 1 1 1 7 7 2338044 391.2838 - 2.707016 # # 2 2 1 8 8 1415940 149.0232 - 2.707016 # # 3 3 1 9 9 1319700 135.1015 - 2.707016 # # precursorScanNum id文件名retentionTime precursorNearest湄京# # 1 6 7 LCMSMS_1。mzML 2.977597 6 391.2838 # # 2 6 8 LCMSMS_1。mzML 3.070549 6 149.0233 # # 3 6 9 LCMSMS_1。mzML 3.163231 6 135.1015 ## aPurity apkNm iMz iPurity ipkNm inPkNm inPurity ## 1 1.0000000 1 391.2838 1.0000000 1 1 1.0000000 ## 2 0.8535700 2 149.0233 0.8535700 2 2 0.8475240 ## 3 0.7616688 4 135.1015 0.7616688 4 4 0.7558731

2.2分离效率

这里我们定义“隔离效率””的影响离子的位置在一个隔离窗口对应的碎片光谱的相对强度。当乐器的分离效率,峰值强度在一个隔离窗可以正常化的前身纯度计算。在beloq的示例中,使用一个rcos隔离效率曲线,红色的峰值(靶向前体离子峰)正常化后不会改变——贡献是1(即100%)——然而,黑峰(污染离子)将正常大约0.1(即10%)和正常强度计算为1000(即原始强度10000 x 0.1)

隔离窗口的例子

隔离效率可以估计通过观察一个前体与滑动窗口,下面是一个例子证明一个滑动窗口在m / z 200年的目标。

滑动窗口的例子

一个滑动窗口的实验已经完成评估热费希尔Q-Exactive质谱仪在msPurity使用0.5 Da窗口,可以设置通过使用msPurity:: iwNormQE.5()作为iwNormFunc的输入参数。见下文:

0.5隔离效率的热费希尔Q-Exactive质谱仪使用Da windows(从图3劳森等2017))

其他可用的选项是使用高斯隔离窗口msPurity:: iwNormGauss (minOff = -0.5, maxOff = 0.5)或rcos窗口msPurity:: iwNormRCosine (minOff = -0.5, maxOff = 0.5)。minOff和maxOff可以改变根据隔离窗。

用户还可以创建自己的正常功能。函数的唯一的要求是,给定一个值minOff和maxOff正常化将返回0 - 1之间的值。

见下文例如正常化提供的使用一个默认的功能。

pa_norm < - purityA (msPths [3], iwNorm = TRUE, iwNormFun = iwNormGauss (sdlim = 3, minOff = -0.5, maxOff = 0.5))

如果仪器的分离效率是未知的,默认情况下iwNorm设置为FALSE,则不会出现正常化。

2.3frag4feature——映射XCMS碎片光谱特性

首先一个xcmsSet对象相同的文件是必需的

# # xcms版本3 + suppressPackageStartupMessages(库(xcms)) suppressPackageStartupMessages(库(MSnbase)) suppressPackageStartupMessages(库(magrittr)) #读数据和使用数据子集30至90秒和100和200 m / z msdata = MSnbase:: readMSData (msPths模式= onDisk, msLevel。= 1)rtr = c (90) mzr = c (100、200) msdata = msdata % > % MSnbase:: filterRt (rt = rtr) % > % MSnbase:: filterMz (mz = mzr) #在单个文件中执行功能检测cwp < - CentWaveParam (snthresh = 3,噪音= 100 ppm = 10, peakwidth = c (30)) xcmsObj < - xcms:: findChromPeaks (msdata参数= cwp) # #更新元数据(我在1:长度(msPths)) {# xcmsObj@processingData@files[我]< - msPths[我]#}xcmsObj@phenoData@data $类= c(“空白”、“空白”、“样品”,“样本”)xcmsObj@phenoData@varMetadata = data.frame (“labelDescription”= c (“sampleNames”、“类”))#集团在样品色谱峰(对应分析)pdp < - PeakDensityParam (sampleGroups = xcmsObj@phenoData@data $类,minFraction = 0, bw = 5, binSize = 0.017) xcmsObj < - groupChromPeaks xcmsObj参数= (pdp)

然后MS / MS谱可以分配给一个XCMS分组功能使用frag4feature函数。

pa < - frag4feature (pa = pa, xcmsObj = xcmsObj)

grped_df的dataframe分组XCMS特性与引用任何相关MS / MS扫描在该地区的全宽XCMS功能在每个文件。dataframe包含下面的列。

  • grpid:XCMS分组特性id
  • mz:来自XCMS peaklist
  • mzmin:来自XCMS peaklist
  • mzmax:来自XCMS peaklist
  • rt:来自XCMS peaklist
  • rtmin:来自XCMS peaklist
  • rtmax:来自XCMS peaklist
  • :来自XCMS peaklist
  • intb:来自XCMS peaklist
  • maxo:来自XCMS peaklist
  • sn:来自XCMS peaklist
  • 样本:来自XCMS peaklist
  • id:MS / MS扫描的惟一id
  • precurMtchID:最近的前体扫描相关id(文件具体)
  • precurMtchRTRT:相关前兆扫描
  • precurMtchMZ:相关的前兆m / z
  • precurMtchPPM:相关的前兆m / zppm(百万分之)宽容XCMS feauturem / z
  • 杂质纯度:插值评分
print (pa@grped_df [c(48岁,49)])
# # grpid mz mzmin mzmax rt rtmin rtmax进入# # 48 432 150.0582 150.0581 150.0582 63.07817 59.25115 66.86591 455365992 # # 49 432 150.0581 150.0581 150.0582 62.15329 59.11391 66.71042 461585449 # # intb maxo sn样本文件名cid rtminCorrected # # 48 398560857 110502712 6 1 LCMSMS_1。mzML 401 NA # # 49 405518401 111902200 6 2 LCMSMS_2。mzML 777 NA ## rtmaxCorrected inPurity pid precurMtchID precurMtchScan precurMtchRT ## 48 NA 1 366 445 444 62.30978 ## 49 NA 1 1190 439 438 61.39704 ## precurMtchMZ precurMtchPPM retentionTime fileid seqNum ## 48 150.0581 0.1293991 62.58027 1 445 ## 49 150.0582 0.1370548 61.66767 2 439

grped_MS2列出相关的碎片光谱的分组功能。

print (pa@grped_ms2[[18]]) #碎片与第一XCMS分组功能(即xcmsObj@groups [432] XCMS版本< 3和featureDefinitions (xcmsObj) [432] XCMS v3 +)
([1])# # # # # # mz强度[1]102.0554 - 4631614.50 # # (2)104.0532 - 16147574.00 # #【3】105.0009 - 196574.16 # #【4】105.0372 - 273244.06 # #【5】133.0318 - 10814390.00 # #【6】137.4163 - 30549.83 # # [7]150.0583 - 1973325.50 # # # # ([2])# # # # mz强度[1]101.5791 - 20766.21 # # (2)102.0554 - 4154222.25 # # (3)104.0533 - 13982832.00 # #【4】105.0010 - 131116.56 # # (5)105.0372 - 266003.91 # #【6】133.0319 - 9440187.00 # #【7】150.0387 - 92384.07 # # [8]150.0583 - 1694299.12 155.0976 - 22783.27 # # [9]

2.4filterFragSpectra -过滤碎片光谱

基于信噪比国旗和过滤功能,相对丰度,强度阈值和前体离子前体的纯度。

pa < - filterFragSpectra (pa)

2.5averageAllFragSpectra——平均所有碎片光谱

平均每个XCMS特性和过滤碎片光谱内和跨女士数据文件(忽略内部和国际关系)。

pa < - averageAllFragSpectra (pa)

2.6averageIntraFragSpectra——平均所有碎片光谱

平均每个XCMS和过滤碎片光谱特性在数据文件。

pa < - averageIntraFragSpectra (pa)

2.7averageInterFragSpectra——平均所有碎片光谱

平均每个XCMS和过滤碎片光谱特性在数据文件。这只能运行averageIntraFragSpectra后使用。

pa < - averageInterFragSpectra (pa)

2.8createMSP -创建一个MSP文件的碎片光谱

创建一个MSP文件的碎片光谱通过frag4feature XCMS特性有关。可以单独导出所有相关的扫描或平均碎片光谱可以被导出。

额外的元数据可以包含在一个dataframe(每一列将被添加到元数据的MSP光谱)。dataframe必须包含列“grpid”对应XCMS分组功能。

td < - tempdir () createMSP (pa, msp_file_pth =文件。路径(td out.msp))

2.9createDatabase——创建一个光谱数据库

数据库可以由质/ MS数据集——这可以udpated光谱匹配数据(从spectralMatching函数)。完整的数据库模式在这里。这种替换旧模式使用的spectral_matching弃用功能。

q_dbPth < - createDatabase (pa = pa xcmsObj = xcmsObj outDir = td, dbName =“test-mspurity-vignette.sqlite”)

2.10spectralMatching——perfroming光谱匹配光谱库

SQLite数据库查询可以匹配一个图书馆与spectralMatching SQLite数据库功能。图书馆spectral-database在大多数情况下应该包含“已知”光谱从公众或用户生成资源。图书馆SQLite数据库默认包含数据从蒙娜丽莎包括Massbank HMDB LipidBlast,国民生产总值。一个更大的数据库可以下载在这里

结果< - spectralMatching (q_dbPth q_xcmsGroups = c(432),核= 1,l_accessions = c (CCMSLIB00003740033))
# #运行msPurity质谱匹配函数(/ MS)数据
# #过滤查询数据集
# #滤波器库数据集
# #调整和匹配
# #总结LC功能注释

3purityX

3.1评估预期的纯洁XCMS特性从一个质

加工xcmsSet对象需要确定预期(预测)前体纯度得分质数据集。中选择的补偿应该反映什么设置的参数将被用于一个假想的分裂的实验。

评估预期隔离窗两XCMS前体纯洁的特性来自MS / MS数据集(图2的劳森等2017))

预测提供了预期的(预测)纯度分数为每个特性。dataframe包含下面的列:

  • grpid:XCMS分组特性id
  • 的意思是纯度:意思是预测的功能
  • 中位数纯度:中值预测的功能
  • sd:标准偏差预测纯度的特性
  • stde:标准误差预测纯度的特性
  • pknm:平均峰值数量单独窗口
  • 标准偏差纯度:预测的相对标准偏差的特性
  • :中等强度的分组功能。使用“进入”XCMS强度值。
  • mz:m / zXCMS分组的功能

XCMS质数据集上运行

msPths < list.files(系统。文件(“extdata”、“lcms”,“mzML”,包=“msPurityData”), full.names = TRUE,模式=“LCMS_”) # #运行xcms(版本3 +)# suppressPackageStartupMessages(库(xcms)) # suppressPackageStartupMessages(库(MSnbase)) # suppressPackageStartupMessages(库(magrittr)) # # #读数据和使用数据子集30至90秒和100和200 m / z # msdata = readMSData (msPths模式= onDisk, msLevel。= 1)# rtr = c (90) # mzr = c (100、200) # msdata = msdata % > % MSnbase:: filterRt (rt = rtr) % > % MSnbase:: filterMz (mz = mzr) # # #在单个文件中执行功能检测# cwp < - CentWaveParam (snthresh = 3,噪音= 100 ppm = 10, peakwidth = c (30)) # xcmsObj < - xcms:: findChromPeaks (msdata参数= cwp) # # #元数据更新(我在1:长度(msPths)) {# xcmsObj@processingData@files[我]< - msPths[我]#}# # xcmsObj@phenoData@data $类= c(“样本”,“样本”)# xcmsObj@phenoData@varMetadata = data.frame (“labelDescription”= c (“sampleNames”、“类”))# #集团在样品色谱峰(对应分析)# pdp < - PeakDensityParam (sampleGroups = xcmsObj@phenoData@data $类,minFraction = 0, bw = 5, binSize = 0.017) # xcmsObj < - groupChromPeaks (xcmsObj参数= pdp) # #或加载一个xcms xcmsSet对象保存xcmsObj < - readRDS早些时候(系统。文件(“extdata”、“测试”,“xcms”、“ms_only_xcmsnexp。rds”,包= " msPurity ")) # #确保文件路径是否正确xcmsObj@processingData@files [1] = msPths [basename (msPths) = = " LCMS_1。mzML "] xcmsObj@processingData@files [2] = msPths [basename (msPths) = =“LCMS_2.mzML”)

执行纯度的计算

px < - purityX (xset = (xcmsObj xcmsSet”),核= 1,xgroups = c (1、2), ilim = 0)
# #注意:你可能想要设置/调整的sampclass返回xcmSet对象之前的分析。

4purityD

4.1从降低运行评估预期的纯度

预期/预测纯度降低实验可以执行任何数据集组成的多个MS1 dim扫描相同的质量范围,即开发与任何使用SIM缝合方法。

执行一些简单的数据处理步骤mzML文件提供一个峰值dim名单(特性)执行纯度预测。

这些数据处理步骤包括:

  • 跨多个扫描平均峰值
  • 去除峰值低于信号噪声阈值(可选)
  • 删除山峰不到一个强度阈值(可选)
  • 去除峰值高于相对标准偏差阈值强度(可选)
  • 哪里有一个空白,减去空白峰(可选)

之前和之后的平均峰值过滤存储在avPeakspurityPD S4对象的位置。

得到文件dataframe:purityD构造函数需要一个dataframe组成的列如下:

  • filepth
  • 的名字
  • sampleType(样本或空白)
  • 类(对样本进行分组在一起)
  • 极性(可选)
datapth < -系统。文件(“extdata”、“暗”、“mzML”,包=“msPurityData”) inDF < - getfile (datapth模式=”。mzML”,检查= FALSE) ppDIMS < - purityD (inDF mzML = TRUE)

平均光谱:默认平均将使用层次聚类方法。这里也表现噪声过滤。

ppDIMS < - averageSpectra (ppDIMS snMeth =“中位数”,snthr = 5)

过滤器由相对标准偏差和强度

ppDIMS < - filterp (ppDIMS刺= 5000,rsd = 10)

减去空白请注意,包magrittr不能加载的时候执行减去。

分离(“包:magrittr”,卸载= TRUE) ppDIMS < -减去(ppDIMS)

预测纯度

ppDIMS < - dimsPredictPurity (ppDIMS)(打印头(ppDIMS@avPeaks加工B02_Daph_TEST_pos美元美元))
# # peakID mz我信噪比相对标准偏差inorm数总# # 5 5 173.0806 11272447.0 216.506319 9.006126 0.0108585920 5 4 # # 7 7 179.1177 606983.2 - 11.425825 6.019861 - 0.0005729283 217.1067 - 17770220.0 5 4 # # 10 10 5 4 # # 15 15 343.292914 8.602331 0.0171178067 235.1173 4950841.5 95.991762 6.302825 0.0047694791 - 5 4 # # 16 16 236.1206 486912.0 9.270517 8.811437 0.0004638254 - 5 4 # # 17 17 239.1485 2533134.5 48.892062 5.781277 0.0024401334 - 5 4 # # medianPurity meanPurity sdPurity cvPurity sdePurity medianPeakNum # # 5 1.0000000 1.0000000 0.00000000 0.000000 0.000000000 1 # # 7 1.0000000 1.0000000 0.00000000 0.000000 0.000000000 0.7797864 0.7808917 0.01261501 1.615462 0.005641605 1 # # 10 2 # # 15 1.0000000 1.0000000 0.00000000 0.000000 0.000000000 0.8818313 0.8755873 0.01056807 1.206969 0.004726184 1 # # 16 2 # # 17 0.8123950 0.8229505 0.04384595 5.327896 0.019608505 - 2

4.2计算预期(预期)从一个已知的纯度m / z目标列表会变暗

数据处理步骤进行到purityD可以绕过如果峰(m / z已知值)的利益。这个函数dimsPredictPuritySingle ()可以用来预测一个列表的纯洁的m / z值选择mzML文件。

mzpth < -系统。文件(“extdata”、“暗”、“mzML”、“B02_Daph_TEST_pos。mzML", package="msPurityData") predicted <- dimsPredictPuritySingle(filepth = mzpth, mztargets = c(111.0436, 113.1069)) print(predicted)

引用

劳森,托马斯奈杰尔,拉尔夫·j·m·韦伯,马丁·r·琼斯,安德鲁j .来自Giovanny亚历杭德罗·布兰科,里卡多。迪Guida马克·r·Viant邓恩和沃里克B》2017。“msPurity:自动化评估前体离子代谢组学纯度基于质谱碎片。”分析化学,acs.analchem.6b04358。https://doi.org/10.1021/acs.analchem.6b04358

Michalski安妮特,于尔根·考克斯和马提亚曼》2011。“超过100000种检测肽洗提在单猎枪蛋白质组学跑,但是大多数不能视质/女士”蛋白质组研究期刊》的研究(4):1785 - 93。https://doi.org/10.1021/pr101060v