【问题标题】:R - XCMS package ErrorR - XCMS 包错误
【发布时间】:2012-11-02 08:50:24
【问题描述】:

我有以下问题:

.C("NetCDFOpen", as.character(filename), ncid = integer(1), status = integer(1), 中的错误: C 符号名称“NetCDFOpen”不在包“xcms”的 DLL 中

你是怎么得到这个错误的:

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

我不知道为什么这不起作用,虽然它应该。如需更多信息,请随时询问。免费的 .cdf 文件可以在 TargetSearchData 包中找到。

代码示例:

## The directory with the NetCDF GC-MS files
cdfpath <- file.path(.find.package("TargetSearchData"), "gc-ms-data")
cdfpath

【问题讨论】:

标签: r bioconductor


【解决方案1】:

我不认为它应该,正如你所暗示的那样。首先,您通过::: 使用非导出函数。此外,如错误消息所述,未定义NetCDFOpen 符号是dll/so 文件。

使用xcms 的标准输入功能,运行顺畅:

> library("xcms")
> cdfpath <- file.path(.find.package("TargetSearchData"), "gc-ms-data")
> cdfFile <- dir(cdfpath, full.names=TRUE)[1]
> xs <- xcmsSet(cdfFile)
7235eg04: 135:168 185:314 235:444 285:580 
> xr <- xcmsRaw(cdfFile)

如果你真的想手动输入数据,你应该使用 mzR 包中的功能,xcms 依赖于:

> openMSfile(cdfFile)
Mass Spectrometry file handle.
Filename:  /home/lgatto/R/x86_64-unknown-linux-gnu-library/2.16/TargetSearchData/gc-ms-data/7235eg04.cdf 
Number of scans:  4400 

最后,请注意始终提供sessionInfo 的输出,以确保您使用的是最新版本。就我而言:

> sessionInfo()
R Under development (unstable) (2012-10-23 r61007)
Platform: x86_64-unknown-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_GB.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_GB.UTF-8        LC_COLLATE=en_GB.UTF-8    
 [5] LC_MONETARY=en_GB.UTF-8    LC_MESSAGES=en_GB.UTF-8   
 [7] LC_PAPER=C                 LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] BiocInstaller_1.9.4 xcms_1.35.1         mzR_1.5.1          
[4] Rcpp_0.9.15        

loaded via a namespace (and not attached):
[1] Biobase_2.19.0     BiocGenerics_0.5.1 codetools_0.2-8    parallel_2.16.0   
[5] tools_2.16.0      

如果您使用 R 和 Bioconductor 的稳定版本(目前为 2.15.2/2.11),可能对您来说可能有所不同。

希望这会有所帮助。

【讨论】:

  • 你是对的!我查了你提供的信息。我接受了答案!
猜你喜欢
  • 1970-01-01
  • 2012-11-30
  • 1970-01-01
  • 2015-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-04
  • 1970-01-01
相关资源
最近更新 更多