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.6.0 (2026-04-24)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 24.04.4 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=en_US.UTF-8    
##  [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.12.0                shiny_1.13.0               
##  [3] basilisk_1.24.0             reticulate_1.46.0          
##  [5] scater_1.40.0               ggplot2_4.0.3              
##  [7] scuttle_1.22.0              SingleCellExperiment_1.34.0
##  [9] SummarizedExperiment_1.42.0 Biobase_2.72.0             
## [11] GenomicRanges_1.64.0        Seqinfo_1.2.0              
## [13] IRanges_2.46.0              S4Vectors_0.50.0           
## [15] BiocGenerics_0.58.0         generics_0.1.4             
## [17] MatrixGenerics_1.24.0       matrixStats_1.5.0          
## [19] BiocStyle_2.40.0           
## 
## loaded via a namespace (and not attached):
##  [1] DBI_1.3.0           gridExtra_2.3       httr2_1.2.2        
##  [4] rlang_1.2.0         magrittr_2.0.5      otel_0.2.0         
##  [7] compiler_4.6.0      RSQLite_2.4.6       mgcv_1.9-4         
## [10] dir.expiry_1.20.0   png_0.1-9           vctrs_0.7.3        
## [13] pkgconfig_2.0.3     fastmap_1.2.0       dbplyr_2.5.2       
## [16] XVector_0.52.0      labeling_0.4.3      promises_1.5.0     
## [19] rmarkdown_2.31      ggbeeswarm_0.7.3    purrr_1.2.2        
## [22] bit_4.6.0           xfun_0.57           cachem_1.1.0       
## [25] beachmat_2.28.0     jsonlite_2.0.0      blob_1.3.0         
## [28] later_1.4.8         DelayedArray_0.38.1 BiocParallel_1.46.0
## [31] irlba_2.3.7         parallel_4.6.0      R6_2.6.1           
## [34] bslib_0.10.0        RColorBrewer_1.1-3  limma_3.68.0       
## [37] jquerylib_0.1.4     Rcpp_1.1.1-1.1      knitr_1.51         
## [40] splines_4.6.0       httpuv_1.6.17       Matrix_1.7-5       
## [43] tidyselect_1.2.1    abind_1.4-8         yaml_2.3.12        
## [46] viridis_0.6.5       codetools_0.2-20    curl_7.1.0         
## [49] lattice_0.22-9      tibble_3.3.1        withr_3.0.2        
## [52] S7_0.2.2            evaluate_1.0.5      BiocFileCache_3.2.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-8       
## [61] glue_1.8.1          pheatmap_1.0.13     maketools_1.3.2    
## [64] tools_4.6.0         BiocNeighbors_2.6.0 sys_3.4.3          
## [67] ScaledMatrix_1.20.0 buildtools_1.0.0    grid_4.6.0         
## [70] nlme_3.1-169        beeswarm_0.4.0      BiocSingular_1.28.0
## [73] vipor_0.4.7         cli_3.6.6           rsvd_1.0.5         
## [76] rappdirs_0.3.4      S4Arrays_1.12.0     viridisLite_0.4.3  
## [79] dplyr_1.2.1         gtable_0.3.6        sass_0.4.10        
## [82] digest_0.6.39       SparseArray_1.12.0  ggrepel_0.9.8      
## [85] farver_2.1.2        memoise_2.0.1       htmltools_0.5.9    
## [88] lifecycle_1.0.5     here_1.0.2          statmod_1.5.1      
## [91] mime_0.13           bit64_4.8.0