ACDC documentation
Welcome to the ACDC documentation. This includes API references, tutorials, and guides.
acdc_py 🤘
Automated Community Detection of Cell Populations in Python
This repo contains the current Python implementation of ACDC, an optimization-based framework to automatize clustering of cell populations from scRNA-seq data using community detection algorithms.
acdc_py is currently under development and new functionalities will be released, following completion and benchmarking.
acdc_py is deployed as a Python package and fully compatible with Scanpy.
Several graph-based clustering algorithms are available within
acdc_py, including Leiden and Louvain.2 optimization routines for parameter tuning are available, Grid Search and(generalized) Simulated Annealing.
Optimization variables include the number of nearest neighbors, k, resolution, res, and the number of principal components, PCs.
Several objective functions are available, including the Silhouette Score (default).
New releases will expand functionalities to new features, including the possibility to iteratively sub-cluster cell populations to find fine grain and biologically meaningful clustering solutions.
To receive updates when novel functionalities are released, feel free to add your email to the following form: https://forms.gle/NCRPJPmXzfbrMH7U7
STAY TUNED FOR UPDATES AND NOVEL DEVELOPMENTS!🤘🏾
**Please, be aware that while this project is “work in progress” and outcomes are continuously benchmarked, cross-platform compability might not yet be guaranteed.
Installation
pypi
pip install acdc-py
local
git clone https://github.com/califano-lab/acdc_py/
cd acdc_py
pip install -e .
… Start playing around! 🎸
References
Kiselev, VY, Andrews, TS, Hemberg, M. (2019) Challenges in unsupervised clustering of single-cell RNA-seq data. Nat Rev Genet 20, 273–282.
Blondel, V D, Guillaume, J, Lambiotte, R, Lefebvre, E (2008). Fast unfolding of communities in large networks”. Journal of Statistical Mechanics: Theory and Experiment. (10) P10008.
Satija R, Farrell JA, Gennert D, Schier AF, Regev A (2015). “Spatial reconstruction of single-cell gene expression data.” Nature Biotechnology, 33, 495-502.
Traag, V.A., Waltman, L. & van Eck, N.J. (2019) From Louvain to Leiden: guaranteeing well-connected communities. Sci Rep 9, 5233.
Xiang, Y., Gubian, S., Suomela, B.P., & Hoeng, J. (2013). Generalized Simulated Annealing for Global Optimization: The GenSA Package. R J., 5, 13.
Contacts
Alexander Wang - aw3436@cumc.columbia.edu
Luca Zanella - lz2841@cumc.columbia.edu
Alessandro Vasciaveo - av2729@cumc.columbia.edu
Contents:
Tutorials:
- Clustering human single-cell RNA seq data with ACDC
- Steps 1-2: Install ACDC and its dependencies
- Step 3. Import necessary Python packages
- Step 4: Load the expression matrix and regulatory network using Pandas and pyVIPER
- Step 5: Preprocessing Data
- Step 6. Compute VIPER (Virtual Inference of Proteins by Enriched Regulon analysis)
- Step 7. Identify clusters of cells with ACDC
- Step 8. Compare clusters vs SS
- Step 9. Compute best solution with 4 clusters
- Step 10. Classify the major lineages of the clusters.
- Step 11. Identify remaining subclusters
- Step 12. Compute the differentiation velocity