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 1.3.0 of scvi-tools. Specific versions of python components are enumerated in the file R/basilisk.R.
  • 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 May 2025, use BiocManager to install scviR in R 4.5.0 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)
  • getTotalVINormalized5k10k() (191 MB will be retrieved and cached)

Session information

sessionInfo()
## R version 4.5.2 (2025-10-31)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 24.04.3 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] scviR_1.10.0                shiny_1.12.1               
##  [3] basilisk_1.22.0             reticulate_1.44.1          
##  [5] scater_1.38.0               ggplot2_4.0.1              
##  [7] scuttle_1.20.0              SingleCellExperiment_1.32.0
##  [9] SummarizedExperiment_1.40.0 Biobase_2.70.0             
## [11] GenomicRanges_1.62.1        Seqinfo_1.0.0              
## [13] IRanges_2.44.0              S4Vectors_0.48.0           
## [15] BiocGenerics_0.56.0         generics_0.1.4             
## [17] MatrixGenerics_1.22.0       matrixStats_1.5.0          
## [19] BiocStyle_2.38.0           
## 
## loaded via a namespace (and not attached):
##  [1] DBI_1.2.3           gridExtra_2.3       httr2_1.2.2        
##  [4] rlang_1.1.6         magrittr_2.0.4      otel_0.2.0         
##  [7] compiler_4.5.2      RSQLite_2.4.5       mgcv_1.9-1         
## [10] dir.expiry_1.18.0   png_0.1-8           vctrs_0.6.5        
## [13] pkgconfig_2.0.3     fastmap_1.2.0       dbplyr_2.5.1       
## [16] XVector_0.50.0      labeling_0.4.3      promises_1.5.0     
## [19] rmarkdown_2.30      ggbeeswarm_0.7.3    purrr_1.2.0        
## [22] bit_4.6.0           xfun_0.54           cachem_1.1.0       
## [25] beachmat_2.26.0     jsonlite_2.0.0      blob_1.2.4         
## [28] later_1.4.4         DelayedArray_0.36.0 BiocParallel_1.44.0
## [31] irlba_2.3.5.1       parallel_4.5.2      R6_2.6.1           
## [34] bslib_0.9.0         RColorBrewer_1.1-3  limma_3.66.0       
## [37] jquerylib_0.1.4     Rcpp_1.1.0.8        knitr_1.50         
## [40] splines_4.5.2       httpuv_1.6.16       Matrix_1.7-4       
## [43] tidyselect_1.2.1    abind_1.4-8         yaml_2.3.12        
## [46] viridis_0.6.5       codetools_0.2-20    curl_7.0.0         
## [49] lattice_0.22-7      tibble_3.3.0        withr_3.0.2        
## [52] S7_0.2.1            evaluate_1.0.5      BiocFileCache_3.0.0
## [55] pillar_1.11.1       BiocManager_1.30.27 filelock_1.0.3     
## [58] rprojroot_2.1.1     scales_1.4.0        xtable_1.8-4       
## [61] glue_1.8.0          pheatmap_1.0.13     maketools_1.3.2    
## [64] tools_4.5.2         BiocNeighbors_2.4.0 sys_3.4.3          
## [67] ScaledMatrix_1.18.0 buildtools_1.0.0    grid_4.5.2         
## [70] nlme_3.1-168        beeswarm_0.4.0      BiocSingular_1.26.1
## [73] vipor_0.4.7         cli_3.6.5           rsvd_1.0.5         
## [76] rappdirs_0.3.3      S4Arrays_1.10.1     viridisLite_0.4.2  
## [79] dplyr_1.1.4         gtable_0.3.6        sass_0.4.10        
## [82] digest_0.6.39       SparseArray_1.10.7  ggrepel_0.9.6      
## [85] farver_2.1.2        memoise_2.0.1       htmltools_0.5.9    
## [88] lifecycle_1.0.4     here_1.0.2          statmod_1.5.1      
## [91] mime_0.13           bit64_4.6.0-1