CellDiffusion


NameCellDiffusion JSON
Version 0.1 PyPI version JSON
download
home_pagehttps://github.com/CZCBLab/CellDiffusion
SummaryCellDiffusion(Single-Cell graph neural Diffusion) is a physics-informed graph generative model to do scRNA-seq analysis. CellDiffusion investigates cellular dynamics utilizing an attention-based neural network.
upload_time2025-07-25 04:24:46
maintainerNone
docs_urlNone
authorYuchen Liu
requires_python<=3.11,>=3.9
licenseMIT
keywords single-cell diffusion
VCS
bugtrack_url
requirements leidenalg matplotlib networkx numpy pandas python_igraph python_louvain scanpy scikit_learn scipy torch umap_learn
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![CellDiffusion](https://raw.githubusercontent.com/CZCBLab/scDiffusion/refs/heads/main/scDiffusion_arc_1.png)
# About:

CellDiffusion(Single-Cell graph neural Diffusion) is a deep diffusion model to leverage multi-scale patterns in single-cell graphs and enhance scRNA-seq analysis. Single-cell transcriptomics are typically analyzed based on gene expression within individual cells and hypothetic cell adjacencies. However, existing computational methods often suffer from a lack of leveraging and integrating multi-scale dependencies in feature space, undermining their effectiveness and robustness in downstream applications like handling of batch effects, cell type identification, and cell fate inference. To tackle this challenge, we introduce CellDiffusion to incorporate long-range information propagation among cells to uncover cellular biology from their transcriptomics. CellDiffusion integrates both local and global diffusion processes to comprehensively capture cell relationships, ranging from fine-grained structures to large-scale patterns. This approach exhibits great perception of inherent cell types and potential lineages and preserves cell identities in batch-imbalanced datasets. CellDiffusion enhances various downstream tasks, including data integration, reference-based cell type annotation, unsupervised clustering, and trajectory inference. 

This repository contains the source code for the paper "CellDiffusion: graph-based deep diffusion model leverages multi-scale dependencies among single cells", Yu-Chen Liu, Lei Jiang, Simon Liang Lu, Anqi Zou, Zedong Lin, Nidhi Siddharam Loni, Heng Pan, Vijaya B. Kolachalama, Dong Xu*, Juexin Wang* & Chao Zhang*.

![CellDiffusion](https://raw.githubusercontent.com/CZCBLab/scDiffusion/refs/heads/main/scDiffusion_arc_2.png)

# Installation:

CellDiffusion is available on PyPI. To install CellDiffusion, run the following command:
```
pip install CellDiffusion
```
Or grab this source codes:
```
git clone https://github.com/CZCBLab/CellDiffusion.git
cd CellDiffusion
```
Python=3.9.9 is required. See other requirements in the file requirements.txt.

Run CellDiffusion in Docker:
```
git clone https://github.com/CZCBLab/CellDiffusion.git
cd CellDiffusion

# Build the Docker image
sudo docker build -t celldiffusion .

# Run Docker container with CPU
sudo docker run -it -p 8888:8888 --restart always celldiffusion bash

# Or run Docker container with GPU
sudo docker run -it -p 8888:8888 --restart always --gpus all celldiffusion bash

# Start Jupyter Notebook
jupyter notebook --ip="0.0.0.0" --allow-root
```
'celldiffusion' could be changed into your image name. Please refer to [Docker] and [NVIDIA Container Toolkit] for more details about Docker installation.

# Tutorials:

For data integration, please check the notebook file "CellDiffusion_tutorial_Data_Integration.ipynb".

For reference-based cell type annotation, please check the notebook file "CellDiffusion_tutorial_Annotation_(Label_Transfer).ipynb".

For clustering tasks, please check the notebook file "CellDiffusion_tutorial_Clustering.ipynb". 

For trajectory tasks, please check the notebook file "CellDiffusion_tutorial_Trajectory_Inference.ipynb".

[Docker]: https://docs.docker.com/engine/install/
[NVIDIA Container Toolkit]: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/CZCBLab/CellDiffusion",
    "name": "CellDiffusion",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<=3.11,>=3.9",
    "maintainer_email": null,
    "keywords": "single-cell, diffusion",
    "author": "Yuchen Liu",
    "author_email": "ycliu137@bu.edu",
    "download_url": "https://files.pythonhosted.org/packages/82/fb/066730ea1f536b7cd6802f10813dac6480a1c5a154ac3dffd07e846d70dd/CellDiffusion-0.1.tar.gz",
    "platform": null,
    "description": "![CellDiffusion](https://raw.githubusercontent.com/CZCBLab/scDiffusion/refs/heads/main/scDiffusion_arc_1.png)\n# About:\n\nCellDiffusion(Single-Cell graph neural Diffusion) is a deep diffusion model to leverage multi-scale patterns in single-cell graphs and enhance scRNA-seq analysis. Single-cell transcriptomics are typically analyzed based on gene expression within individual cells and hypothetic cell adjacencies. However, existing computational methods often suffer from a lack of leveraging and integrating multi-scale dependencies in feature space, undermining their effectiveness and robustness in downstream applications like handling of batch effects, cell type identification, and cell fate inference. To tackle this challenge, we introduce CellDiffusion to incorporate long-range information propagation among cells to uncover cellular biology from their transcriptomics. CellDiffusion integrates both local and global diffusion processes to comprehensively capture cell relationships, ranging from fine-grained structures to large-scale patterns. This approach exhibits great perception of inherent cell types and potential lineages and preserves cell identities in batch-imbalanced datasets. CellDiffusion enhances various downstream tasks, including data integration, reference-based cell type annotation, unsupervised clustering, and trajectory inference. \n\nThis repository contains the source code for the paper \"CellDiffusion: graph-based deep diffusion model leverages multi-scale dependencies among single cells\", Yu-Chen Liu, Lei Jiang, Simon Liang Lu, Anqi Zou, Zedong Lin, Nidhi Siddharam Loni, Heng Pan, Vijaya B. Kolachalama, Dong Xu*, Juexin Wang* & Chao Zhang*.\n\n![CellDiffusion](https://raw.githubusercontent.com/CZCBLab/scDiffusion/refs/heads/main/scDiffusion_arc_2.png)\n\n# Installation:\n\nCellDiffusion is available on PyPI. To install CellDiffusion, run the following command:\n```\npip install CellDiffusion\n```\nOr grab this source codes:\n```\ngit clone https://github.com/CZCBLab/CellDiffusion.git\ncd CellDiffusion\n```\nPython=3.9.9 is required. See other requirements in the file requirements.txt.\n\nRun CellDiffusion in Docker:\n```\ngit clone https://github.com/CZCBLab/CellDiffusion.git\ncd CellDiffusion\n\n# Build the Docker image\nsudo docker build -t celldiffusion .\n\n# Run Docker container with CPU\nsudo docker run -it -p 8888:8888 --restart always celldiffusion bash\n\n# Or run Docker container with GPU\nsudo docker run -it -p 8888:8888 --restart always --gpus all celldiffusion bash\n\n# Start Jupyter Notebook\njupyter notebook --ip=\"0.0.0.0\" --allow-root\n```\n'celldiffusion' could be changed into your image name. Please refer to [Docker] and [NVIDIA Container Toolkit] for more details about Docker installation.\n\n# Tutorials:\n\nFor data integration, please check the notebook file \"CellDiffusion_tutorial_Data_Integration.ipynb\".\n\nFor reference-based cell type annotation, please check the notebook file \"CellDiffusion_tutorial_Annotation_(Label_Transfer).ipynb\".\n\nFor clustering tasks, please check the notebook file \"CellDiffusion_tutorial_Clustering.ipynb\". \n\nFor trajectory tasks, please check the notebook file \"CellDiffusion_tutorial_Trajectory_Inference.ipynb\".\n\n[Docker]: https://docs.docker.com/engine/install/\n[NVIDIA Container Toolkit]: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html\n\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "CellDiffusion(Single-Cell graph neural Diffusion) is a physics-informed graph generative model to do scRNA-seq analysis. CellDiffusion investigates cellular dynamics utilizing an attention-based neural network.",
    "version": "0.1",
    "project_urls": {
        "Homepage": "https://github.com/CZCBLab/CellDiffusion"
    },
    "split_keywords": [
        "single-cell",
        " diffusion"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a007581ec58e141a098d660ac95c6f9088cd4ca08aa820fd2694a8b04dc51713",
                "md5": "7178b046d8de2647acd9677d3bd9cbdf",
                "sha256": "9ea87cb178dd0a36eb25e7532f2d9d2c3f767d8df977c5f1eca12835b8137b3b"
            },
            "downloads": -1,
            "filename": "CellDiffusion-0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7178b046d8de2647acd9677d3bd9cbdf",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<=3.11,>=3.9",
            "size": 31112,
            "upload_time": "2025-07-25T04:24:45",
            "upload_time_iso_8601": "2025-07-25T04:24:45.470897Z",
            "url": "https://files.pythonhosted.org/packages/a0/07/581ec58e141a098d660ac95c6f9088cd4ca08aa820fd2694a8b04dc51713/CellDiffusion-0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "82fb066730ea1f536b7cd6802f10813dac6480a1c5a154ac3dffd07e846d70dd",
                "md5": "78da790d0c7a6655584a26154e56609d",
                "sha256": "13ba7dd04c0b0fbe69bd17200ada73490bc85219c17a5dea51bddfef5ed8c6ff"
            },
            "downloads": -1,
            "filename": "CellDiffusion-0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "78da790d0c7a6655584a26154e56609d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<=3.11,>=3.9",
            "size": 25555,
            "upload_time": "2025-07-25T04:24:46",
            "upload_time_iso_8601": "2025-07-25T04:24:46.570667Z",
            "url": "https://files.pythonhosted.org/packages/82/fb/066730ea1f536b7cd6802f10813dac6480a1c5a154ac3dffd07e846d70dd/CellDiffusion-0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-25 04:24:46",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "CZCBLab",
    "github_project": "CellDiffusion",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "leidenalg",
            "specs": [
                [
                    "==",
                    "0.10.2"
                ]
            ]
        },
        {
            "name": "matplotlib",
            "specs": [
                [
                    "==",
                    "3.10.3"
                ]
            ]
        },
        {
            "name": "networkx",
            "specs": [
                [
                    "==",
                    "3.4.2"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    "==",
                    "2.3.1"
                ]
            ]
        },
        {
            "name": "pandas",
            "specs": [
                [
                    "==",
                    "2.3.1"
                ]
            ]
        },
        {
            "name": "python_igraph",
            "specs": [
                [
                    "==",
                    "0.11.8"
                ]
            ]
        },
        {
            "name": "python_louvain",
            "specs": [
                [
                    "==",
                    "0.16"
                ]
            ]
        },
        {
            "name": "scanpy",
            "specs": [
                [
                    "==",
                    "1.11.3"
                ]
            ]
        },
        {
            "name": "scikit_learn",
            "specs": [
                [
                    "==",
                    "1.7.1"
                ]
            ]
        },
        {
            "name": "scipy",
            "specs": [
                [
                    "==",
                    "1.16.0"
                ]
            ]
        },
        {
            "name": "torch",
            "specs": [
                [
                    "==",
                    "2.7.0"
                ]
            ]
        },
        {
            "name": "umap_learn",
            "specs": [
                [
                    "==",
                    "0.5.7"
                ]
            ]
        }
    ],
    "lcname": "celldiffusion"
}
        
Elapsed time: 0.68232s