ASICS User’s Guide

Gaëlle Lefort

2018-01-23

This user’s guide provides an overview of the package ASICS. ASICS is a fully automated procedure to identify and quantify metabolites in \(^1\)H NMR spectra of biological mixtures. It will enable empowering NMR-based metabolomics by quickly and accurately helping experts to obtain metabolic profiles.

library(ASICS)

Library of pure NMR metabolite spectra

A dataset with spectra of 175 pure metabolites is available in the package. It is automatically loaded at package start and available metabolites are displayed with:

head(pure_library$name, n = 20)
##  [1] "1-Methyl-L-Histidine"           "1-Methylhydantoin"             
##  [3] "1,3-Diaminopropane"             "1,6-Anhydro-Beta-D-Glucose"    
##  [5] "2-AminoAdipicAcid"              "2-Aminobutyric Acid"           
##  [7] "2-deoxyadenosine"               "2-deoxycytidine"               
##  [9] "2-deoxyguanosine"               "2-deoxyguanosinemonophosphate" 
## [11] "2-HydroxyphenylAceticAcid"      "2-MethylglutaricAcid"          
## [13] "2-Oxobutyrate"                  "2-oxoglutarate"                
## [15] "2-PicolinicAcid"                "2,3-Pyridine dicarboxylic Acid"
## [17] "3-hydroxybutyrate"              "3-HydroxyphenylAceticAcid"     
## [19] "3-Methyl-L-Histidine"           "3-MethyladipicAcid"

Identification and quantification of metabolites on one Bruker files with ASICS

The identification and the quantification are carried out using only one function ASICS directly from raw files (Bruker files):

# part of the spectrum to exclude (water)
to_exclude <- matrix(c(4.5,5.1,5.5,6.5), ncol = 2, byrow = TRUE)
result <- ASICS(path = system.file("extdata", "example_spectra",
                                   "AG_faq_Beck01", package = "ASICS"),
                exclusion.areas = to_exclude)
result
## Number of identified metabolites: 40 
## 
## Most concentrated metabolites: 
##                   Name Relative_Concentration
## 1            D-Glucose            0.025222765
## 2              Lactate            0.012571970
## 3       L-GlutamicAcid            0.008477737
## 4 DehydroAscorbic Acid            0.006028531
## 5              Taurine            0.005801350
## 6         Myo-Inositol            0.005675374

The quality of the results can be assessed by stacking the original and the recomposed spectra on one plot. A pure metabolite spectrum can also be added for visual comparison.

plot(result, xmin = 1, xmax = 1.5, ymax = 10, add_metab = "Lactate")

Relative concentrations of identified metabolites are saved in:

head(present_metabolites(result), 10)
##                    Name Relative_Concentration
## 1             D-Glucose            0.025222765
## 2               Lactate            0.012571970
## 3        L-GlutamicAcid            0.008477737
## 4  DehydroAscorbic Acid            0.006028531
## 5               Taurine            0.005801350
## 6          Myo-Inositol            0.005675374
## 7          GlycericAcid            0.005306488
## 8      D-GlucuronicAcid            0.004462360
## 9           L-Threonine            0.004245641
## 10            D-Maltose            0.004038742

Identification and quantification of metabolites on multiple Bruker files with ASICS

Usually, many spectra are available for one experience. With the ASICS_multiFiles function, quantification is launched on all spectra present in the specified folder (name.dir). The arguments of this function are the same than for ASICS function with the addition of ncores for parallel computation (if wanted).

res_multi <- ASICS_multiFiles(name.dir = system.file("extdata",
                                                     "example_spectra",
                                                     package = "ASICS"),
                              exclusion.areas = to_exclude, ncores = 4)

For further analyses, it is possible to extract concentrations of all spectra in a data-frame:

quantification <- extract_concentrations(res_multi)
head(quantification)
##            metabolites AG_faq_Beck01 AG_faq_Beck051 AG_faq_Beck139
## 1            D-Glucose   0.025222765    0.021630958    0.025523695
## 2              Lactate   0.012571970    0.012005350    0.011444711
## 3       L-GlutamicAcid   0.008477737    0.007473072    0.006455950
## 4 DehydroAscorbic Acid   0.006028531    0.003729043    0.006113062
## 5              Taurine   0.005801350    0.006930275    0.004818777
## 6         Myo-Inositol   0.005675374    0.006819996    0.006978710
##   AG_faq_Beck176
## 1    0.023192089
## 2    0.013442757
## 3    0.007069132
## 4    0.000000000
## 5    0.006620102
## 6    0.007334587

Reference

Tardivel P., Canlet C., Lefort G., Tremblay-Franco M., Debrauwer L., Concordet D., Servien R. (2017). ASICS: an automatic method for identification and quantification of metabolites in complex 1D 1H NMR spectra. Metabolomics, 13(10): 109. https://doi.org/10.1007/s11306-017-1244-5

Session information

This user’s guide has been created with the following system configuration

sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 16.04.3 LTS
## 
## Matrix products: default
## BLAS: /usr/lib/libblas/libblas.so.3.6.0
## LAPACK: /usr/lib/lapack/liblapack.so.3.6.0
## 
## locale:
##  [1] LC_CTYPE=fr_FR.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=fr_FR.UTF-8        LC_COLLATE=fr_FR.UTF-8    
##  [5] LC_MONETARY=fr_FR.UTF-8    LC_MESSAGES=fr_FR.UTF-8   
##  [7] LC_PAPER=fr_FR.UTF-8       LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=fr_FR.UTF-8 LC_IDENTIFICATION=C       
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] ASICS_1.0.0
## 
## loaded via a namespace (and not attached):
##  [1] Rcpp_0.12.13               compiler_3.4.3            
##  [3] plyr_1.8.4                 GenomeInfoDb_1.12.2       
##  [5] XVector_0.16.0             iterators_1.0.8           
##  [7] bitops_1.0-6               tools_3.4.3               
##  [9] zlibbioc_1.22.0            digest_0.6.12             
## [11] lattice_0.20-35            evaluate_0.10.1           
## [13] tibble_1.3.4               gtable_0.2.0              
## [15] rlang_0.1.2                foreach_1.4.3             
## [17] Matrix_1.2-11              DelayedArray_0.2.7        
## [19] yaml_2.1.14                parallel_3.4.3            
## [21] gridExtra_2.3              GenomeInfoDbData_0.99.0   
## [23] stringr_1.2.0              knitr_1.17                
## [25] S4Vectors_0.14.4           IRanges_2.10.3            
## [27] stats4_3.4.3               rprojroot_1.2             
## [29] grid_3.4.3                 Biobase_2.36.2            
## [31] rmarkdown_1.6              ggplot2_2.2.1.9000        
## [33] magrittr_1.5               codetools_0.2-15          
## [35] ropls_1.8.0                backports_1.1.1           
## [37] scales_0.5.0.9000          htmltools_0.3.6           
## [39] matrixStats_0.52.2         BiocGenerics_0.22.0       
## [41] GenomicRanges_1.28.5       SummarizedExperiment_1.6.4
## [43] colorspace_1.3-2           labeling_0.3              
## [45] quadprog_1.5-5             stringi_1.1.5             
## [47] doParallel_1.0.10          RCurl_1.95-4.8            
## [49] lazyeval_0.2.0             munsell_0.4.3             
## [51] zoo_1.8-0