msPurity R包最初开发评估目标的贡献前体碎片隔离窗口中使用一种称为“前体离子纯洁”的指标。看到相关的论文(劳森et al . 2017年)。
一些更新了自msPurity原始论文和完整的功能包括以下:
我们称之为“前体离子纯洁”是一个衡量的贡献所选前体峰在一个隔离的窗口用于分裂。简单的计算涉及到选择前体峰的强度除以总强度的隔离窗。当评估MS / MS谱计算完成之前和之后的MS / MS扫描感兴趣的纯度是插值时的MS / MS收购。计算类似于“前体离子分数”“(论坛)指标描述(Michalski,考克斯和曼2011年)为蛋白质组学除了纯度是记录点的插值MS / MS收购使用全扫描谱接壤。此外,低丰度离子去除,被认为是产生的MS / MS谱的贡献有限,可以使用质谱仪的隔离效率贡献离子正常化。
用于msPurity主要有3类
给定一个向量质/ MS或dim / MS mzML文件路径的前体离子纯度MS / MS扫描可以计算并存储在purityA S4类对象,dataframe纯度结果可以访问使用适当的位置(pa@puritydf
)。
计算涉及到选择前体峰的强度除以总强度的隔离窗和执行之前和之后的MS / MS扫描的兴趣和在记录时间内插的MS / MS收购。见下文
另外,同位素峰可以估计和省略了计算、低丰度的峰值是删除,被认为是有限的贡献产生的MS / MS谱和隔离效率的质谱仪可以用来恢复正常使用的强度计算。
纯度dataframe (pa@puritydf
)由下面的列:
剩下的插槽purityA类包括
库(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
这里我们定义“隔离效率””的影响离子的位置在一个隔离窗口对应的碎片光谱的相对强度。当乐器的分离效率,峰值强度在一个隔离窗可以正常化的前身纯度计算。在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的输入参数。见下文:
其他可用的选项是使用高斯隔离窗口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,则不会出现正常化。
首先一个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包含下面的列。
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]
基于信噪比国旗和过滤功能,相对丰度,强度阈值和前体离子前体的纯度。
pa < - filterFragSpectra (pa)
平均每个XCMS特性和过滤碎片光谱内和跨女士数据文件(忽略内部和国际关系)。
pa < - averageAllFragSpectra (pa)
平均每个XCMS和过滤碎片光谱特性在数据文件。
pa < - averageIntraFragSpectra (pa)
平均每个XCMS和过滤碎片光谱特性在数据文件。这只能运行averageIntraFragSpectra后使用。
pa < - averageInterFragSpectra (pa)
创建一个MSP文件的碎片光谱通过frag4feature XCMS特性有关。可以单独导出所有相关的扫描或平均碎片光谱可以被导出。
额外的元数据可以包含在一个dataframe(每一列将被添加到元数据的MSP光谱)。dataframe必须包含列“grpid”对应XCMS分组功能。
td < - tempdir () createMSP (pa, msp_file_pth =文件。路径(td out.msp))
数据库可以由质/ MS数据集——这可以udpated光谱匹配数据(从spectralMatching函数)。完整的数据库模式在这里。这种替换旧模式使用的spectral_matching弃用功能。
q_dbPth < - createDatabase (pa = pa xcmsObj = xcmsObj outDir = td, dbName =“test-mspurity-vignette.sqlite”)
SQLite数据库查询可以匹配一个图书馆与spectralMatching SQLite数据库功能。图书馆spectral-database在大多数情况下应该包含“已知”光谱从公众或用户生成资源。图书馆SQLite数据库默认包含数据从蒙娜丽莎包括Massbank HMDB LipidBlast,国民生产总值。一个更大的数据库可以下载在这里。
结果< - spectralMatching (q_dbPth q_xcmsGroups = c(432),核= 1,l_accessions = c (CCMSLIB00003740033))
# #运行msPurity质谱匹配函数(/ MS)数据
# #过滤查询数据集
# #滤波器库数据集
# #调整和匹配
# #总结LC功能注释
加工xcmsSet对象需要确定预期(预测)前体纯度得分质数据集。中选择的补偿应该反映什么设置的参数将被用于一个假想的分裂的实验。
槽预测
提供了预期的(预测)纯度分数为每个特性。dataframe包含下面的列:
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对象之前的分析。
预期/预测纯度降低实验可以执行任何数据集组成的多个MS1 dim扫描相同的质量范围,即不开发与任何使用SIM缝合方法。
执行一些简单的数据处理步骤mzML文件提供一个峰值dim名单(特性)执行纯度预测。
这些数据处理步骤包括:
之前和之后的平均峰值过滤存储在avPeaks
purityPD S4对象的位置。
得到文件dataframe:purityD构造函数需要一个dataframe组成的列如下:
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
数据处理步骤进行到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。