Package: pydance
DANCE is a Python toolkit to support deep learning models for analyzing single-cell gene expression at scale. Our goal is to build up a deep learning community and benchmark platform for computational models in single-cell analysis. It includes three modules at present:Single-modality analysisSingle-cell multimodal omicsSpatially resolved transcriptomicsUseful linksOmicsML Homepage:https://omicsml.aiDANCE Open Source:https://github.com/OmicsML/danceDANCE Documentation:https://pydance.readthedocs.io/en/latest/DANCE Tutorials:https://github.com/OmicsML/dance-tutorialsDANCE Package Paper:https://www.biorxiv.org/content/10.1101/2022.10.19.512741v2Survey Paper:https://arxiv.org/abs/2210.12385Join the CommunitySlack:https://join.slack.com/t/omicsml/shared_invite/zt-1hxdz7op3-E5K~EwWF1xDvhGZFrB9AbATwitter:https://twitter.com/OmicsMLWechat Group Assistant: 736180290Email:danceteamgnn@gmail.comContributingCommunity-wide contribution is the key for a sustainable development and
continual growth of the DANCE package. We deeply appreciate any contribution
made to improve the DANCE code base. If you would like to get started, please
refer to our briefguidelinesabout our automated quality
controls, as well as setting up thedevenvironments.CitationIf you find our work useful in your research, please consider citing our DANCE package or survey paper:@article{ding2022dance,title={DANCE: A Deep Learning Library and Benchmark for Single-Cell Analysis},author={Ding, Jiayuan and Wen, Hongzhi and Tang, Wenzhuo and Liu, Renming and Li, Zhaoheng and Venegas, Julian and Su, Runze and Molho, Dylan and Jin, Wei and Zuo, Wangyang and others},journal={bioRxiv},year={2022},publisher={Cold Spring Harbor Laboratory}}@article{molho2022deep,title={Deep Learning in Single-Cell Analysis},author={Molho, Dylan and Ding, Jiayuan and Li, Zhaoheng and Wen, Hongzhi and Tang, Wenzhuo and Wang, Yixin and Venegas, Julian and Jin, Wei and Liu, Renming and Su, Runze and others},journal={arXiv preprint arXiv:2210.12385},year={2022}}UsageOverviewIn release 1.0, the main usage of the DANCE is to provide readily available experiment reproduction
(see detail information about the reproduced performancebelow).
Users can easily reproduce selected experiments presented in the original papers for the computational single-cell methods implemented in DANCE, which can be found underexamples/.MotivationComputational methods for single-cell analysis are quickly emerging, and the field is revolutionizing the usage of single-cell data to gain biological insights.
A key challenge to continually developing computational single-cell methods that achieve new state-of-the-art performance is reproducing previous benchmarks.
More specifically, different studies prepare their datasets and perform evaluation differently,
and not to mention the compatibility of different methods, as they could be written in different languages or using incompatible library versions.DANCE addresses these challenges by providing a unified Python package implementing many popular computational single-cell methods (seeImplemented Algorithms),
as well as easily reproducible experiments by providing unified tools forData downloadingData (pre-)processing and transformation (e.g. graph construction)Model training and evaluationExample: run cell-type annotation benchmark using scDeepSortStep0. Install DANCE (seeInstallation)Step1. Navigate to the folder containing the corresponding example scrtip.
In this case, it isexamples/single_modality/cell_type_annotation.Step2. Obtain command line interface (CLI) options for a particular experiment to reproduce at the end of thescript.
For example, the CLI options for reproducing theMouse Brainexperiment ispythonscdeepsort.py--speciesmouse--tissueBrain--train_dataset7533285--test_dataset2695Step3. Wait for the experiment to finish and check results.InstallationQuick installThe full installation process might be a bit tedious and could involve some debugging when using CUDA enabled packages.
Thus, we provide aninstall.shscript that simplifies the installation process, assuming the user havecondaset up on their machines.
The installation script creates a conda environmentdanceand install the DANCE package along with all its dependencies with a apseicifc CUDA version.
Currently, two options are accepted:cpuandcu118.
For example, to install the DANCE package using CUDA 11.8 in adance-envconda environment, simply run:# Clone the repository via SSHgitclonegit@github.com:OmicsML/dance.git&&cddance# Alternatively, use HTTPS if you have not set up SSH# git clone https://github.com/OmicsML/dance.git  && cd dance# Run the auto installation script to install DANCE and its dependencies in a conda environmentsourceinstall.shcu118dance-envNote: the first argument for cuda version is mandatory, while the second argument for conda environment name is optional (default isdance).Custom installStep1. Setup environmentFirst create a conda environment for dance (optional)condacreate-ndancepython=3.8-y&&condaactivatedanceThen, install CUDA enabled packages (PyTorch, PyG, DGL):condainstallpytorch=2.0.1torchvisiontorchaudiopytorch-cuda=11.8-cpytorch-cnvidia-y
condainstallpyg=2.3.1-cpyg-y
condainstalldgl=1.1.2-cdglteam/label/cu118-yAlternatively, install these dependencies for CPU only:condainstallpytorch=2.0.1torchvisiontorchaudiocpuonly-cpytorch-y
condainstallpyg=2.3.1-cpyg-y
condainstalldgl=1.1.2-cdglteam-yFor more information about installation or other CUDA version options, check out the installation pages for the corresponding packagesPyTorchPyGDGLStep2. Install DANCEInstall from PyPIpipinstallpydanceOr, install the latest dev version from sourcegitclonehttps://github.com/OmicsML/dance.gitcddance
pipinstall-e.Implemented AlgorithmsP1not covered in the first releaseSingle Modality Module1）ImputationBackBoneModelAlgorithmYearCheckInGNNGraphSCIImputing Single-cell RNA-seq data by combining Graph Convolution and Autoencoder Neural Networks2021✅GNNscGNN (2020)SCGNN: scRNA-seq Dropout Imputation via Induced Hierarchical Cell Similarity Graph2020P1GNNscGNN (2021)scGNN is a novel graph neural network framework for single-cell RNA-Seq analyses2021✅GNNGNNImputeAn efficient scRNA-seq dropout imputation method using graph attention network2021P1Graph DiffusionMAGICMAGIC: A diffusion-based imputation method reveals gene-gene interactions in single-cell RNA-sequencing data2018P1Probabilistic ModelscImputeAn accurate and robust imputation method scImpute for single-cell RNA-seq data2018P1GANscGAINscGAIN: Single Cell RNA-seq Data Imputation using Generative Adversarial Networks2019P1NNDeepImputeDeepImpute: an accurate, fast, and scalable deep neural network method to impute single-cell RNA-seq data2019✅NN + TFSaver-XTransfer learning in single-cell transcriptomics improves data denoising and pattern discovery2019P1ModelEvaluation MetricMouse Brain (current/reported)Mouse Embryo (current/reported)PBMC (current/reported)DeepImputeRMSE0.87 / N/A1.20 / N/A2.30 / N/AGraphSCIRMSE1.55 / N/A1.81 / N/A3.68 / N/AscGNN2.0MSE1.04 / N/A1.12 / N/A1.22 / N/ANote: scGNN2.0 is evaluated on 2,000 genes with highest variance following the original paper.2）Cell Type AnnotationBackBoneModelAlgorithmYearCheckInGNNScDeepsortSingle-cell transcriptomics with weighted GNN2021✅Logistic RegressionCelltypistCross-tissue immune cell analysis reveals tissue-specific features in humans.2021✅Random ForestsingleCellNetSingleCellNet: a computational tool to classify single cell RNA-Seq data across platforms and across species.2019✅Neural NetworkACTINNACTINN: automated identification of cell types in single cell RNA sequencing.2020✅Hierarchical ClusteringSingleRReference-based analysis of lung single-cell sequencing reveals a transitional profibrotic macrophage.2019P1SVMSVMA comparison of automatic cell identification methods for single-cell RNA sequencing data.2018✅ModelEvaluation MetricMouse Brain 2695 (current/reported)Mouse Spleen 1759 (current/reported)Mouse Kidney 203 (current/reported)scDeepsortACC0.542/0.3630.969/0.9650.847/0.911CelltypistACC0.824/0.6660.908/0.8480.823/0.832singleCellNetACC0.693/0.8030.975/0.9750.795/0.842ACTINNACC0.727/0.7780.657/0.2360.762/0.798SVMACC0.683/0.6830.056/0.0490.704/0.6953）ClusteringBackBoneModelAlgorithmYearCheckInGNNgraph-scGNN-based embedding for clustering scRNA-seq data2022✅GNNscTAGZINB-based Graph Embedding Autoencoder for Single-cell RNA-seq Interpretations2022✅GNNscDSCDeep structural clustering for single-cell RNA-seq data jointly through autoencoder and graph neural network2022✅GNNscGACscGAC: a graph attentional architecture for clustering single-cell RNA-seq data2022P1AutoEncoderscDeepClusterClustering single-cell RNA-seq data with a model-based deep learning approach2019✅AutoEncoderscDCCModel-based deep embedding for constrained clustering analysis of single cell RNA-seq data2021✅AutoEncoderscziDeskDeep soft K-means clustering with self-training for single-cell RNA sequence data2020P1ModelEvaluation Metric10x PBMC (current/reported)Mouse ES (current/reported)Worm Neuron (current/reported)Mouse Bladder (current/reported)graph-scARI0.72 / 0.700.82 / 0.780.57 / 0.460.68 / 0.63scDCCARI0.82 / 0.810.98 / N/A0.51 / 0.580.60 / 0.66scDeepClusterARI0.81 / 0.780.98 / 0.970.51 / 0.520.56 / 0.58scDSCARI0.72 / 0.780.84 / N/A0.46 / 0.650.65 / 0.72scTAGARI0.77 / N/A0.96 / N/A0.49 / N/A0.69 / N/AMultimodality Module1）Modality PredictionBackBoneModelAlgorithmYearCheckInGNNScMoGCNGraph Neural Networks for Multimodal Single-Cell Data Integration2022✅GNNScMoLPLink Prediction Variant of ScMoGCN2022P1GNNGRAPEHandling Missing Data with Graph Representation Learning2020P1Generative ModelSCMMSCMM: MIXTURE-OF-EXPERTS MULTIMODAL DEEP GENERATIVE MODEL FOR SINGLE-CELL MULTIOMICS DATA ANALYSIS2021✅Auto-encoderCross-modal autoencodersMulti-domain translation between single-cell imaging and sequencing data using autoencoders2021✅Auto-encoderBABELBABEL enables cross-modality translation between multiomic profiles at single-cell resolution2021✅ModelEvaluation MetricGEX2ADT (current/reported)ADT2GEX (current/reported)GEX2ATAC (current/reported)ATAC2GEX (current/reported)ScMoGCNRMSE0.3885 / 0.38850.3242 / 0.32420.1778 / 0.17780.2315 / 0.2315SCMMRMSE0.6264 / N/A0.4458 / N/A0.2163 / N/A0.3730 / N/ACross-modal autoencodersRMSE0.5725 / N/A0.3585 / N/A0.1917 / N/A0.2551 / N/ABABELRMSE0.4335 / N/A0.3673 / N/A0.1816 / N/A0.2394 / N/A2) Modality MatchingBackBoneModelAlgorithmYearCheckInGNNScMoGCNGraph Neural Networks for Multimodal Single-Cell Data Integration2022✅GNN/Auto-ecnoderGLUEMulti-omics single-cell data integration and regulatory inference with graph-linked embedding2021P1Generative ModelSCMMSCMM: MIXTURE-OF-EXPERTS MULTIMODAL DEEP GENERATIVE MODEL FOR SINGLE-CELL MULTIOMICS DATA ANALYSIS2021✅Auto-encoderCross-modal autoencodersMulti-domain translation between single-cell imaging and sequencing data using autoencoders2021✅ModelEvaluation MetricGEX2ADT (current/reported)GEX2ATAC (current/reported)ScMoGCNAccuracy0.0827 / 0.08100.0600 / 0.0630SCMMAccuracy0.005 / N/A5e-5 / N/ACross-modal autoencodersAccuracy0.0002 / N/A0.0002 /  N/A3) Joint EmbeddingBackBoneModelAlgorithmYearCheckInGNNScMoGCNGraph Neural Networks for Multimodal Single-Cell Data Integration2022✅Auto-encoderscMVAEDeep-joint-learning analysis model of single cell transcriptome and open chromatin accessibility data2020✅Auto-encoderscDECSimultaneous deep generative modelling and clustering of single-cell genomic data2021✅GNN/Auto-ecnoderGLUEMulti-omics single-cell data integration and regulatory inference with graph-linked embedding2021P1Auto-encoderDCCADeep cross-omics cycle attention model for joint analysis of single-cell multi-omics data2021✅ModelEvaluation MetricGEX2ADT (current/reported)GEX2ATAC (current/reported)ScMoGCNARI0.706 / N/A0.702 /  N/AScMoGCNv2ARI0.734 / N/AN/A /  N/AscMVAEARI0.499 /  N/A0.577 /  N/AscDEC(JAE)ARI0.705 /  N/A0.735 /  N/ADCCAARI0.35 /  N/A0.381 /  N/A4) Multimodal ImputationBackBoneModelAlgorithmYearCheckInGNNScMoLPLink Prediction Variant of ScMoGCN2022P1GNNscGNNscGNN is a novel graph neural network framework for single-cell RNA-Seq analyses2021P1GNNGRAPEHandling Missing Data with Graph Representation Learning2020P15) Multimodal IntegrationBackBoneModelAlgorithmYearCheckInGNNScMoGCNGraph Neural Networks for Multimodal Single-Cell Data Integration2022P1GNNscGNNscGNN is a novel graph neural network framework for single-cell RNA-Seq analyses (GCN on Nearest Neighbor graph)2021P1Nearest NeighborWNNIntegrated analysis of multimodal single-cell data2021P1GANMAGANMAGAN: Aligning Biological Manifolds2018P1Auto-encoderSCIMSCIM: universal single-cell matching with unpaired feature sets2020P1Auto-encoderMultiMAPMultiMAP: Dimensionality Reduction and Integration of Multimodal Data2021P1Generative ModelSCMMSCMM: MIXTURE-OF-EXPERTS MULTIMODAL DEEP GENERATIVE MODEL FOR SINGLE-CELL MULTIOMICS DATA ANALYSIS2021P1Spatial Module1）Spatial DomainBackBoneModelAlgorithmYearCheckInGNNSpaGCNSpaGCN: Integrating gene expression, spatial location and histology to identify spatial domains and spatially variable genes by graph convolutional network2021✅GNNSTAGATEDeciphering spatial domains from spatially resolved transcriptomics with adaptive graph attention auto-encoder2021✅BayesianBayesSpaceSpatial transcriptomics at subspot resolution with BayesSpace2021P1Pseudo-space-time (PST) DistancestLearnstLearn: integrating spatial location, tissue morphology and gene expression to find cell types, cell-cell interactions and spatial trajectories within undissociated tissues2020✅HeuristicLouvainFast unfolding of community hierarchies in large networks2008✅ModelEvaluation Metric151673 (current/reported)151676 (current/reported)151507 (current/reported)SpaGCNARI0.51  / 0.5220.41 / N/A0.45 / N/ASTAGATEARI0.59 / N/A0.60 / 0.600.608 / N/AstLearnARI0.30 / 0.360.29 / N/A0.31 / N/ALouvainARI0.31 / 0.330.2528 / N/A0.28 / N/A2）Cell Type DeconvolutionBackBoneModelAlgorithmYearCheckInGNNDSTGDSTG: deconvoluting spatial transcriptomics data through graph-based artificial intelligence2021✅logNormRegSpatialDeconAdvances in mixed cell deconvolution enable quantification of cell types in spatial transcriptomic data2022✅NNMFregSPOTlightSPOTlight: seeded NMF regression to deconvolute spatial transcriptomics spots with single-cell transcriptomes2021✅NN Linear + CAR assumptionCARDSpatially informed cell-type deconvolution for spatial transcriptomics2022✅ModelEvaluation MetricGSE174746 (current/reported)CARD Synthetic (current/reported)SPOTlight Synthetic (current/reported)DSTGMSE.1722 / N/A.0239 / N/A.0315 / N/ASpatialDeconMSE.0014 / .009.0077 / N/A.0055 / N/ASPOTlightMSE.0098 / N/A.0246 / 0.118.0109 / .16CARDMSE.0012 / N/A.0078 / 0.0062.0076 / N/A