XCMS包 - 保留时间

时间:2012-11-07 16:41:20

标签: r bioconductor

是否有一种简单的方法可以从xcmsRaw对象获取保留时间列表/数组?

示例代码:

xraw <- xcmsRaw(cdfFile) 

例如,从中获取信息:

xraw@env$intensity 

xraw@env$mz 

2 个答案:

答案 0 :(得分:2)

您可以使用

查看xcmsRaw实例中的可用插槽
> slotNames(xraw)
 [1] "env"                   "tic"                   "scantime"             
 [4] "scanindex"             "polarity"              "acquisitionNum"       
 [7] "profmethod"            "profparam"             "mzrange"              
[10] "gradient"              "msnScanindex"          "msnAcquisitionNum"    
[13] "msnPrecursorScan"      "msnLevel"              "msnRt"                
[16] "msnPrecursorMz"        "msnPrecursorIntensity" "msnPrecursorCharge"   
[19] "msnCollisionEnergy"    "filepath"

您想要的是xraw@msnRt - 它是vector的{​​{1}}。

numeric广告位是一个存储3个变量的环境:

env

有关班级本身> ls(xraw@env) [1] "intensity" "mz" "profile" 的详细信息。

编辑:仅当您指定class?xcmsRaw且输入文件必须位于msnRtincludeMSn = TRUE时,才会填充mzXML广告位在mzML;如果您使用cdf中的faahKO示例,则会看到

?xcmasRaw

此外,xr <- xcmsRaw(cdffiles[1], includeMSn = TRUE) Warning message: In xcmsRaw(cdffiles[1], includeMSn = TRUE) : Reading of MSn spectra for NetCDF not supported 只会使用xr@msnRt存储MSn扫描的保留时间。有关n > 1提供的原始/更正的MS1保留时间,请参阅xset@rt其中xsetxcmsSet个实例。

EDIT2:或者,请使用mzR

xcms

但是如果采用这条路线,你将不在默认的> library(mzR) > cdffiles[1] [2] "/home/lgatto/R/x86_64-unknown-linux-gnu-library/2.16/faahKO/cdf/KO/ko15.CDF" > xx <- openMSfile(cdffiles[1]) > xx Mass Spectrometry file handle. Filename: /home/lgatto/R/x86_64-unknown-linux-gnu-library/2.16/faahKO/cdf/KO/ko15.CDF Number of scans: 1278 > hd <- header(xx) > names(hd) [1] "seqNum" "acquisitionNum" [3] "msLevel" "peaksCount" [5] "totIonCurrent" "retentionTime" [7] "basePeakMZ" "basePeakIntensity" [9] "collisionEnergy" "ionisationEnergy" [11] "highMZ" "precursorScanNum" [13] "precursorMZ" "precursorCharge" [15] "precursorIntensity" "mergedScan" [17] "mergedResultScanNum" "mergedResultStartScanNum" [19] "mergedResultEndScanNum" > class(hd) [1] "data.frame" > dim(hd) [1] 1278 19 管道中(尽管来自xcms的Steffen Neumann确实非常了解xcms)。

最后,如果您希望最大限度地从mzR开发者那里获得反馈的机会,最好使用mailing list的Bioconductor xcms online forum

希望这有帮助。

答案 1 :(得分:0)

答案很好,但我一直在寻找:

xraw <- xcmsRaw(cdfFile)
dp_index <- which(duplicated(rawMat(xraw)[,1]))
xraw_rt_dp <- rawMat(xraw)[,1]
xrawData.rt <- xraw_rt_dp[-dp_index]

现在:

xrawData.rt #contains the retention time.

观察 - &gt;使用mzr包:

nc     <- mzR:::netCDFOpen(cdfFile)
ncData <- mzR:::netCDFRawData(nc)
mzR:::netCDFClose(nc)

ncData$rt #contains the same retention time for the same input !!!