Note that if you would like to build the vignettes, you have to install BiocStyle
(from Bioconductor) and rmarkdown
packages before installing limpca
with the following command: remotes::install_github("ManonMartin/limpca", dependencies = TRUE, build_vignettes = TRUE)
.
For any enquiry, you can send an email to the package authors: bernadette.govaerts@uclouvain.be ; michel.thiel@uclouvain.be or manon.martin@uclouvain.be
UCH
datasetIn order to use the limpca core functions, the data need to be formatted as a list (informally called an lmpDataList) with the following elements: outcomes
(multivariate matrix), design
(data.frame) and formula
(character string). The UCH
data set is already formatted appropriately and can be loaded from limpca
with the data
function.
data("UCH")
str(UCH)
#> List of 3
#> $ design :'data.frame': 34 obs. of 5 variables:
#> ..$ Hippurate: Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 2 2 2 2 ...
#> ..$ Citrate : Factor w/ 3 levels "0","2","4": 1 1 2 2 3 3 1 1 2 2 ...
#> ..$ Dilution : Factor w/ 1 level "diluted": 1 1 1 1 1 1 1 1 1 1 ...
#> ..$ Day : Factor w/ 2 levels "2","3": 1 1 1 1 1 1 1 1 1 1 ...
#> ..$ Time : Factor w/ 2 levels "1","2": 1 2 1 2 1 2 1 2 1 2 ...
#> $ outcomes: num [1:34, 1:600] 0.0312 0.0581 0.027 0.0341 0.0406 ...
#> ..- attr(*, "dimnames")=List of 2
#> .. ..$ : chr [1:34] "M2C00D2R1" "M2C00D2R2" "M2C02D2R1" "M2C02D2R2" ...
#> .. ..$ X1: chr [1:600] "9.9917004" "9.9753204" "9.9590624" "9.9427436" ...
#> $ formula : chr "outcomes ~ Hippurate + Citrate + Time + Hippurate:Citrate + Time:Hippurate + Time:Citrate + Hippurate:Citrate:Time"
Alternatively, the lmpDataList can be created with the function data2LmpDataList
:
UCH2 <- data2LmpDataList(
outcomes = UCH$outcomes,
design = UCH$design,
formula = UCH$formula
)
#> | dim outcomes: 34x600
#> | formula: ~ Hippurate + Citrate + Time + Hippurate:Citrate + Time:Hippurate + Time:Citrate + Hippurate:Citrate:Time
#> | design variables (5):
#> * Hippurate (factor)
#> * Citrate (factor)
#> * Dilution (factor)
#> * Day (factor)
#> * Time (factor)
SummarizedExperiment
:se <- SummarizedExperiment(
assays = list(
counts = t(UCH$outcomes)), colData = UCH$design,
metadata = list(formula = UCH$formula)
)
UCH3 <- data2LmpDataList(se, assay_name = "counts")
#> | dim outcomes: 34x600
#> | formula: ~ Hippurate + Citrate + Time + Hippurate:Citrate + Time:Hippurate + Time:Citrate + Hippurate:Citrate:Time
#> | design variables (5):
#> * Hippurate (factor)
#> * Citrate (factor)
#> * Dilution (factor)
#> * Day (factor)
#> * Time (factor)
SummarizedExperiment
is a generic data container that stores rectangular matrices of experimental results. See Morgan et al. (2023) for more information.
The design can be visualised with plotDesign()
.
# design
plotDesign(
design = UCH$design, x = "Hippurate",
y = "Citrate", rows = "Time",
title = "Design of the UCH dataset"
)
# row 3 of outcomes
plotLine(
Y = UCH$outcomes,
title = "H-NMR spectrum",
rows = c(3),
xlab = "ppm",
ylab = "Intensity"
)
pcaScorePlot(
resPcaBySvd = ResPCA, axes = c(1, 2),
title = "PCA scores plot: PC1 and PC2",
design = UCH$design,
color = "Hippurate", shape = "Citrate",
points_labs_rn = FALSE
)
# Bootstrap tests
resBT <- lmpBootstrapTests(resLmpEffectMatrices = resEM, nboot = 100)
resBT$resultsTable
#> % of variance (T III) Bootstrap p-values
#> Hippurate 39.31 < 0.01
#> Citrate 29.91 < 0.01
#> Time 16.24 < 0.01
#> Hippurate:Citrate 1.54 0.18
#> Hippurate:Time 6.23 < 0.01
#> Citrate:Time 0.54 0.45
#> Hippurate:Citrate:Time 1.68 0.1
#> Residuals 4.30 -
# ASCA decomposition
resASCA <- lmpPcaEffects(resLmpEffectMatrices = resEM, method = "ASCA")
# Scores Plot for the hippurate
lmpScorePlot(resASCA,
effectNames = "Hippurate",
color = "Hippurate", shape = "Hippurate"
)
# Loadings Plot for the hippurate
lmpLoading1dPlot(resASCA,
effectNames = c("Hippurate"),
axes = 1, xlab = "ppm"
)
# Scores ScatterPlot matrix
lmpScoreScatterPlotM(resASCA,
PCdim = c(1, 1, 1, 1, 1, 1, 1, 2),
modelAbbrev = TRUE,
varname.colorup = "Citrate",
varname.colordown = "Time",
varname.pchup = "Hippurate",
varname.pchdown = "Time",
title = "ASCA scores scatterplot matrix"
)
sessionInfo()
#> R Under development (unstable) (2024-03-18 r86148)
#> Platform: x86_64-pc-linux-gnu
#> Running under: Ubuntu 22.04.4 LTS
#>
#> Matrix products: default
#> BLAS: /home/biocbuild/bbs-3.19-bioc/R/lib/libRblas.so
#> LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0
#>
#> locale:
#> [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
#> [3] LC_TIME=en_GB LC_COLLATE=C
#> [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
#> [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
#> [9] LC_ADDRESS=C LC_TELEPHONE=C
#> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
#>
#> time zone: America/New_York
#> tzcode source: system (glibc)
#>
#> attached base packages:
#> [1] stats4 stats graphics grDevices utils datasets methods
#> [8] base
#>
#> other attached packages:
#> [1] SummarizedExperiment_1.33.3 Biobase_2.63.1
#> [3] GenomicRanges_1.55.4 GenomeInfoDb_1.39.13
#> [5] IRanges_2.37.1 S4Vectors_0.41.6
#> [7] BiocGenerics_0.49.1 MatrixGenerics_1.15.0
#> [9] matrixStats_1.2.0 car_3.1-2
#> [11] carData_3.0-5 pander_0.6.5
#> [13] gridExtra_2.3 limpca_0.99.7
#> [15] ggplot2_3.5.0 BiocStyle_2.31.0
#>
#> loaded via a namespace (and not attached):
#> [1] gtable_0.3.4 xfun_0.43 bslib_0.7.0
#> [4] ggrepel_0.9.5 lattice_0.22-6 vctrs_0.6.5
#> [7] tools_4.4.0 generics_0.1.3 parallel_4.4.0
#> [10] tibble_3.2.1 fansi_1.0.6 highr_0.10
#> [13] pkgconfig_2.0.3 Matrix_1.7-0 tidyverse_2.0.0
#> [16] lifecycle_1.0.4 GenomeInfoDbData_1.2.12 farver_2.1.1
#> [19] stringr_1.5.1 compiler_4.4.0 munsell_0.5.1
#> [22] ggsci_3.0.3 codetools_0.2-20 htmltools_0.5.8.1
#> [25] sass_0.4.9 yaml_2.3.8 tidyr_1.3.1
#> [28] pillar_1.9.0 crayon_1.5.2 jquerylib_0.1.4
#> [31] cachem_1.0.8 DelayedArray_0.29.9 iterators_1.0.14
#> [34] abind_1.4-5 foreach_1.5.2 tidyselect_1.2.1
#> [37] digest_0.6.35 stringi_1.8.3 purrr_1.0.2
#> [40] reshape2_1.4.4 dplyr_1.1.4 bookdown_0.38
#> [43] labeling_0.4.3 fastmap_1.1.1 grid_4.4.0
#> [46] colorspace_2.1-0 cli_3.6.2 SparseArray_1.3.4
#> [49] magrittr_2.0.3 S4Arrays_1.3.6 utf8_1.2.4
#> [52] withr_3.0.0 scales_1.3.0 UCSC.utils_0.99.5
#> [55] rmarkdown_2.26 XVector_0.43.1 httr_1.4.7
#> [58] evaluate_0.23 knitr_1.46 doParallel_1.0.17
#> [61] rlang_1.1.3 Rcpp_1.0.12 glue_1.7.0
#> [64] formatR_1.14 BiocManager_1.30.22 jsonlite_1.8.8
#> [67] plyr_1.8.9 R6_2.5.1 zlibbioc_1.49.3
Morgan, Martin, Valerie Obenchain, Jim Hester, and Hervé Pagès. 2023. SummarizedExperiment: SummarizedExperiment Container. https://doi.org/10.18129/B9.bioc.SummarizedExperiment.