scviR: an R package interfacing Bioconductor and scvi-tools

Overview

scvi-tools is an element of the scverse toolchest for single-cell omics data analysis.

The scviR package is a very elementary approach to interfacing between R, Bioconductor and scvi-tools. The long-term plan is to illustrate several aspects of variational inference (VI) applied to single cell genomics in a way that is convenient for Bioconductor users.

The package makes use of SingleCellExperiment and anndata representations of single-cell genomic assays.

Several points should be kept in mind when using this package:

  • scvi-tools components develop rapidly; we are using basilisk to manage R/python interoperation, and as of current writing we work with version 0.20.0 of scvi-tools. Specific versions of python components are enumerated in the file R/basilisk.R.
  • A docker container based on a PyTorch-oriented image in the NVIDIA container registry includes R 4.2.2 and sufficient python 3 infrastructure to use scvi-tools 0.20.0 and scviR 0.0.2. A Dockerfile is in scviR/inst/Docker; vjcitn/nvidpt_bioc:0.0.2 can be pulled from dockerhub, it reports size 26.5GB. Container resources will be updated as needed. Users should file issues at the package GitHub repo if the container is stale.
  • Code presented in the cite-seq tutorial vignette follows the colab notebook for scvi-tools 0.18.0. We will check for modifications in the scvi-tools 0.20.0 notebook.
  • Additional work on this package will facilitate comparisons between outcomes of Bioconductor, scVI, and other VI-oriented analytic toolkits in the single-cell domain.

Installation and use

As of Feb 2023, use BiocManager to install scviR in R 4.2.2 or above:

BiocManager::install("vjcitn/scviR")

Be sure the remotes package has been installed. If you are working at a slow internet connection, it may be useful to set options(timeout=3600) when running functions

  • getCh12AllSce() (74 MB will be retrieved and cached)
  • getCh12Sce() (58 MB will be retrieved and cached)
  • getCiteseqTutvae() (1.2 GB will be retrieved and cached)
  • getTotalVINormalized5k10k() (191 MB will be retrieved and cached)

Session information

sessionInfo()
## R version 4.4.1 (2024-06-14)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 24.04.1 LTS
## 
## Matrix products: default
## BLAS:   /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 
## LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.26.so;  LAPACK version 3.12.0
## 
## locale:
##  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_US.UTF-8        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: Etc/UTC
## tzcode source: system (glibc)
## 
## attached base packages:
## [1] stats4    stats     graphics  grDevices utils     datasets  methods  
## [8] base     
## 
## other attached packages:
##  [1] scater_1.34.0               scuttle_1.16.0             
##  [3] reshape2_1.4.4              ggplot2_3.5.1              
##  [5] scviR_1.7.0                 SingleCellExperiment_1.28.0
##  [7] SummarizedExperiment_1.36.0 Biobase_2.67.0             
##  [9] GenomicRanges_1.59.0        GenomeInfoDb_1.43.0        
## [11] IRanges_2.41.0              S4Vectors_0.44.0           
## [13] BiocGenerics_0.53.0         MatrixGenerics_1.19.0      
## [15] matrixStats_1.4.1           shiny_1.9.1                
## [17] basilisk_1.19.0             reticulate_1.39.0          
## [19] BiocStyle_2.35.0           
## 
## loaded via a namespace (and not attached):
##   [1] DBI_1.2.3               gridExtra_2.3           rlang_1.1.4            
##   [4] magrittr_2.0.3          compiler_4.4.1          RSQLite_2.3.7          
##   [7] mgcv_1.9-1              dir.expiry_1.15.0       png_0.1-8              
##  [10] vctrs_0.6.5             stringr_1.5.1           pkgconfig_2.0.3        
##  [13] crayon_1.5.3            fastmap_1.2.0           dbplyr_2.5.0           
##  [16] XVector_0.46.0          labeling_0.4.3          utf8_1.2.4             
##  [19] promises_1.3.0          rmarkdown_2.28          UCSC.utils_1.2.0       
##  [22] ggbeeswarm_0.7.2        purrr_1.0.2             bit_4.5.0              
##  [25] xfun_0.48               zlibbioc_1.52.0         cachem_1.1.0           
##  [28] beachmat_2.23.0         jsonlite_1.8.9          blob_1.2.4             
##  [31] highr_0.11              later_1.3.2             DelayedArray_0.33.1    
##  [34] BiocParallel_1.41.0     irlba_2.3.5.1           parallel_4.4.1         
##  [37] R6_2.5.1                stringi_1.8.4           bslib_0.8.0            
##  [40] RColorBrewer_1.1-3      limma_3.63.0            jquerylib_0.1.4        
##  [43] Rcpp_1.0.13             knitr_1.48              splines_4.4.1          
##  [46] httpuv_1.6.15           Matrix_1.7-1            tidyselect_1.2.1       
##  [49] abind_1.4-8             yaml_2.3.10             viridis_0.6.5          
##  [52] codetools_0.2-20        curl_5.2.3              plyr_1.8.9             
##  [55] lattice_0.22-6          tibble_3.2.1            withr_3.0.2            
##  [58] basilisk.utils_1.19.0   evaluate_1.0.1          BiocFileCache_2.15.0   
##  [61] pillar_1.9.0            BiocManager_1.30.25     filelock_1.0.3         
##  [64] generics_0.1.3          munsell_0.5.1           scales_1.3.0           
##  [67] xtable_1.8-4            glue_1.8.0              pheatmap_1.0.12        
##  [70] maketools_1.3.1         tools_4.4.1             BiocNeighbors_2.1.0    
##  [73] sys_3.4.3               ScaledMatrix_1.14.0     buildtools_1.0.0       
##  [76] grid_4.4.1              colorspace_2.1-1        nlme_3.1-166           
##  [79] GenomeInfoDbData_1.2.13 beeswarm_0.4.0          BiocSingular_1.23.0    
##  [82] vipor_0.4.7             cli_3.6.3               rsvd_1.0.5             
##  [85] fansi_1.0.6             S4Arrays_1.6.0          viridisLite_0.4.2      
##  [88] dplyr_1.1.4             gtable_0.3.6            sass_0.4.9             
##  [91] digest_0.6.37           SparseArray_1.6.0       ggrepel_0.9.6          
##  [94] farver_2.1.2            memoise_2.0.1           htmltools_0.5.8.1      
##  [97] lifecycle_1.0.4         httr_1.4.7              statmod_1.5.0          
## [100] mime_0.12               bit64_4.5.2