gspa


Namegspa JSON
Version 1.1 PyPI version JSON
download
home_pagehttps://github.com/KrishnaswamyLab/Gene-Signal-Pattern-Analysis
SummaryGene Signal Pattern Analysis
upload_time2024-06-24 20:30:12
maintainerNone
docs_urlNone
authorAarthi Venkat, Krishnaswamy Lab, Yale University
requires_python>=3.6
licenseGNU General Public License Version 3
keywords big-data manifold-learning computational-biology dimensionality-reduction single-cell
VCS
bugtrack_url
requirements graphtools tensorflow multiscale_phate numpy scikit_learn scipy tqdm scanpy phate
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Gene Signal Pattern Analysis
### Mapping the gene space at single-cell resolution

Gene Signal Pattern Analysis is a Python package for mapping the gene space from single-cell data. For a detailed explanation of GSPA and potential downstream application, see:

[**Mapping the gene space at single-cell resolution with Gene Signal Pattern Analysis**. Aarthi Venkat, Sam Leone, Scott E. Youlten, Eric Fagerberg, John Attanasio, Nikhil S. Joshi, Michael Perlmutter, Smita Krishnaswamy.](https://www.biorxiv.org/content/10.1101/2023.11.26.568492v1)

By considering gene expression values as signals on the cell-cell graph, GSPA enables complex analyses of gene-gene relationships, including gene cluster analysis, cell-cell communication, and patient manifold learning from gene-gene graphs.

### Installation

```
pip install gspa
```

### Requirements

GSPA requires Python >= 3.6. All other requirements are automatically installed by ``pip`` (see also requirements.txt).

The following have been tested: Python 3.6.15 (graphtools 1.5.3, tensorflow 2.6.2, keras 2.6.0, numpy 1.19.5, sklearn 0.24.2, scipy 1.5.4, tqdm 4.64.1, scanpy 1.7.2, phate 1.0.11) and Python 3.8.18 (graphtools 1.5.3, tensorflow 2.13.0, keras 2.13.1, numpy 1.22.4, sklearn 1.3.2, scipy 1.10.1, tqdm 4.66.4, scanpy 1.9.3, phate 1.0.11)

### Usage example

```
import numpy as np
import gspa

# Create toy data
n_cells = 1000
n_genes = 50
data = np.random.normal(size=(n_cells, n_genes))

# GSPA operator constructs wavelet dictionary
gspa_op = gspa.GSPA()
gspa_op.construct_graph(data)
gspa_op.build_diffusion_operator()
gspa_op.build_wavelet_dictionary()

# Embed gene signals from wavelet dictionary
gene_signals = data.T # embed all measured genes
gene_ae, gene_pc = gspa_op.get_gene_embeddings(gene_signals)
gene_localization = gspa_op.calculate_localization()
```
See `GSPA_example.ipynb` at [GitHub](https://github.com/KrishnaswamyLab/Gene-Signal-Pattern-Analysis) for test run on simulated single-cell data.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/KrishnaswamyLab/Gene-Signal-Pattern-Analysis",
    "name": "gspa",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "big-data, manifold-learning, computational-biology, dimensionality-reduction, single-cell",
    "author": "Aarthi Venkat, Krishnaswamy Lab, Yale University",
    "author_email": "aarthi.venkat@yale.edu",
    "download_url": "https://files.pythonhosted.org/packages/1e/0f/79b4d2d16837540195b0e44f5c0d410e742c858f0bcdb7333751fa648ac1/gspa-1.1.tar.gz",
    "platform": null,
    "description": "# Gene Signal Pattern Analysis\n### Mapping the gene space at single-cell resolution\n\nGene Signal Pattern Analysis is a Python package for mapping the gene space from single-cell data. For a detailed explanation of GSPA and potential downstream application, see:\n\n[**Mapping the gene space at single-cell resolution with Gene Signal Pattern Analysis**. Aarthi Venkat, Sam Leone, Scott E. Youlten, Eric Fagerberg, John Attanasio, Nikhil S. Joshi, Michael Perlmutter, Smita Krishnaswamy.](https://www.biorxiv.org/content/10.1101/2023.11.26.568492v1)\n\nBy considering gene expression values as signals on the cell-cell graph, GSPA enables complex analyses of gene-gene relationships, including gene cluster analysis, cell-cell communication, and patient manifold learning from gene-gene graphs.\n\n### Installation\n\n```\npip install gspa\n```\n\n### Requirements\n\nGSPA requires Python >= 3.6. All other requirements are automatically installed by ``pip`` (see also requirements.txt).\n\nThe following have been tested: Python 3.6.15 (graphtools 1.5.3, tensorflow 2.6.2, keras 2.6.0, numpy 1.19.5, sklearn 0.24.2, scipy 1.5.4, tqdm 4.64.1, scanpy 1.7.2, phate 1.0.11) and Python 3.8.18 (graphtools 1.5.3, tensorflow 2.13.0, keras 2.13.1, numpy 1.22.4, sklearn 1.3.2, scipy 1.10.1, tqdm 4.66.4, scanpy 1.9.3, phate 1.0.11)\n\n### Usage example\n\n```\nimport numpy as np\nimport gspa\n\n# Create toy data\nn_cells = 1000\nn_genes = 50\ndata = np.random.normal(size=(n_cells, n_genes))\n\n# GSPA operator constructs wavelet dictionary\ngspa_op = gspa.GSPA()\ngspa_op.construct_graph(data)\ngspa_op.build_diffusion_operator()\ngspa_op.build_wavelet_dictionary()\n\n# Embed gene signals from wavelet dictionary\ngene_signals = data.T # embed all measured genes\ngene_ae, gene_pc = gspa_op.get_gene_embeddings(gene_signals)\ngene_localization = gspa_op.calculate_localization()\n```\nSee `GSPA_example.ipynb` at [GitHub](https://github.com/KrishnaswamyLab/Gene-Signal-Pattern-Analysis) for test run on simulated single-cell data.\n",
    "bugtrack_url": null,
    "license": "GNU General Public License Version 3",
    "summary": "Gene Signal Pattern Analysis",
    "version": "1.1",
    "project_urls": {
        "Download": "https://github.com/KrishnaswamyLab/Gene-Signal-Pattern-Analysis/archive/v1.1.tar.gz",
        "Homepage": "https://github.com/KrishnaswamyLab/Gene-Signal-Pattern-Analysis"
    },
    "split_keywords": [
        "big-data",
        " manifold-learning",
        " computational-biology",
        " dimensionality-reduction",
        " single-cell"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1e0f79b4d2d16837540195b0e44f5c0d410e742c858f0bcdb7333751fa648ac1",
                "md5": "fa5eb268579d3497d540176adfe3845d",
                "sha256": "bf01eb52c0a3dfcb441eecb88c839db3e2d82feec7633dbb5e10b3378180a99c"
            },
            "downloads": -1,
            "filename": "gspa-1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "fa5eb268579d3497d540176adfe3845d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 18044810,
            "upload_time": "2024-06-24T20:30:12",
            "upload_time_iso_8601": "2024-06-24T20:30:12.825410Z",
            "url": "https://files.pythonhosted.org/packages/1e/0f/79b4d2d16837540195b0e44f5c0d410e742c858f0bcdb7333751fa648ac1/gspa-1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-24 20:30:12",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "KrishnaswamyLab",
    "github_project": "Gene-Signal-Pattern-Analysis",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "graphtools",
            "specs": [
                [
                    ">=",
                    "1.5.0"
                ]
            ]
        },
        {
            "name": "tensorflow",
            "specs": [
                [
                    ">=",
                    "2.6.0"
                ]
            ]
        },
        {
            "name": "multiscale_phate",
            "specs": [
                [
                    "==",
                    "0.0"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    ">=",
                    "1.14.0"
                ]
            ]
        },
        {
            "name": "scikit_learn",
            "specs": []
        },
        {
            "name": "scipy",
            "specs": [
                [
                    ">=",
                    "1.1.0"
                ]
            ]
        },
        {
            "name": "tqdm",
            "specs": []
        },
        {
            "name": "scanpy",
            "specs": []
        },
        {
            "name": "phate",
            "specs": []
        }
    ],
    "lcname": "gspa"
}
        
Elapsed time: 0.31262s