Skip to content

Bi-order integration (in silico multi-omics data) of single cell RNA sequencing, single cell ATAC sequencing, spacial transcriptomics and CyTOF data

License

Notifications You must be signed in to change notification settings

KChen-lab/bindSC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bindSC (Bi-order INtegration of multi-omics Data from Single Cell sequencing technologies) is an R package for single cell multi-omic integration analysis, developed and maintained by Ken chen's lab in MDACC. bindSC is developed to address the challenge of single-cell multi-omic data integration that consists of unpaired cells measured with unmatched features across modalities. Previous methods such as Seurat, Liger, Harmony did not work on this case unless match feature empricallcy. For example, integration of scRNA-seq and scATAC-seq data requires to calculate the gene/promoter activity by counting peaks in gene body, which always loses information. This strategy also did not work on integrating scRNA-seq and cytof data becasue gene pression and protein abundance level is not always correlated due to sparsity of scRNA-seq data or post translational modification.

The core algorithm implemented in bindSC package is BiCCA (Bi-order Canonical Correlation Analysis), which utilizes a transition matrix Z (M features by L samples) to bridge observed X (M features by K cells) with Y (N features by L cells). Initialized from prior knowldge, the matrix Z is solved iteratively by maximizing correlation of pair (X, Z) and correlation of pair (Y, Z) simultaneously. Under estimated matrix Z, the cell/feature correspondence across modalities can be obtained by implementing standard CCA on pair (X, Z) and pair (Y, Z) respectively.

The following visualization - integration of snRNA and snATAC data (use 10x multiOme data from mouse retina bipolar cell types as validation) - is a demo to show how bindSC improves the label transfer accuracy of snATAC data during the iteration process. The left panel shows cells from snRNA data in co-embeddings. The middel panel shows cells from snATAC data in co-embeddings. The right panel shows label transfer accuracy on BC cell types. The iteration 0 is the result from traditional CCA (Integration is restricted to gene activity matrix)

The following visualization - integration of scRNA and protein data (use CITE-seq as validation) - is a demo to show how bindSC improves the gene score matrix Z during the iteration process. The left panel shows cells from Protein data in co-embeddings. The middel panel shows cells from RNA data in co-embeddings. The right panel shows the comparsion of updated gene score matrix with the measured protein abundance level (e.g., the gold standard). The iteration 0 is the result from traditional CCA (Integration is restricted to only 25 homologous protein genes)

Once multiple datasets are integrated, bindSC provides functionality for further data exploration, analysis, and visualization. User can:

  • Jointly defining cell types from multi-omic datasets
  • Identifying comprehensive molecular multi-view of biological processes in cell type level.

Improvements and new features will be added on a regular basis, please contact jinzhuangdou198706@gmail.com or kchen3@mdanderson.org with any question.

Version History

###v1.0.0 [28/09/2022]

  • remove unncessary functions/packages for plotting

v1.0.0 [01/03/2021]

  • Add the modality specfic weighting factor on the objective fucntion
  • Add the weighting factor of initilized gene score matrix on the objective function
  • bindSC is able to take low-dimension representaions (for example PCs/LSI) from orignal matrix as input for integration. This will save computational time dramatically for large-scale data.

v1.0.0 [11/14/2020]

  • Add integraion of scRNA-seq and cytof data demo from CITE-seq technology

v1.0.0 [9/9/2020]

  • Update parameter optimization module
  • Provide joint profiles of gene expression, chromatin accessibility, and TF activity on pseudocell level.

v1.0.0 [7/7/2020]

  • Release bindSC.

System Requirements

Hardware requirements

The bindSC package requires only a standard computer with enough RAM to support the in-memory operations. For minimal performance, please make sure that the computer has at least about 10 GB of RAM. For optimal performance, we recommend a computer with the following specs:

  • RAM: 10+ GB
  • CPU: 4+ cores, 2.3 GHz/core

Before setting up the bindSC package, users should have R version 3.6.0 or higher, and several packages set up from CRAN and other repositories. The user can check the dependencies in DESCRIPTION.

Installation

bindSC is written in R and can be installed by following R commands:

$ R
> install.packages('devtools')
> library(devtools)
> install_github('KChen-lab/bindSC')

Users can also install bindSC from source code:

You need to install dependencies listed in `DESCRIPTION` as follow
$ R
listOfPackages <-c("umap", "irlba","progress","Matrix","ggplot2","dplyr","DescTools","ggpubr","reshape2","ggrepel","rdist","gtools")
for (i in listOfPackages){
     if(! i %in% installed.packages()){
         install.packages(i, dependencies = TRUE)
     }
}


$ git clone https://github.com/KChen-lab/bindSC.git
$ R CMD INSTALL bindSC

Usage

For usage examples and guided walkthroughs, check the vignettes directory of the repo.

We also provided comparison of bindSC with available tools including Seurat, LIGER, and Harmony on above 3 benchmarking datasets

Bug report

License

This project is covered under the GNU General Public License 3.0.

Citation

Dou J, Liang S, Mohanty V, Miao Q, Huang Y, Liang Q, Cheng X, Kim S, Choi J, Li Y, Li L.Bi-order multimodal integration of single-cell data. Genome biology. 2022 Dec;23(1):1-25

About

Bi-order integration (in silico multi-omics data) of single cell RNA sequencing, single cell ATAC sequencing, spacial transcriptomics and CyTOF data

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages