是否有一种简单的方法可以从xcmsRaw
对象获取保留时间列表/数组?
示例代码:
xraw <- xcmsRaw(cdfFile)
例如,从中获取信息:
xraw@env$intensity
或
xraw@env$mz
答案 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
且输入文件必须位于msnRt
或includeMSn = 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
其中xset
是xcmsSet
个实例。
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 !!!