Skip to main content

scAGDE Python package

Project description

scAGDE

PyPI badge License DOI logo

scAGDE is a Python implementation for a novel single-cell chromatin accessibility model-based deep graph representation learning method that simultaneously learns feature representation and clustering through explicit modeling of single-cell ATAC-seq data generation.

Briefly

Single-cell ATAC-seq technology has significantly advanced our understanding of cellular heterogeneity by enabling the exploration of epigenetic landscapes and regulatory elements at the single-cell level. A major challenge in analyzing high-throughput single-cell ATAC-seq data is its inherently low copy number, leading to data sparsity and high dimensionality, significantly limiting the elucidation and characterization of gene regulatory elements. To address these limitations, we developed scAGDE, a novel single-cell chromatin accessibility model-based deep graph representation learning method that simultaneously learns feature representation and clustering through explicit modeling of single-cell ATAC-seq data generation. scAGDE first leverages a chromatin accessibility-based autoencoder, which is designed to identify key patterns in single-cell ATAC-seq data, eliminate less relevant peaks, and construct a cell graph to elucidate the topological connections among individual cells. After that, scAGDE integrates a Graph Convolutional Network (GCN) as an encoder to extract essential structural information from both the ATAC-seq count matrix and the cell graph, coupled with a Bernoulli-based decoder to characterize the global probabilistic structure of the data. Additionally, the graph embedding process independently generates soft labels that guide self-supervised deep clustering, which is characterized by its iterative refinement of results.

Overview

Overview of the scAGDE framework. (a) A summary graphical illustration of scAGDE workflow. scAGDE takes as input the binary cell-by-peak matrix first into a chromatin accessibility-based autoencoder and then performs the graph embedding learning. (b) The chromatin accessibility-based autoencoder maps data into latent space, where each individual cell connects its nearest cell as neighbours to construct a cell graph. The variation of encoder’s weights can be translated to importance score of peaks for peak selection procedure. (c) The well-prepared cell graph and filtered data are simultaneously handled by a two-layer GCN encoder (i) and mapped into the latent space (ii). On the one hand, the latent embedding serves as input to dual decoders (iii), which include a graph decoder module to reconstruct from embedding, and a Bernoulli-based decoder module to estimate the probability of a peak being accessible, which are estimates of the true chromatin landscape in each cell. On the other hand, the dual clustering optimizations are introduced (iv), where a network of cluster layer, which is initialized by K-means results on the embedding, infers soft clustering label. The target distribution and one-hot pseudo label are sequentially calculated and used for label prediction loss and distribution alignment loss. (d) scAGDE facilitates critical downstream applications of clustering, visualization, imputation, enrichment analysis and discovery of regulators. framework

System Requirements

Hardware requirements

scMGCA package requires only a standard computer with enough RAM to support the in-memory operations.

Software requirements

OS Requirements

This package is supported for Linux. The package has been tested on the following systems:

  • Linux: Ubuntu 18.04

Python Dependencies

scMGCA mainly depends on the Python scientific stack.

numpy
scipy
tensorflow
scikit-learn
pandas
scanpy
anndata

For specific setting, please see requirement.

Installation Guide:

Install from PyPi

$ conda create -n scMGCA_env python=3.6.8
$ conda activate scMGCA_env
$ pip install -r requirements.txt
$ pip install scMGCA

Usage

scMGCA is a deep graph embedding learning method for single-cell clustering, which can be used to:

  • Single-cell data clustering. The example can be seen in the demo.py.
  • Correct the batch effect of data from different scRNA-seq protocols. The example can be seen in the demo_batch.py.
  • Analysis of the mouse brain data with 1.3 million cells. The example can be seen in the demo_scale.py.
  • Provide an automatic hyperparameter search algorithm. The example can be seen in the demo_para.py.

We give users some suggestions for running in the tutorial.md.

Data Availability

The real data sets we used can be download in data.

License

This project is covered under the MIT License.

Citation

@article{yu2023topological,
  title={Topological identification and interpretation for single-cell gene regulation elucidation across multiple platforms using scMGCA},
  author={Yu, Zhuohan and Su, Yanchi and Lu, Yifu and Yang, Yuning and Wang, Fuzhou and Zhang, Shixiong and Chang, Yi and Wong, Ka-Chun and Li, Xiangtao},
  journal={Nature Communications},
  volume={14},
  number={1},
  pages={400},
  year={2023},
  publisher={Nature Publishing Group UK London}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scAGDE-0.0.10.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scAGDE-0.0.10-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

Details for the file scAGDE-0.0.10.tar.gz.

File metadata

  • Download URL: scAGDE-0.0.10.tar.gz
  • Upload date:
  • Size: 17.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.9.13

File hashes

Hashes for scAGDE-0.0.10.tar.gz
Algorithm Hash digest
SHA256 5e752eee8e28381384b0c59cfde599582ef1d4b78606072d601ad6beff1b73e3
MD5 5254a3f113c2f5f1fb6481db25287f63
BLAKE2b-256 933416068c489028096aa90a0cc07de3fe58bbe0178188450588164c7c17aa05

See more details on using hashes here.

File details

Details for the file scAGDE-0.0.10-py3-none-any.whl.

File metadata

  • Download URL: scAGDE-0.0.10-py3-none-any.whl
  • Upload date:
  • Size: 15.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.9.13

File hashes

Hashes for scAGDE-0.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 822ebac6fd19f85bb8848a98a8131bbc67f06e9cef194b10f019b2d39be35266
MD5 75246aee0d5fc90cd987701bc0efb453
BLAKE2b-256 ca34519e1edc7ea8588c4775fba01358b8e1f3e165dc621a250c451fb41e4556

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page