构建内部MS2数据库

如果你有内部标准并且已经获取了 MS2 光谱数据,那么你可以使用 metID 包来构建内部 MS2 光谱数据库。

对于用户如何运行 LC/MS 数据并没有具体的要求。由于在 metID 中的内部数据库构建是为了让用户能够自行获得内部数据库(包括代谢物的 m/z、保留时间和 MS/MS 光谱,用于一级注释 (Sumner et al., 2007)),因此用户只需使用与实验室实际样品相同的色谱柱、LC 梯度和 MS 设置运行标准样品即可。

数据准备

首先,请使用 ProteoWizard 将原始标准 MS 数据(正负模式)转换为 mzXML 格式。参数设置如下图所示:

数据组织

其次,请将标准信息整理成表格,并输出为 csv 或 xlsx 格式。标准信息的格式可以参考 demoData 包中的演示数据。

从第1列到第11列,依次为 “Lab.ID”、“Compound.name”、“mz”、“RT”、“CAS.ID”、“HMDB.ID”、“KEGG.ID”、“Formula”、“mz.pos”、“mz.neg”、“Submitter”。如果你有其他的标准信息也没问题。例如演示数据中还有其他附加信息:“Family”、“Sub.pathway” 和 “Note”。

  • Lab.ID: 无重复。

  • mz: 化合物的精确质量。

  • RT: 保留时间,单位为秒。

  • mz.pos: 化合物在正模式下的质量电荷比,例如 M+H。你可以将其设置为 NA

  • mz.neg: 化合物在负模式下的质量电荷比,例如 M-H。你可以将其设置为 NA

  • Submitter: 提交者的名字或组织名称。你可以将其设置为 NA

然后创建一个文件夹,将 mzXML 格式的数据集(正模式放入 ‘POS’ 文件夹,负模式放入 ‘NEG’ 文件夹)和化合物信息放入其中。mzXML 文件名应包含碰撞能量。例如 test_NCE25.mzXML

mzXML 文件的命名应为:xxx_NCE25.mzXML

运行 construct_database() 函数

这里我们使用 demoData 包中的演示数据来展示如何使用 construct_database() 函数来构建数据库。

我们首先准备数据集。

在此下载数据,然后将所有文件放入 “database_construction” 文件夹。

然后在你的工作目录中会有一个名为 database_construction 的文件夹,如下图所示:

接下来运行 construct_database() 函数,我们就可以生成数据库。

library(metid)

new.path <- file.path("./database_construction")

test.database <- construct_database(
  path = new.path,
  version = "0.0.1",
  metabolite.info.name = "metabolite.info_RPLC.csv",
  source = "Michael Snyder lab",
  link = "http://snyderlab.stanford.edu/",
  creater = "Xiaotao Shen",
  email = "shenxt1990@163.com",
  rt = TRUE,
  mz.tol = 15,
  rt.tol = 30,
  threads = 3
)

construct_database() 函数的参数可以通过 ?construct_database() 查找。

test.database 是一个 databaseClass 对象,你可以打印它来查看其信息。

test.database
#> -----------Base information------------
#> Version:0.0.1
#> Source:Michael Snyder lab
#> Link:http://snyderlab.stanford.edu/
#> Creater:Xiaotao Shen(shenxt1990@163.com)
#> With RT information
#> -----------Spectral information------------
#> 14 items of metabolite information:
#> Lab.ID; Compound.name; mz; RT; CAS.ID; HMDB.ID; KEGG.ID; Formula; mz.pos; mz.neg (top10)
#> 172 metabolites in total.
#> 41 metabolites with spectra in positive mode.
#> 45 metabolites with spectra in negative mode.
#> Collision energy in positive mode (number:):
#> Total number:1
#> NCE25
#> Collision energy in negative mode:
#> Total number:1
#> NCE25

注意: test.database 只是一个演示数据库(metIdentifyClass 对象)。我们不会将其用于后续的代谢物鉴定。请将此数据库保存在你的本地文件夹中,并确保保存的文件名和数据库名称一致。例如:

save(test.database, file = "test.database")

如果你使用不同的名称保存 test.database,在使用时会出现错误。

MS1 数据库

如果你没有 MS2 数据,你仍然可以使用 construct_database() 函数来构建 MS1 数据库。

会话信息

sessionInfo()
#> R version 4.4.1 (2024-06-14)
#> Platform: aarch64-apple-darwin20
#> Running under: macOS Sonoma 14.6.1
#> 
#> Matrix products: default
#> BLAS:   /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRblas.0.dylib 
#> LAPACK: /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.12.0
#> 
#> locale:
#> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
#> 
#> time zone: Asia/Singapore
#> tzcode source: internal
#> 
#> attached base packages:
#> [1] stats4    stats     graphics  grDevices utils     datasets  methods  
#> [8] base     
#> 
#> other attached packages:
#>  [1] MSnbase_2.30.1      ProtGenerics_1.36.0 S4Vectors_0.42.1   
#>  [4] mzR_2.38.0          Rcpp_1.0.13         Biobase_2.64.0     
#>  [7] BiocGenerics_0.50.0 ggplot2_3.5.1       massdataset_1.0.34 
#> [10] dplyr_1.1.4         magrittr_2.0.3      masstools_1.0.13   
#> [13] metid_1.2.32       
#> 
#> loaded via a namespace (and not attached):
#>   [1] RColorBrewer_1.1-3          rstudioapi_0.16.0          
#>   [3] jsonlite_1.8.8              shape_1.4.6.1              
#>   [5] MultiAssayExperiment_1.30.3 MALDIquant_1.22.3          
#>   [7] rmarkdown_2.28              GlobalOptions_0.1.2        
#>   [9] zlibbioc_1.50.0             vctrs_0.6.5                
#>  [11] RCurl_1.98-1.16             blogdown_1.19              
#>  [13] progress_1.2.3              htmltools_0.5.8.1          
#>  [15] S4Arrays_1.4.1              cellranger_1.1.0           
#>  [17] SparseArray_1.4.8           mzID_1.42.0                
#>  [19] sass_0.4.9                  parallelly_1.38.0          
#>  [21] bslib_0.8.0                 htmlwidgets_1.6.4          
#>  [23] plyr_1.8.9                  impute_1.78.0              
#>  [25] plotly_4.10.4               cachem_1.1.0               
#>  [27] igraph_2.0.3                lifecycle_1.0.4            
#>  [29] iterators_1.0.14            pkgconfig_2.0.3            
#>  [31] Matrix_1.7-0                R6_2.5.1                   
#>  [33] fastmap_1.2.0               GenomeInfoDbData_1.2.12    
#>  [35] MatrixGenerics_1.16.0       future_1.34.0              
#>  [37] clue_0.3-65                 digest_0.6.37              
#>  [39] pcaMethods_1.96.0           colorspace_2.1-1           
#>  [41] furrr_0.3.1                 rprojroot_2.0.4            
#>  [43] GenomicRanges_1.56.1        fansi_1.0.6                
#>  [45] httr_1.4.7                  abind_1.4-5                
#>  [47] compiler_4.4.1              here_1.0.1                 
#>  [49] remotes_2.5.0               bit64_4.0.5                
#>  [51] withr_3.0.1                 doParallel_1.0.17          
#>  [53] BiocParallel_1.38.0         MASS_7.3-61                
#>  [55] DelayedArray_0.30.1         rjson_0.2.22               
#>  [57] tools_4.4.1                 PSMatch_1.8.0              
#>  [59] zip_2.3.1                   glue_1.7.0                 
#>  [61] QFeatures_1.14.2            grid_4.4.1                 
#>  [63] cluster_2.1.6               reshape2_1.4.4             
#>  [65] generics_0.1.3              gtable_0.3.5               
#>  [67] tzdb_0.4.0                  preprocessCore_1.66.0      
#>  [69] tidyr_1.3.1                 data.table_1.16.0          
#>  [71] hms_1.1.3                   utf8_1.2.4                 
#>  [73] XVector_0.44.0              foreach_1.5.2              
#>  [75] pillar_1.9.0                stringr_1.5.1              
#>  [77] vroom_1.6.5                 limma_3.60.4               
#>  [79] circlize_0.4.16             lattice_0.22-6             
#>  [81] bit_4.0.5                   tidyselect_1.2.1           
#>  [83] ComplexHeatmap_2.20.0       pbapply_1.7-2              
#>  [85] knitr_1.48                  bookdown_0.40              
#>  [87] IRanges_2.38.1              SummarizedExperiment_1.34.0
#>  [89] xfun_0.47                   statmod_1.5.0              
#>  [91] matrixStats_1.3.0           stringi_1.8.4              
#>  [93] UCSC.utils_1.0.0            lazyeval_0.2.2             
#>  [95] yaml_2.3.10                 evaluate_0.24.0            
#>  [97] codetools_0.2-20            MsCoreUtils_1.16.1         
#>  [99] tibble_3.2.1                BiocManager_1.30.25        
#> [101] cli_3.6.3                   affyio_1.74.0              
#> [103] munsell_0.5.1               jquerylib_0.1.4            
#> [105] readxl_1.4.3                GenomeInfoDb_1.40.1        
#> [107] globals_0.16.3              png_0.1-8                  
#> [109] XML_3.99-0.17               parallel_4.4.1             
#> [111] readr_2.1.5                 prettyunits_1.2.0          
#> [113] AnnotationFilter_1.28.0     bitops_1.0-8               
#> [115] listenv_0.9.1               viridisLite_0.4.2          
#> [117] scales_1.3.0                affy_1.82.0                
#> [119] openxlsx_4.2.7              ncdf4_1.23                 
#> [121] purrr_1.0.2                 crayon_1.5.3               
#> [123] GetoptLong_1.0.5            rlang_1.1.4                
#> [125] vsn_3.72.0
上一页
下一页