Comments (12)
Hello, let me sort this out this week.
from sccomp.
Seems to work 👍, but some suggestions for improvement:
When not specifying a contrast, the interaction term is now also displayed by default for plots$credible_intervals_1D. Below you can see that the height of the plot is not well scaled to display labels along the Y-axis.
Also, the righthandside of the plotting area has an empty pane with text "variability was not estimated for this contrast". This text is cropped too much in case all terms are displayed. I think it would be better to just message() this to the user instead of plotting the text?
library(sccomp)
s_interaction <- seurat_obj |>
sccomp_estimate(
formula_composition = ~ type + group2__ + type:group2__,
.sample = sample,
.cell_group = cell_group,
bimodal_mean_variability_association = TRUE
)
#> sccomp says: estimation
#> sccomp says: the composition design matrix has columns: (Intercept), typehealthy, group2__GROUP22, typehealthy:group2__GROUP22
#> sccomp says: the variability design matrix has columns: (Intercept)
s_interaction <- sccomp_test(s_interaction)
plots <- plot(s_interaction)
#> Joining with `by = join_by(cell_group, sample)`
#> Joining with `by = join_by(cell_group, type)`
#> Joining with `by = join_by(cell_group, sample)`
#> Joining with `by = join_by(cell_group, group2__)`
plots$credible_intervals_1D
# specify contrast for interaction
# the term typehealthy:group2__GROUP22 contrasts
# if cancer and healthy have a different difference between group 22 and 21
s_interaction <- sccomp_test(
s_interaction,
contrasts = c("`typehealthy:group2__GROUP22`")
)
plots <- plot(s_interaction)
#> sccomp says: the contrasts you have tested do not represent factors. Therefore, plot of the the posterior predictive check will be omitted.
plots$credible_intervals_1D
Created on 2024-03-07 with reprex v2.1.0
Session info
sessioninfo::session_info()
#> ─ Session info ───────────────────────────────────────────────────────────────
#> setting value
#> version R version 4.3.2 (2023-10-31 ucrt)
#> os Windows 10 x64 (build 19045)
#> system x86_64, mingw32
#> ui RTerm
#> language (EN)
#> collate Dutch_Belgium.utf8
#> ctype Dutch_Belgium.utf8
#> tz Europe/Brussels
#> date 2024-03-07
#> pandoc 3.1.12.1 @ C:/Program Files/RStudio/resources/app/bin/quarto/bin/tools/ (via rmarkdown)
#>
#> ─ Packages ───────────────────────────────────────────────────────────────────
#> ! package * version date (UTC) lib source
#> abind 1.4-5 2016-07-21 [1] CRAN (R 4.3.0)
#> Biobase 2.62.0 2023-10-24 [1] Bioconductor
#> BiocGenerics 0.48.1 2023-11-01 [1] Bioconductor
#> bitops 1.0-7 2021-04-24 [1] CRAN (R 4.3.0)
#> boot 1.3-30 2024-02-26 [2] CRAN (R 4.3.2)
#> cli 3.6.2 2023-12-11 [1] CRAN (R 4.3.2)
#> codetools 0.2-19 2023-02-01 [2] CRAN (R 4.3.2)
#> colorspace 2.1-0 2023-01-23 [1] CRAN (R 4.3.0)
#> crayon 1.5.2 2022-09-29 [1] CRAN (R 4.3.0)
#> curl 5.2.0 2023-12-08 [1] CRAN (R 4.3.2)
#> DelayedArray 0.28.0 2023-10-24 [1] Bioconductor
#> digest 0.6.34 2024-01-11 [1] CRAN (R 4.3.2)
#> dotCall64 1.1-1 2023-11-28 [1] CRAN (R 4.3.2)
#> dplyr 1.1.4 2023-11-17 [1] CRAN (R 4.3.2)
#> evaluate 0.23 2023-11-01 [1] CRAN (R 4.3.2)
#> fansi 1.0.6 2023-12-08 [1] CRAN (R 4.3.2)
#> farver 2.1.1 2022-07-06 [1] CRAN (R 4.3.0)
#> fastmap 1.1.1 2023-02-24 [1] CRAN (R 4.3.0)
#> forcats 1.0.0 2023-01-29 [1] CRAN (R 4.3.0)
#> fs 1.6.3 2023-07-20 [1] CRAN (R 4.3.1)
#> future 1.33.1 2023-12-22 [1] CRAN (R 4.3.2)
#> future.apply 1.11.1 2023-12-21 [1] CRAN (R 4.3.2)
#> generics 0.1.3 2022-07-05 [1] CRAN (R 4.3.0)
#> GenomeInfoDb 1.38.7 2024-03-05 [1] Bioconductor 3.18 (R 4.3.2)
#> GenomeInfoDbData 1.2.10 2023-10-05 [1] Bioconductor
#> GenomicRanges 1.54.1 2023-10-29 [1] Bioconductor
#> ggplot2 3.5.0 2024-02-23 [1] CRAN (R 4.3.2)
#> ggrepel 0.9.5 2024-01-10 [1] CRAN (R 4.3.2)
#> globals 0.16.2 2022-11-21 [1] CRAN (R 4.3.0)
#> glue 1.7.0 2024-01-09 [1] CRAN (R 4.3.2)
#> gridExtra 2.3 2017-09-09 [1] CRAN (R 4.3.0)
#> gtable 0.3.4 2023-08-21 [1] CRAN (R 4.3.1)
#> highr 0.10 2022-12-22 [1] CRAN (R 4.3.0)
#> hms 1.1.3 2023-03-21 [1] CRAN (R 4.3.0)
#> htmltools 0.5.7 2023-11-03 [1] CRAN (R 4.3.2)
#> inline 0.3.19 2021-05-31 [1] CRAN (R 4.3.0)
#> IRanges 2.36.0 2023-10-24 [1] Bioconductor
#> jsonlite 1.8.8 2023-12-04 [1] CRAN (R 4.3.2)
#> knitr 1.45 2023-10-30 [1] CRAN (R 4.3.2)
#> labeling 0.4.3 2023-08-29 [1] CRAN (R 4.3.1)
#> lattice 0.22-5 2023-10-24 [1] CRAN (R 4.3.2)
#> lifecycle 1.0.4 2023-11-07 [1] CRAN (R 4.3.2)
#> listenv 0.9.1 2024-01-29 [1] CRAN (R 4.3.2)
#> loo 2.7.0 2024-02-24 [1] CRAN (R 4.3.2)
#> magrittr 2.0.3 2022-03-30 [1] CRAN (R 4.3.0)
#> Matrix 1.6-5 2024-01-11 [1] CRAN (R 4.3.2)
#> MatrixGenerics 1.14.0 2023-10-24 [1] Bioconductor
#> matrixStats 1.2.0 2023-12-11 [1] CRAN (R 4.3.2)
#> munsell 0.5.0 2018-06-12 [1] CRAN (R 4.3.0)
#> parallelly 1.37.1 2024-02-29 [1] CRAN (R 4.3.3)
#> patchwork 1.2.0 2024-01-08 [1] CRAN (R 4.3.2)
#> pillar 1.9.0 2023-03-22 [1] CRAN (R 4.3.0)
#> pkgbuild 1.4.3 2023-12-10 [1] CRAN (R 4.3.2)
#> pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.3.0)
#> progressr 0.14.0 2023-08-10 [1] CRAN (R 4.3.1)
#> purrr 1.0.2 2023-08-10 [1] CRAN (R 4.3.1)
#> QuickJSR 1.1.3 2024-01-31 [1] CRAN (R 4.3.2)
#> R.cache 0.16.0 2022-07-21 [1] CRAN (R 4.3.0)
#> R.methodsS3 1.8.2 2022-06-13 [1] CRAN (R 4.3.0)
#> R.oo 1.26.0 2024-01-24 [1] CRAN (R 4.3.2)
#> R.utils 2.12.3 2023-11-18 [1] CRAN (R 4.3.2)
#> R6 2.5.1 2021-08-19 [1] CRAN (R 4.3.0)
#> RColorBrewer 1.1-3 2022-04-03 [1] CRAN (R 4.3.0)
#> Rcpp 1.0.12 2024-01-09 [1] CRAN (R 4.3.2)
#> D RcppParallel 5.1.7 2023-02-27 [1] CRAN (R 4.3.0)
#> RCurl 1.98-1.14 2024-01-09 [1] CRAN (R 4.3.2)
#> readr 2.1.5 2024-01-10 [1] CRAN (R 4.3.2)
#> reprex 2.1.0 2024-01-11 [1] CRAN (R 4.3.2)
#> rlang 1.1.3 2024-01-10 [1] CRAN (R 4.3.2)
#> rmarkdown 2.25 2023-09-18 [1] CRAN (R 4.3.1)
#> rstan 2.32.6 2024-03-05 [1] CRAN (R 4.3.3)
#> rstantools 2.4.0 2024-01-31 [1] CRAN (R 4.3.2)
#> rstudioapi 0.15.0 2023-07-07 [1] CRAN (R 4.3.1)
#> S4Arrays 1.2.1 2024-03-04 [1] Bioconductor 3.18 (R 4.3.2)
#> S4Vectors 0.40.2 2023-11-23 [1] Bioconductor
#> scales 1.3.0 2023-11-28 [1] CRAN (R 4.3.2)
#> sccomp * 1.7.6 2024-03-07 [1] Github (stemangiola/sccomp@e766866)
#> sessioninfo 1.2.2 2021-12-06 [1] CRAN (R 4.3.0)
#> SeuratObject 5.0.1 2023-11-17 [1] CRAN (R 4.3.2)
#> SingleCellExperiment 1.24.0 2023-10-24 [1] Bioconductor
#> sp 2.1-3 2024-01-30 [1] CRAN (R 4.3.2)
#> spam 2.10-0 2023-10-23 [1] CRAN (R 4.3.2)
#> SparseArray 1.2.4 2024-02-11 [1] Bioconductor 3.18 (R 4.3.2)
#> StanHeaders 2.32.6 2024-03-01 [1] CRAN (R 4.3.3)
#> stringi 1.8.3 2023-12-11 [1] CRAN (R 4.3.2)
#> stringr 1.5.1 2023-11-14 [1] CRAN (R 4.3.2)
#> styler 1.10.2 2023-08-29 [1] CRAN (R 4.3.1)
#> SummarizedExperiment 1.32.0 2023-10-24 [1] Bioconductor
#> tibble 3.2.1 2023-03-20 [1] CRAN (R 4.3.0)
#> tidyr 1.3.1 2024-01-24 [1] CRAN (R 4.3.2)
#> tidyselect 1.2.0 2022-10-10 [1] CRAN (R 4.3.0)
#> tzdb 0.4.0 2023-05-12 [1] CRAN (R 4.3.1)
#> utf8 1.2.4 2023-10-22 [1] CRAN (R 4.3.2)
#> V8 4.4.2 2024-02-15 [1] CRAN (R 4.3.2)
#> vctrs 0.6.5 2023-12-01 [1] CRAN (R 4.3.2)
#> withr 3.0.0 2024-01-16 [1] CRAN (R 4.3.2)
#> xfun 0.41 2023-11-01 [1] CRAN (R 4.3.2)
#> xml2 1.3.6 2023-12-04 [1] CRAN (R 4.3.2)
#> XVector 0.42.0 2023-10-24 [1] Bioconductor
#> yaml 2.3.8 2023-12-11 [1] CRAN (R 4.3.2)
#> zlibbioc 1.48.0 2023-10-24 [1] Bioconductor
#>
#> [1] C:/R/library
#> [2] C:/R/R-4.3.2/library
#>
#> D ── DLL MD5 mismatch, broken installation.
#>
#> ──────────────────────────────────────────────────────────────────────────────
from sccomp.
Well done 👍 Thanks!
library(sccomp)
s_interaction <- seurat_obj |>
sccomp_estimate(
formula_composition = ~ type + group2__ + type:group2__,
.sample = sample,
.cell_group = cell_group,
bimodal_mean_variability_association = TRUE
)
#> sccomp says: estimation
#> sccomp says: the composition design matrix has columns: (Intercept), typehealthy, group2__GROUP22, typehealthy:group2__GROUP22
#> sccomp says: the variability design matrix has columns: (Intercept)
s_interaction <- sccomp_test(s_interaction)
plots <- plot(s_interaction)
#> Joining with `by = join_by(cell_group, sample)`
#> Joining with `by = join_by(cell_group, type)`
#> Joining with `by = join_by(cell_group, sample)`
#> Joining with `by = join_by(cell_group, group2__)`
plots$credible_intervals_1D
# specify contrast for interaction
# the term typehealthy:group2__GROUP22 contrasts
# if cancer and healthy have a different difference between group 22 and 21
s_interaction <- sccomp_test(
s_interaction,
contrasts = c("`typehealthy:group2__GROUP22`")
)
plots <- plot(s_interaction)
#> sccomp says: the contrasts you have tested do not represent factors. Therefore, plot of the the posterior predictive check will be omitted.
plots$credible_intervals_1D
s_interaction <- sccomp_test(
s_interaction,
contrasts = c("`typehealthy:group2__GROUP22` - `typehealthy`")
)
plots <- plot(s_interaction)
#> sccomp says: the contrasts you have tested do not represent factors. Therefore, plot of the the posterior predictive check will be omitted.
plots$credible_intervals_1D
Created on 2024-03-21 with reprex v2.1.0
Session info
sessioninfo::session_info()
#> ─ Session info ───────────────────────────────────────────────────────────────
#> setting value
#> version R version 4.3.2 (2023-10-31 ucrt)
#> os Windows 10 x64 (build 19045)
#> system x86_64, mingw32
#> ui RTerm
#> language (EN)
#> collate Dutch_Belgium.utf8
#> ctype Dutch_Belgium.utf8
#> tz Europe/Brussels
#> date 2024-03-21
#> pandoc 3.1.12.1 @ C:/Program Files/RStudio/resources/app/bin/quarto/bin/tools/ (via rmarkdown)
#>
#> ─ Packages ───────────────────────────────────────────────────────────────────
#> ! package * version date (UTC) lib source
#> abind 1.4-5 2016-07-21 [1] CRAN (R 4.3.0)
#> Biobase 2.62.0 2023-10-24 [1] Bioconductor
#> BiocGenerics 0.48.1 2023-11-01 [1] Bioconductor
#> bitops 1.0-7 2021-04-24 [1] CRAN (R 4.3.0)
#> boot 1.3-30 2024-02-26 [2] CRAN (R 4.3.2)
#> cli 3.6.2 2023-12-11 [1] CRAN (R 4.3.2)
#> codetools 0.2-19 2023-02-01 [2] CRAN (R 4.3.2)
#> colorspace 2.1-0 2023-01-23 [1] CRAN (R 4.3.0)
#> crayon 1.5.2 2022-09-29 [1] CRAN (R 4.3.0)
#> curl 5.2.0 2023-12-08 [1] CRAN (R 4.3.2)
#> DelayedArray 0.28.0 2023-10-24 [1] Bioconductor
#> digest 0.6.35 2024-03-11 [1] CRAN (R 4.3.3)
#> dotCall64 1.1-1 2023-11-28 [1] CRAN (R 4.3.2)
#> dplyr 1.1.4 2023-11-17 [1] CRAN (R 4.3.2)
#> evaluate 0.23 2023-11-01 [1] CRAN (R 4.3.2)
#> fansi 1.0.6 2023-12-08 [1] CRAN (R 4.3.2)
#> farver 2.1.1 2022-07-06 [1] CRAN (R 4.3.0)
#> fastmap 1.1.1 2023-02-24 [1] CRAN (R 4.3.0)
#> forcats 1.0.0 2023-01-29 [1] CRAN (R 4.3.0)
#> fs 1.6.3 2023-07-20 [1] CRAN (R 4.3.1)
#> future 1.33.1 2023-12-22 [1] CRAN (R 4.3.2)
#> future.apply 1.11.1 2023-12-21 [1] CRAN (R 4.3.2)
#> generics 0.1.3 2022-07-05 [1] CRAN (R 4.3.0)
#> GenomeInfoDb 1.38.8 2024-03-15 [1] Bioconductor 3.18 (R 4.3.3)
#> GenomeInfoDbData 1.2.10 2023-10-05 [1] Bioconductor
#> GenomicRanges 1.54.1 2023-10-29 [1] Bioconductor
#> ggplot2 3.5.0 2024-02-23 [1] CRAN (R 4.3.2)
#> ggrepel 0.9.5 2024-01-10 [1] CRAN (R 4.3.2)
#> globals 0.16.3 2024-03-08 [1] CRAN (R 4.3.3)
#> glue 1.7.0 2024-01-09 [1] CRAN (R 4.3.2)
#> gridExtra 2.3 2017-09-09 [1] CRAN (R 4.3.0)
#> gtable 0.3.4 2023-08-21 [1] CRAN (R 4.3.1)
#> highr 0.10 2022-12-22 [1] CRAN (R 4.3.0)
#> hms 1.1.3 2023-03-21 [1] CRAN (R 4.3.0)
#> htmltools 0.5.7 2023-11-03 [1] CRAN (R 4.3.2)
#> inline 0.3.19 2021-05-31 [1] CRAN (R 4.3.0)
#> IRanges 2.36.0 2023-10-24 [1] Bioconductor
#> jsonlite 1.8.8 2023-12-04 [1] CRAN (R 4.3.2)
#> knitr 1.45 2023-10-30 [1] CRAN (R 4.3.2)
#> labeling 0.4.3 2023-08-29 [1] CRAN (R 4.3.1)
#> lattice 0.22-5 2023-10-24 [1] CRAN (R 4.3.2)
#> lifecycle 1.0.4 2023-11-07 [1] CRAN (R 4.3.2)
#> listenv 0.9.1 2024-01-29 [1] CRAN (R 4.3.2)
#> loo 2.7.0 2024-02-24 [1] CRAN (R 4.3.2)
#> magrittr 2.0.3 2022-03-30 [1] CRAN (R 4.3.0)
#> Matrix 1.6-5 2024-01-11 [1] CRAN (R 4.3.2)
#> MatrixGenerics 1.14.0 2023-10-24 [1] Bioconductor
#> matrixStats 1.2.0 2023-12-11 [1] CRAN (R 4.3.2)
#> munsell 0.5.0 2018-06-12 [1] CRAN (R 4.3.0)
#> parallelly 1.37.1 2024-02-29 [1] CRAN (R 4.3.3)
#> patchwork 1.2.0 2024-01-08 [1] CRAN (R 4.3.2)
#> pillar 1.9.0 2023-03-22 [1] CRAN (R 4.3.0)
#> pkgbuild 1.4.4 2024-03-17 [1] CRAN (R 4.3.3)
#> pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.3.0)
#> progressr 0.14.0 2023-08-10 [1] CRAN (R 4.3.1)
#> purrr 1.0.2 2023-08-10 [1] CRAN (R 4.3.1)
#> QuickJSR 1.1.3 2024-01-31 [1] CRAN (R 4.3.2)
#> R.cache 0.16.0 2022-07-21 [1] CRAN (R 4.3.0)
#> R.methodsS3 1.8.2 2022-06-13 [1] CRAN (R 4.3.0)
#> R.oo 1.26.0 2024-01-24 [1] CRAN (R 4.3.2)
#> R.utils 2.12.3 2023-11-18 [1] CRAN (R 4.3.2)
#> R6 2.5.1 2021-08-19 [1] CRAN (R 4.3.0)
#> RColorBrewer 1.1-3 2022-04-03 [1] CRAN (R 4.3.0)
#> Rcpp 1.0.12 2024-01-09 [1] CRAN (R 4.3.2)
#> D RcppParallel 5.1.7 2023-02-27 [1] CRAN (R 4.3.0)
#> RCurl 1.98-1.14 2024-01-09 [1] CRAN (R 4.3.2)
#> readr 2.1.5 2024-01-10 [1] CRAN (R 4.3.2)
#> reprex 2.1.0 2024-01-11 [1] CRAN (R 4.3.2)
#> rlang 1.1.3 2024-01-10 [1] CRAN (R 4.3.2)
#> rmarkdown 2.25 2023-09-18 [1] CRAN (R 4.3.1)
#> rstan 2.32.6 2024-03-05 [1] CRAN (R 4.3.3)
#> rstantools 2.4.0 2024-01-31 [1] CRAN (R 4.3.2)
#> rstudioapi 0.15.0 2023-07-07 [1] CRAN (R 4.3.1)
#> S4Arrays 1.2.1 2024-03-04 [1] Bioconductor 3.18 (R 4.3.2)
#> S4Vectors 0.40.2 2023-11-23 [1] Bioconductor
#> scales 1.3.0 2023-11-28 [1] CRAN (R 4.3.2)
#> sccomp * 1.7.6 2024-03-21 [1] Github (stemangiola/sccomp@7097c50)
#> sessioninfo 1.2.2 2021-12-06 [1] CRAN (R 4.3.0)
#> SeuratObject 5.0.1 2023-11-17 [1] CRAN (R 4.3.2)
#> SingleCellExperiment 1.24.0 2023-10-24 [1] Bioconductor
#> sp 2.1-3 2024-01-30 [1] CRAN (R 4.3.2)
#> spam 2.10-0 2023-10-23 [1] CRAN (R 4.3.2)
#> SparseArray 1.2.4 2024-02-11 [1] Bioconductor 3.18 (R 4.3.2)
#> StanHeaders 2.32.6 2024-03-01 [1] CRAN (R 4.3.3)
#> stringi 1.8.3 2023-12-11 [1] CRAN (R 4.3.2)
#> stringr 1.5.1 2023-11-14 [1] CRAN (R 4.3.2)
#> styler 1.10.2 2023-08-29 [1] CRAN (R 4.3.1)
#> SummarizedExperiment 1.32.0 2023-10-24 [1] Bioconductor
#> tibble 3.2.1 2023-03-20 [1] CRAN (R 4.3.0)
#> tidyr 1.3.1 2024-01-24 [1] CRAN (R 4.3.2)
#> tidyselect 1.2.1 2024-03-11 [1] CRAN (R 4.3.3)
#> tzdb 0.4.0 2023-05-12 [1] CRAN (R 4.3.1)
#> utf8 1.2.4 2023-10-22 [1] CRAN (R 4.3.2)
#> V8 4.4.2 2024-02-15 [1] CRAN (R 4.3.2)
#> vctrs 0.6.5 2023-12-01 [1] CRAN (R 4.3.2)
#> withr 3.0.0 2024-01-16 [1] CRAN (R 4.3.2)
#> xfun 0.41 2023-11-01 [1] CRAN (R 4.3.2)
#> xml2 1.3.6 2023-12-04 [1] CRAN (R 4.3.2)
#> XVector 0.42.0 2023-10-24 [1] Bioconductor
#> yaml 2.3.8 2023-12-11 [1] CRAN (R 4.3.2)
#> zlibbioc 1.48.2 2024-03-13 [1] Bioconductor 3.18 (R 4.3.3)
#>
#> [1] C:/R/library
#> [2] C:/R/R-4.3.2/library
#>
#> D ── DLL MD5 mismatch, broken installation.
#>
#> ──────────────────────────────────────────────────────────────────────────────
from sccomp.
yes, have a look to the parameters in the output
it should be something like
contrasts = c("male_treated" = "`gendermale:treatmentuntreated` - `gendermale:treatmenttreated`")
from sccomp.
closing for inactivity, feel free to reopen it.
from sccomp.
I have a follow-up question on this one. If I use the contrast argument of sccomp_test()
to test for an interaction, as explained above, the contrast is calculated but the plot()
method errors.
The plot method works on a model with interactions and using sccomp_test()
without custom contrasts. But in that case, the plot()
method, shows main effect terms only, while I would have expected to see the interactions (because main terms can be misleading when interactions are significant).
from sccomp.
can you please send a reproducible example with the README data with figure attached, so I can reproduce and fix.
from sccomp.
Reprex below. So the plot$boxplot object is a list containing plots for main effects, but should also have a plot for the interaction parameters (?). Similarly for the error bar 1D plot type.
library(sccomp)
s_interaction <- seurat_obj |>
sccomp_estimate(
formula_composition = ~ type + group2__ + type:group2__,
.sample = sample,
.cell_group = cell_group,
bimodal_mean_variability_association = TRUE,
cores = 1
)
#> sccomp says: estimation
#> sccomp says: the composition design matrix has columns: (Intercept), typehealthy, group2__GROUP22, typehealthy:group2__GROUP22
#> sccomp says: the variability design matrix has columns: (Intercept)
#>
#> SAMPLING FOR MODEL 'glm_multi_beta_binomial' NOW (CHAIN 1).
#> Chain 1:
#> Chain 1: Gradient evaluation took 0.000708 seconds
#> Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 7.08 seconds.
#> Chain 1: Adjust your expectations accordingly!
#> Chain 1:
#> Chain 1:
#> Chain 1: Iteration: 1 / 4300 [ 0%] (Warmup)
#> Chain 1: Iteration: 301 / 4300 [ 7%] (Sampling)
#> Chain 1: Iteration: 1300 / 4300 [ 30%] (Sampling)
#> Chain 1: Iteration: 2300 / 4300 [ 53%] (Sampling)
#> Chain 1: Iteration: 3300 / 4300 [ 76%] (Sampling)
#> Chain 1: Iteration: 4300 / 4300 [100%] (Sampling)
#> Chain 1:
#> Chain 1: Elapsed Time: 4.133 seconds (Warm-up)
#> Chain 1: 29.948 seconds (Sampling)
#> Chain 1: 34.081 seconds (Total)
#> Chain 1:
# this works, but prefer to see type:group2__ interaction
s_interaction <- sccomp_test(s_interaction)
plots <- plot(s_interaction)
#> Joining with `by = join_by(cell_group, sample)`
#> Joining with `by = join_by(cell_group, type)`
#> Joining with `by = join_by(cell_group, sample)`
#> Joining with `by = join_by(cell_group, group2__)`
plots$boxplot
#> [[1]]
#>
#> [[2]]
# specify contrast for interaction
# the term typehealthy:group2__GROUP22 contrasts
# if cancer and healthy have a different difference between group 22 and 21
s_interaction <- sccomp_test(
s_interaction,
contrasts = c("`typehealthy:group2__GROUP22`")
)
# something goes wrong here
plots <- plot(s_interaction)
plots
#> $boxplot
#> list()
#>
#> $credible_intervals_1D
#> Error in unit(rep(0, TABLE_ROWS * dims[1]), "null"): 'x' and 'units' must have length > 0
plots$boxplot
#> list()
plots$credible_intervals_1D
#> Error in unit(rep(0, TABLE_ROWS * dims[1]), "null"): 'x' and 'units' must have length > 0
Created on 2024-01-31 with reprex v2.0.2
Session info
sessioninfo::session_info()
#> ─ Session info ───────────────────────────────────────────────────────────────
#> setting value
#> version R version 4.3.2 (2023-10-31 ucrt)
#> os Windows 10 x64 (build 19045)
#> system x86_64, mingw32
#> ui RTerm
#> language (EN)
#> collate Dutch_Belgium.utf8
#> ctype Dutch_Belgium.utf8
#> tz Europe/Brussels
#> date 2024-01-31
#> pandoc 3.1.1 @ C:/Program Files/RStudio/resources/app/bin/quarto/bin/tools/ (via rmarkdown)
#>
#> ─ Packages ───────────────────────────────────────────────────────────────────
#> ! package * version date (UTC) lib source
#> abind 1.4-5 2016-07-21 [1] CRAN (R 4.3.0)
#> Biobase 2.62.0 2023-10-24 [1] Bioconductor
#> BiocGenerics 0.48.1 2023-11-01 [1] Bioconductor
#> bitops 1.0-7 2021-04-24 [1] CRAN (R 4.3.0)
#> boot 1.3-28.1 2022-11-22 [2] CRAN (R 4.3.2)
#> cli 3.6.2 2023-12-11 [1] CRAN (R 4.3.2)
#> codetools 0.2-19 2023-02-01 [2] CRAN (R 4.3.2)
#> colorspace 2.1-0 2023-01-23 [1] CRAN (R 4.3.0)
#> crayon 1.5.2 2022-09-29 [1] CRAN (R 4.3.0)
#> curl 5.2.0 2023-12-08 [1] CRAN (R 4.3.2)
#> DelayedArray 0.28.0 2023-10-24 [1] Bioconductor
#> digest 0.6.34 2024-01-11 [1] CRAN (R 4.3.2)
#> dotCall64 1.1-1 2023-11-28 [1] CRAN (R 4.3.2)
#> dplyr 1.1.4 2023-11-17 [1] CRAN (R 4.3.2)
#> evaluate 0.23 2023-11-01 [1] CRAN (R 4.3.2)
#> fansi 1.0.6 2023-12-08 [1] CRAN (R 4.3.2)
#> farver 2.1.1 2022-07-06 [1] CRAN (R 4.3.0)
#> fastmap 1.1.1 2023-02-24 [1] CRAN (R 4.3.0)
#> forcats 1.0.0 2023-01-29 [1] CRAN (R 4.3.0)
#> fs 1.6.3 2023-07-20 [1] CRAN (R 4.3.1)
#> future 1.33.1 2023-12-22 [1] CRAN (R 4.3.2)
#> future.apply 1.11.1 2023-12-21 [1] CRAN (R 4.3.2)
#> generics 0.1.3 2022-07-05 [1] CRAN (R 4.3.0)
#> GenomeInfoDb 1.38.5 2023-12-28 [1] Bioconductor 3.18 (R 4.3.2)
#> GenomeInfoDbData 1.2.10 2023-10-05 [1] Bioconductor
#> GenomicRanges 1.54.1 2023-10-29 [1] Bioconductor
#> ggplot2 3.4.4 2023-10-12 [1] CRAN (R 4.3.1)
#> ggrepel 0.9.5 2024-01-10 [1] CRAN (R 4.3.2)
#> globals 0.16.2 2022-11-21 [1] CRAN (R 4.3.0)
#> glue 1.7.0 2024-01-09 [1] CRAN (R 4.3.2)
#> gridExtra 2.3 2017-09-09 [1] CRAN (R 4.3.0)
#> gtable 0.3.4 2023-08-21 [1] CRAN (R 4.3.1)
#> highr 0.10 2022-12-22 [1] CRAN (R 4.3.0)
#> hms 1.1.3 2023-03-21 [1] CRAN (R 4.3.0)
#> htmltools 0.5.7 2023-11-03 [1] CRAN (R 4.3.2)
#> inline 0.3.19 2021-05-31 [1] CRAN (R 4.3.0)
#> IRanges 2.36.0 2023-10-24 [1] Bioconductor
#> jsonlite 1.8.8 2023-12-04 [1] CRAN (R 4.3.2)
#> knitr 1.45 2023-10-30 [1] CRAN (R 4.3.2)
#> labeling 0.4.3 2023-08-29 [1] CRAN (R 4.3.1)
#> lattice 0.22-5 2023-10-24 [1] CRAN (R 4.3.2)
#> lifecycle 1.0.4 2023-11-07 [1] CRAN (R 4.3.2)
#> listenv 0.9.0 2022-12-16 [1] CRAN (R 4.3.0)
#> loo 2.6.0 2023-03-31 [1] CRAN (R 4.3.0)
#> magrittr 2.0.3 2022-03-30 [1] CRAN (R 4.3.0)
#> Matrix 1.6-4 2023-11-30 [1] CRAN (R 4.3.2)
#> MatrixGenerics 1.14.0 2023-10-24 [1] Bioconductor
#> matrixStats 1.2.0 2023-12-11 [1] CRAN (R 4.3.2)
#> munsell 0.5.0 2018-06-12 [1] CRAN (R 4.3.0)
#> parallelly 1.36.0 2023-05-26 [1] CRAN (R 4.3.0)
#> patchwork 1.2.0 2024-01-08 [1] CRAN (R 4.3.2)
#> pillar 1.9.0 2023-03-22 [1] CRAN (R 4.3.0)
#> pkgbuild 1.4.3 2023-12-10 [1] CRAN (R 4.3.2)
#> pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.3.0)
#> progressr 0.14.0 2023-08-10 [1] CRAN (R 4.3.1)
#> purrr 1.0.2 2023-08-10 [1] CRAN (R 4.3.1)
#> QuickJSR 1.1.0 2024-01-21 [1] CRAN (R 4.3.2)
#> R.cache 0.16.0 2022-07-21 [1] CRAN (R 4.3.0)
#> R.methodsS3 1.8.2 2022-06-13 [1] CRAN (R 4.3.0)
#> R.oo 1.25.0 2022-06-12 [1] CRAN (R 4.3.0)
#> R.utils 2.12.3 2023-11-18 [1] CRAN (R 4.3.2)
#> R6 2.5.1 2021-08-19 [1] CRAN (R 4.3.0)
#> Rcpp 1.0.12 2024-01-09 [1] CRAN (R 4.3.2)
#> D RcppParallel 5.1.7 2023-02-27 [1] CRAN (R 4.3.0)
#> RCurl 1.98-1.14 2024-01-09 [1] CRAN (R 4.3.2)
#> readr 2.1.5 2024-01-10 [1] CRAN (R 4.3.2)
#> reprex 2.0.2 2022-08-17 [1] CRAN (R 4.3.0)
#> rlang 1.1.3 2024-01-10 [1] CRAN (R 4.3.2)
#> rmarkdown 2.25 2023-09-18 [1] CRAN (R 4.3.1)
#> rstan 2.32.5 2024-01-10 [1] CRAN (R 4.3.2)
#> rstantools 2.3.1.1 2023-07-18 [1] CRAN (R 4.3.1)
#> rstudioapi 0.15.0 2023-07-07 [1] CRAN (R 4.3.1)
#> S4Arrays 1.2.0 2023-10-24 [1] Bioconductor
#> S4Vectors 0.40.2 2023-11-23 [1] Bioconductor
#> scales 1.3.0 2023-11-28 [1] CRAN (R 4.3.2)
#> sccomp * 1.7.5 2024-01-29 [1] Github (stemangiola/sccomp@e1b4de2)
#> sessioninfo 1.2.2 2021-12-06 [1] CRAN (R 4.3.0)
#> SeuratObject 5.0.1 2023-11-17 [1] CRAN (R 4.3.2)
#> SingleCellExperiment 1.24.0 2023-10-24 [1] Bioconductor
#> sp 2.1-2 2023-11-26 [1] CRAN (R 4.3.2)
#> spam 2.10-0 2023-10-23 [1] CRAN (R 4.3.2)
#> SparseArray 1.2.3 2023-12-25 [1] Bioconductor 3.18 (R 4.3.2)
#> StanHeaders 2.32.5 2024-01-10 [1] CRAN (R 4.3.2)
#> stringi 1.8.3 2023-12-11 [1] CRAN (R 4.3.2)
#> stringr 1.5.1 2023-11-14 [1] CRAN (R 4.3.2)
#> styler 1.10.2 2023-08-29 [1] CRAN (R 4.3.1)
#> SummarizedExperiment 1.32.0 2023-10-24 [1] Bioconductor
#> tibble 3.2.1 2023-03-20 [1] CRAN (R 4.3.0)
#> tidyr 1.3.1 2024-01-24 [1] CRAN (R 4.3.2)
#> tidyselect 1.2.0 2022-10-10 [1] CRAN (R 4.3.0)
#> tzdb 0.4.0 2023-05-12 [1] CRAN (R 4.3.1)
#> utf8 1.2.4 2023-10-22 [1] CRAN (R 4.3.2)
#> V8 4.4.1 2023-12-04 [1] CRAN (R 4.3.2)
#> vctrs 0.6.5 2023-12-01 [1] CRAN (R 4.3.2)
#> withr 3.0.0 2024-01-16 [1] CRAN (R 4.3.2)
#> xfun 0.41 2023-11-01 [1] CRAN (R 4.3.2)
#> xml2 1.3.6 2023-12-04 [1] CRAN (R 4.3.2)
#> XVector 0.42.0 2023-10-24 [1] Bioconductor
#> yaml 2.3.8 2023-12-11 [1] CRAN (R 4.3.2)
#> zlibbioc 1.48.0 2023-10-24 [1] Bioconductor
#>
#> [1] C:/R/library
#> [2] C:/R/R-4.3.2/library
#>
#> D ── DLL MD5 mismatch, broken installation.
#>
#> ──────────────────────────────────────────────────────────────────────────────
from sccomp.
@hansvancalster Can you please test this again with the new Github up-to-date version?
from sccomp.
Tested with latest GitHub version, but the issue is not yet fixed, I think (but can you check if I formulated the contrast correctly?):
library(sccomp)
s_interaction <- seurat_obj |>
sccomp_estimate(
formula_composition = ~ type + group2__ + type:group2__,
.sample = sample,
.cell_group = cell_group,
bimodal_mean_variability_association = TRUE
)
#> sccomp says: estimation
#> sccomp says: the composition design matrix has columns: (Intercept), typehealthy, group2__GROUP22, typehealthy:group2__GROUP22
#> sccomp says: the variability design matrix has columns: (Intercept)
# this works, but prefer to see type:group2__ interaction
s_interaction <- sccomp_test(s_interaction)
plots <- plot(s_interaction)
#> Joining with `by = join_by(cell_group, sample)`
#> Joining with `by = join_by(cell_group, type)`
#> Joining with `by = join_by(cell_group, sample)`
#> Joining with `by = join_by(cell_group, group2__)`
plots$boxplot
#> [[1]]
#>
#> [[2]]
# specify contrast for interaction
# the term typehealthy:group2__GROUP22 contrasts
# if cancer and healthy have a different difference between group 22 and 21
s_interaction <- sccomp_test(
s_interaction,
contrasts = c("`typehealthy:group2__GROUP22`")
)
# something goes wrong here
plots <- plot(s_interaction)
plots
#> $boxplot
#> list()
#>
#> $credible_intervals_1D
#> Error in unit(rep(0, TABLE_ROWS * dims[1]), "null"): 'x' and 'units' must have length > 0
plots$boxplot
#> list()
plots$credible_intervals_1D
#> Error in unit(rep(0, TABLE_ROWS * dims[1]), "null"): 'x' and 'units' must have length > 0
Created on 2024-03-06 with reprex v2.1.0
Session info
sessioninfo::session_info()
#> ─ Session info ───────────────────────────────────────────────────────────────
#> setting value
#> version R version 4.3.2 (2023-10-31 ucrt)
#> os Windows 10 x64 (build 19045)
#> system x86_64, mingw32
#> ui RTerm
#> language (EN)
#> collate Dutch_Belgium.utf8
#> ctype Dutch_Belgium.utf8
#> tz Europe/Brussels
#> date 2024-03-06
#> pandoc 3.1.12.1 @ C:/Program Files/RStudio/resources/app/bin/quarto/bin/tools/ (via rmarkdown)
#>
#> ─ Packages ───────────────────────────────────────────────────────────────────
#> ! package * version date (UTC) lib source
#> abind 1.4-5 2016-07-21 [1] CRAN (R 4.3.0)
#> Biobase 2.62.0 2023-10-24 [1] Bioconductor
#> BiocGenerics 0.48.1 2023-11-01 [1] Bioconductor
#> bitops 1.0-7 2021-04-24 [1] CRAN (R 4.3.0)
#> boot 1.3-30 2024-02-26 [2] CRAN (R 4.3.2)
#> cli 3.6.2 2023-12-11 [1] CRAN (R 4.3.2)
#> codetools 0.2-19 2023-02-01 [2] CRAN (R 4.3.2)
#> colorspace 2.1-0 2023-01-23 [1] CRAN (R 4.3.0)
#> crayon 1.5.2 2022-09-29 [1] CRAN (R 4.3.0)
#> curl 5.2.0 2023-12-08 [1] CRAN (R 4.3.2)
#> DelayedArray 0.28.0 2023-10-24 [1] Bioconductor
#> digest 0.6.34 2024-01-11 [1] CRAN (R 4.3.2)
#> dotCall64 1.1-1 2023-11-28 [1] CRAN (R 4.3.2)
#> dplyr 1.1.4 2023-11-17 [1] CRAN (R 4.3.2)
#> evaluate 0.23 2023-11-01 [1] CRAN (R 4.3.2)
#> fansi 1.0.6 2023-12-08 [1] CRAN (R 4.3.2)
#> farver 2.1.1 2022-07-06 [1] CRAN (R 4.3.0)
#> fastmap 1.1.1 2023-02-24 [1] CRAN (R 4.3.0)
#> forcats 1.0.0 2023-01-29 [1] CRAN (R 4.3.0)
#> fs 1.6.3 2023-07-20 [1] CRAN (R 4.3.1)
#> future 1.33.1 2023-12-22 [1] CRAN (R 4.3.2)
#> future.apply 1.11.1 2023-12-21 [1] CRAN (R 4.3.2)
#> generics 0.1.3 2022-07-05 [1] CRAN (R 4.3.0)
#> GenomeInfoDb 1.38.6 2024-02-08 [1] Bioconductor 3.18 (R 4.3.2)
#> GenomeInfoDbData 1.2.10 2023-10-05 [1] Bioconductor
#> GenomicRanges 1.54.1 2023-10-29 [1] Bioconductor
#> ggplot2 3.5.0 2024-02-23 [1] CRAN (R 4.3.2)
#> ggrepel 0.9.5 2024-01-10 [1] CRAN (R 4.3.2)
#> globals 0.16.2 2022-11-21 [1] CRAN (R 4.3.0)
#> glue 1.7.0 2024-01-09 [1] CRAN (R 4.3.2)
#> gridExtra 2.3 2017-09-09 [1] CRAN (R 4.3.0)
#> gtable 0.3.4 2023-08-21 [1] CRAN (R 4.3.1)
#> highr 0.10 2022-12-22 [1] CRAN (R 4.3.0)
#> hms 1.1.3 2023-03-21 [1] CRAN (R 4.3.0)
#> htmltools 0.5.7 2023-11-03 [1] CRAN (R 4.3.2)
#> inline 0.3.19 2021-05-31 [1] CRAN (R 4.3.0)
#> IRanges 2.36.0 2023-10-24 [1] Bioconductor
#> jsonlite 1.8.8 2023-12-04 [1] CRAN (R 4.3.2)
#> knitr 1.45 2023-10-30 [1] CRAN (R 4.3.2)
#> labeling 0.4.3 2023-08-29 [1] CRAN (R 4.3.1)
#> lattice 0.22-5 2023-10-24 [1] CRAN (R 4.3.2)
#> lifecycle 1.0.4 2023-11-07 [1] CRAN (R 4.3.2)
#> listenv 0.9.1 2024-01-29 [1] CRAN (R 4.3.2)
#> loo 2.7.0 2024-02-24 [1] CRAN (R 4.3.2)
#> magrittr 2.0.3 2022-03-30 [1] CRAN (R 4.3.0)
#> Matrix 1.6-5 2024-01-11 [1] CRAN (R 4.3.2)
#> MatrixGenerics 1.14.0 2023-10-24 [1] Bioconductor
#> matrixStats 1.2.0 2023-12-11 [1] CRAN (R 4.3.2)
#> munsell 0.5.0 2018-06-12 [1] CRAN (R 4.3.0)
#> parallelly 1.37.1 2024-02-29 [1] CRAN (R 4.3.3)
#> patchwork 1.2.0 2024-01-08 [1] CRAN (R 4.3.2)
#> pillar 1.9.0 2023-03-22 [1] CRAN (R 4.3.0)
#> pkgbuild 1.4.3 2023-12-10 [1] CRAN (R 4.3.2)
#> pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.3.0)
#> progressr 0.14.0 2023-08-10 [1] CRAN (R 4.3.1)
#> purrr 1.0.2 2023-08-10 [1] CRAN (R 4.3.1)
#> QuickJSR 1.1.3 2024-01-31 [1] CRAN (R 4.3.2)
#> R.cache 0.16.0 2022-07-21 [1] CRAN (R 4.3.0)
#> R.methodsS3 1.8.2 2022-06-13 [1] CRAN (R 4.3.0)
#> R.oo 1.26.0 2024-01-24 [1] CRAN (R 4.3.2)
#> R.utils 2.12.3 2023-11-18 [1] CRAN (R 4.3.2)
#> R6 2.5.1 2021-08-19 [1] CRAN (R 4.3.0)
#> Rcpp 1.0.12 2024-01-09 [1] CRAN (R 4.3.2)
#> D RcppParallel 5.1.7 2023-02-27 [1] CRAN (R 4.3.0)
#> RCurl 1.98-1.14 2024-01-09 [1] CRAN (R 4.3.2)
#> readr 2.1.5 2024-01-10 [1] CRAN (R 4.3.2)
#> reprex 2.1.0 2024-01-11 [1] CRAN (R 4.3.2)
#> rlang 1.1.3 2024-01-10 [1] CRAN (R 4.3.2)
#> rmarkdown 2.25 2023-09-18 [1] CRAN (R 4.3.1)
#> rstan 2.32.5 2024-01-10 [1] CRAN (R 4.3.2)
#> rstantools 2.4.0 2024-01-31 [1] CRAN (R 4.3.2)
#> rstudioapi 0.15.0 2023-07-07 [1] CRAN (R 4.3.1)
#> S4Arrays 1.2.1 2024-03-04 [1] Bioconductor 3.18 (R 4.3.2)
#> S4Vectors 0.40.2 2023-11-23 [1] Bioconductor
#> scales 1.3.0 2023-11-28 [1] CRAN (R 4.3.2)
#> sccomp * 1.7.6 2024-03-06 [1] Github (stemangiola/sccomp@1ceefdb)
#> sessioninfo 1.2.2 2021-12-06 [1] CRAN (R 4.3.0)
#> SeuratObject 5.0.1 2023-11-17 [1] CRAN (R 4.3.2)
#> SingleCellExperiment 1.24.0 2023-10-24 [1] Bioconductor
#> sp 2.1-3 2024-01-30 [1] CRAN (R 4.3.2)
#> spam 2.10-0 2023-10-23 [1] CRAN (R 4.3.2)
#> SparseArray 1.2.4 2024-02-11 [1] Bioconductor 3.18 (R 4.3.2)
#> StanHeaders 2.32.6 2024-03-01 [1] CRAN (R 4.3.3)
#> stringi 1.8.3 2023-12-11 [1] CRAN (R 4.3.2)
#> stringr 1.5.1 2023-11-14 [1] CRAN (R 4.3.2)
#> styler 1.10.2 2023-08-29 [1] CRAN (R 4.3.1)
#> SummarizedExperiment 1.32.0 2023-10-24 [1] Bioconductor
#> tibble 3.2.1 2023-03-20 [1] CRAN (R 4.3.0)
#> tidyr 1.3.1 2024-01-24 [1] CRAN (R 4.3.2)
#> tidyselect 1.2.0 2022-10-10 [1] CRAN (R 4.3.0)
#> tzdb 0.4.0 2023-05-12 [1] CRAN (R 4.3.1)
#> utf8 1.2.4 2023-10-22 [1] CRAN (R 4.3.2)
#> V8 4.4.2 2024-02-15 [1] CRAN (R 4.3.2)
#> vctrs 0.6.5 2023-12-01 [1] CRAN (R 4.3.2)
#> withr 3.0.0 2024-01-16 [1] CRAN (R 4.3.2)
#> xfun 0.41 2023-11-01 [1] CRAN (R 4.3.2)
#> xml2 1.3.6 2023-12-04 [1] CRAN (R 4.3.2)
#> XVector 0.42.0 2023-10-24 [1] Bioconductor
#> yaml 2.3.8 2023-12-11 [1] CRAN (R 4.3.2)
#> zlibbioc 1.48.0 2023-10-24 [1] Bioconductor
#>
#> [1] C:/R/library
#> [2] C:/R/R-4.3.2/library
#>
#> D ── DLL MD5 mismatch, broken installation.
#>
#> ──────────────────────────────────────────────────────────────────────────────
from sccomp.
I created a pull request that should solve this scenario (see above), @hansvancalster could you please confirm that it works?
Thanks
from sccomp.
Okay, please have a look now
from sccomp.
Related Issues (20)
- dirichlet_multinomial noise model doesn't seem to function HOT 4
- Warings from sccomp_remove_outliers() when sample size is large HOT 1
- Does sccomp require replicates ? HOT 2
- Relationship between CI, minimal effect threshold, and FDR on plots$credible_intervals_1D HOT 2
- Fig 3B and 3 group comparisson HOT 1
- question: scope of the statistical model HOT 6
- sccomp_boxplot() errors when passing a factor variable HOT 3
- custom ggplot theme misses theme element HOT 1
- sccomp plot method -> rstan::gqs throws warning HOT 3
- question about lumping or selecting compositional data HOT 1
- Interpretation when both bars are highlighted versus one HOT 14
- Warning message: In validityMethod(object) HOT 9
- Warning message when duplicated samples HOT 8
- use of inv_logit vs softmax HOT 3
- throw error if missing values due to pivoting long HOT 3
- Best strategy for differential composition estimation in integrated Seurat object HOT 1
- stanfit correspondence parameters variable names HOT 18
- FDR calculation HOT 3
- Question about "test_composition_above_logit_fold_change" parameter in sccomp_glm HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sccomp.