Use extract_xxx functions

We first created a mass_dataset class object.

library(massdataset)
library(tidyverse)

data("expression_data")
data("sample_info")
data("sample_info_note")
data("variable_info")
data("variable_info_note")

object =
  create_mass_dataset(
    expression_data = expression_data,
    sample_info = sample_info,
    variable_info = variable_info,
    sample_info_note = sample_info_note,
    variable_info_note = variable_info_note
  )
  
object
#> -------------------- 
#> massdataset version: 1.0.12 
#> -------------------- 
#> 1.expression_data:[ 1000 x 8 data.frame]
#> 2.sample_info:[ 8 x 4 data.frame]
#> 3.variable_info:[ 1000 x 3 data.frame]
#> 4.sample_info_note:[ 4 x 2 data.frame]
#> 5.variable_info_note:[ 3 x 2 data.frame]
#> 6.ms2_data:[ 0 variables x 0 MS2 spectra]
#> -------------------- 
#> Processing information (extract_process_info())
#> 1 processings in total
#> create_mass_dataset ---------- 
#>       Package         Function.used                Time
#> 1 massdataset create_mass_dataset() 2022-08-07 19:23:39

In massdataset package, there are a series of functions named as extract_xxx(), users can use them to extract data from mass_dataset calss object.

##sample_info
extract_sample_info(object)
#>   sample_id injection.order   class   group
#> 1   Blank_3               1   Blank   Blank
#> 2   Blank_4               2   Blank   Blank
#> 3      QC_1               3      QC      QC
#> 4      QC_2               4      QC      QC
#> 5     PS4P1               5 Subject Subject
#> 6     PS4P2               6 Subject Subject
#> 7     PS4P3               7 Subject Subject
#> 8     PS4P4               8 Subject Subject
##variable_info
extract_variable_info(object) %>% head()
#>     variable_id        mz        rt
#> 1 M136T55_2_POS 136.06140  54.97902
#> 2    M79T35_POS  79.05394  35.36550
#> 3  M307T548_POS 307.14035 547.56641
#> 4  M183T224_POS 183.06209 224.32777
#> 5   M349T47_POS 349.01584  47.00262
#> 6  M182T828_POS 181.99775 828.35712
##expression_data
extract_expression_data(object) %>% head()
#>               Blank_3 Blank_4      QC_1      QC_2     PS4P1     PS4P2   PS4P3
#> M136T55_2_POS      NA      NA 1857924.8 1037763.8 1494436.1 3496912.1 1959179
#> M79T35_POS         NA      NA 2821550.2 1304875.3 2471336.1 3333582.7 2734244
#> M307T548_POS       NA      NA  410387.6  273687.8  288590.2  137297.5      NA
#> M183T224_POS       NA      NA        NA        NA        NA 5059068.1 5147422
#> M349T47_POS        NA      NA 8730104.8 4105598.5 5141073.2 8424315.6 7896633
#> M182T828_POS  3761893 2572593        NA 3662819.1 5700534.8 4600172.4 5557015
#>                   PS4P4
#> M136T55_2_POS 1005418.8
#> M79T35_POS    3361452.3
#> M307T548_POS   271318.3
#> M183T224_POS         NA
#> M349T47_POS   6441449.0
#> M182T828_POS  4433034.2
##sample_info_note
extract_sample_info_note(object) 
#>              name         meaning
#> 1       sample_id       sample_id
#> 2 injection.order injection.order
#> 3           class           class
#> 4           group           group
##variable_info_note
extract_variable_info_note(object) 
#>          name     meaning
#> 1 variable_id variable_id
#> 2          mz          mz
#> 3          rt          rt
##ms2_data
extract_ms2_data(object)
#> list()
##process_info
extract_annotation_table(object)
#> data frame with 0 columns and 0 rows
##process_info
extract_process_info(object)
#> $create_mass_dataset
#> -------------------- 
#> pacakge_name: massdataset 
#> function_name: create_mass_dataset() 
#> time: 2022-08-07 19:23:39 
#> parameters:
#> no : no

Use slot()

slot(object = object, name = "sample_info")
#>   sample_id injection.order   class   group
#> 1   Blank_3               1   Blank   Blank
#> 2   Blank_4               2   Blank   Blank
#> 3      QC_1               3      QC      QC
#> 4      QC_2               4      QC      QC
#> 5     PS4P1               5 Subject Subject
#> 6     PS4P2               6 Subject Subject
#> 7     PS4P3               7 Subject Subject
#> 8     PS4P4               8 Subject Subject
slot(object = object, name = "variable_info") %>% head()
#>     variable_id        mz        rt
#> 1 M136T55_2_POS 136.06140  54.97902
#> 2    M79T35_POS  79.05394  35.36550
#> 3  M307T548_POS 307.14035 547.56641
#> 4  M183T224_POS 183.06209 224.32777
#> 5   M349T47_POS 349.01584  47.00262
#> 6  M182T828_POS 181.99775 828.35712
slot(object = object, name = "expression_data") %>% head()
#>               Blank_3 Blank_4      QC_1      QC_2     PS4P1     PS4P2   PS4P3
#> M136T55_2_POS      NA      NA 1857924.8 1037763.8 1494436.1 3496912.1 1959179
#> M79T35_POS         NA      NA 2821550.2 1304875.3 2471336.1 3333582.7 2734244
#> M307T548_POS       NA      NA  410387.6  273687.8  288590.2  137297.5      NA
#> M183T224_POS       NA      NA        NA        NA        NA 5059068.1 5147422
#> M349T47_POS        NA      NA 8730104.8 4105598.5 5141073.2 8424315.6 7896633
#> M182T828_POS  3761893 2572593        NA 3662819.1 5700534.8 4600172.4 5557015
#>                   PS4P4
#> M136T55_2_POS 1005418.8
#> M79T35_POS    3361452.3
#> M307T548_POS   271318.3
#> M183T224_POS         NA
#> M349T47_POS   6441449.0
#> M182T828_POS  4433034.2
slot(object = object, name = "sample_info_note") 
#>              name         meaning
#> 1       sample_id       sample_id
#> 2 injection.order injection.order
#> 3           class           class
#> 4           group           group
slot(object = object, name = "variable_info_note") 
#>          name     meaning
#> 1 variable_id variable_id
#> 2          mz          mz
#> 3          rt          rt
slot(object = object, name = "ms2_data") 
#> list()
slot(object = object, name = "process_info") 
#> $create_mass_dataset
#> -------------------- 
#> pacakge_name: massdataset 
#> function_name: create_mass_dataset() 
#> time: 2022-08-07 19:23:39 
#> parameters:
#> no : no
slot(object = object, name = "annotation_table") 
#> data frame with 0 columns and 0 rows

Use @

mass_data class is a S4 object. So we can also use @.

object@expression_data %>% head()
#>               Blank_3 Blank_4      QC_1      QC_2     PS4P1     PS4P2   PS4P3
#> M136T55_2_POS      NA      NA 1857924.8 1037763.8 1494436.1 3496912.1 1959179
#> M79T35_POS         NA      NA 2821550.2 1304875.3 2471336.1 3333582.7 2734244
#> M307T548_POS       NA      NA  410387.6  273687.8  288590.2  137297.5      NA
#> M183T224_POS       NA      NA        NA        NA        NA 5059068.1 5147422
#> M349T47_POS        NA      NA 8730104.8 4105598.5 5141073.2 8424315.6 7896633
#> M182T828_POS  3761893 2572593        NA 3662819.1 5700534.8 4600172.4 5557015
#>                   PS4P4
#> M136T55_2_POS 1005418.8
#> M79T35_POS    3361452.3
#> M307T548_POS   271318.3
#> M183T224_POS         NA
#> M349T47_POS   6441449.0
#> M182T828_POS  4433034.2
object@sample_info
#>   sample_id injection.order   class   group
#> 1   Blank_3               1   Blank   Blank
#> 2   Blank_4               2   Blank   Blank
#> 3      QC_1               3      QC      QC
#> 4      QC_2               4      QC      QC
#> 5     PS4P1               5 Subject Subject
#> 6     PS4P2               6 Subject Subject
#> 7     PS4P3               7 Subject Subject
#> 8     PS4P4               8 Subject Subject
object@variable_info %>% head()
#>     variable_id        mz        rt
#> 1 M136T55_2_POS 136.06140  54.97902
#> 2    M79T35_POS  79.05394  35.36550
#> 3  M307T548_POS 307.14035 547.56641
#> 4  M183T224_POS 183.06209 224.32777
#> 5   M349T47_POS 349.01584  47.00262
#> 6  M182T828_POS 181.99775 828.35712
object@sample_info_note
#>              name         meaning
#> 1       sample_id       sample_id
#> 2 injection.order injection.order
#> 3           class           class
#> 4           group           group
object@variable_info_note
#>          name     meaning
#> 1 variable_id variable_id
#> 2          mz          mz
#> 3          rt          rt
object@process_info
#> $create_mass_dataset
#> -------------------- 
#> pacakge_name: massdataset 
#> function_name: create_mass_dataset() 
#> time: 2022-08-07 19:23:39 
#> parameters:
#> no : no
object@ms2_data
#> list()
object@annotation_table
#> data frame with 0 columns and 0 rows

Session information

sessionInfo()
#> R version 4.2.1 (2022-06-23)
#> Platform: x86_64-apple-darwin17.0 (64-bit)
#> Running under: macOS Big Sur ... 10.16
#> 
#> Matrix products: default
#> BLAS:   /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRblas.0.dylib
#> LAPACK: /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRlapack.dylib
#> 
#> locale:
#> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
#> 
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base     
#> 
#> other attached packages:
#>  [1] masstools_1.0.2    forcats_0.5.1.9000 stringr_1.4.0      dplyr_1.0.9       
#>  [5] purrr_0.3.4        readr_2.1.2        tidyr_1.2.0        tibble_3.1.7      
#>  [9] ggplot2_3.3.6      tidyverse_1.3.1    magrittr_2.0.3     tinytools_0.9.1   
#> [13] massdataset_1.0.12
#> 
#> loaded via a namespace (and not attached):
#>   [1] readxl_1.4.0                backports_1.4.1            
#>   [3] circlize_0.4.15             systemfonts_1.0.4          
#>   [5] plyr_1.8.7                  lazyeval_0.2.2             
#>   [7] BiocParallel_1.30.3         GenomeInfoDb_1.32.2        
#>   [9] Rdisop_1.56.0               digest_0.6.29              
#>  [11] foreach_1.5.2               yulab.utils_0.0.5          
#>  [13] htmltools_0.5.2             fansi_1.0.3                
#>  [15] memoise_2.0.1               cluster_2.1.3              
#>  [17] doParallel_1.0.17           tzdb_0.3.0                 
#>  [19] openxlsx_4.2.5              limma_3.52.2               
#>  [21] ComplexHeatmap_2.12.0       modelr_0.1.8               
#>  [23] matrixStats_0.62.0          pkgdown_2.0.5              
#>  [25] colorspace_2.0-3            rvest_1.0.2                
#>  [27] textshaping_0.3.6           haven_2.5.0                
#>  [29] xfun_0.31                   crayon_1.5.1               
#>  [31] RCurl_1.98-1.7              jsonlite_1.8.0             
#>  [33] impute_1.70.0               iterators_1.0.14           
#>  [35] glue_1.6.2                  gtable_0.3.0               
#>  [37] zlibbioc_1.42.0             XVector_0.36.0             
#>  [39] GetoptLong_1.0.5            DelayedArray_0.22.0        
#>  [41] shape_1.4.6                 BiocGenerics_0.42.0        
#>  [43] scales_1.2.0                vsn_3.64.0                 
#>  [45] DBI_1.1.3                   Rcpp_1.0.8.3               
#>  [47] mzR_2.30.0                  viridisLite_0.4.0          
#>  [49] clue_0.3-61                 gridGraphics_0.5-1         
#>  [51] preprocessCore_1.58.0       stats4_4.2.1               
#>  [53] MsCoreUtils_1.8.0           htmlwidgets_1.5.4          
#>  [55] httr_1.4.3                  RColorBrewer_1.1-3         
#>  [57] ellipsis_0.3.2              pkgconfig_2.0.3            
#>  [59] XML_3.99-0.10               sass_0.4.1                 
#>  [61] dbplyr_2.2.1                utf8_1.2.2                 
#>  [63] ggplotify_0.1.0             tidyselect_1.1.2           
#>  [65] rlang_1.0.3                 munsell_0.5.0              
#>  [67] cellranger_1.1.0            tools_4.2.1                
#>  [69] cachem_1.0.6                cli_3.3.0                  
#>  [71] generics_0.1.3              broom_1.0.0                
#>  [73] evaluate_0.15               fastmap_1.1.0              
#>  [75] mzID_1.34.0                 yaml_2.3.5                 
#>  [77] ragg_1.2.2                  knitr_1.39                 
#>  [79] fs_1.5.2                    zip_2.2.0                  
#>  [81] ncdf4_1.19                  pbapply_1.5-0              
#>  [83] xml2_1.3.3                  compiler_4.2.1             
#>  [85] rstudioapi_0.13             plotly_4.10.0              
#>  [87] png_0.1-7                   affyio_1.66.0              
#>  [89] reprex_2.0.1                bslib_0.3.1                
#>  [91] stringi_1.7.6               desc_1.4.1                 
#>  [93] MSnbase_2.22.0              lattice_0.20-45            
#>  [95] ProtGenerics_1.28.0         Matrix_1.4-1               
#>  [97] ggsci_2.9                   vctrs_0.4.1                
#>  [99] pillar_1.7.0                lifecycle_1.0.1            
#> [101] BiocManager_1.30.18         jquerylib_0.1.4            
#> [103] MALDIquant_1.21             GlobalOptions_0.1.2        
#> [105] data.table_1.14.2           bitops_1.0-7               
#> [107] GenomicRanges_1.48.0        R6_2.5.1                   
#> [109] pcaMethods_1.88.0           affy_1.74.0                
#> [111] IRanges_2.30.0              codetools_0.2-18           
#> [113] MASS_7.3-57                 assertthat_0.2.1           
#> [115] SummarizedExperiment_1.26.1 rprojroot_2.0.3            
#> [117] rjson_0.2.21                withr_2.5.0                
#> [119] S4Vectors_0.34.0            GenomeInfoDbData_1.2.8     
#> [121] parallel_4.2.1              hms_1.1.1                  
#> [123] grid_4.2.1                  rmarkdown_2.14             
#> [125] MatrixGenerics_1.8.1        Biobase_2.56.0             
#> [127] lubridate_1.8.0