featuremap


Namefeaturemap JSON
Version 0.0.1 PyPI version JSON
download
home_pagehttps://github.com/YYT1002/FeatureMAP
SummaryFeatureMAP
upload_time2025-02-11 04:51:07
maintainerYang Yang
docs_urlNone
authorNone
requires_pythonNone
licenseGPL
keywords dimensionality reduction manifold learning tangent space embedding
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![FeatureMAP Illustration](./docs/figures/featureMAP.png)

# FeatureMAP: Feature-preserving Manifold Approximation and Projection

Visualizing single-cell data is essential for understanding cellular heterogeneity and dynamics. **FeatureMAP** enhances this process by introducing **gene projection** and **transition/core states**, providing deeper insights into cellular states. While traditional methods like UMAP and t-SNE effectively capture clustering, they often overlook critical gene-level information. FeatureMAP addresses this limitation by integrating concepts from UMAP and PCA, preserving both clustering structures and gene feature variations within a low-dimensional space.

## Description

FeatureMAP presents a novel approach by enhancing manifold learning with pairwise tangent space embedding, ensuring the retention of crucial cellular data features. It introduces two visualization plots: expression embedding (GEX) and variation embedding (GVA).

Here, we demonstrate its effectiveness using a synthetic dataset from ([BEELINE](https://github.com/Murali-group/Beeline)) based on a bifurcation model. Compared to UMAP, FeatureMAP-GEX better preserves cell density, while FeatureMAP-GVA clearly delineates developmental paths.

<!-- ![Bifurcation Embedding](./docs/figures/bifurcation_embedding.png) -->

   <img src="./docs/figures/bifurcation_embedding.png" alt="Transition and Core States"/>



Besides the two-dimensional visualization, FeatureMAP presents three key concepts:

1. **Gene Projection**: Estimating and projecting gene feature loadings, where arrows indicate the direction and magnitude of gene expression changes.
    ![Gene Projection](./docs/figures/gene_contribution.png)

   
2. **Transition and Core States**: Transition and core states are computationally defined based on cell density, curvature, and betweenness centrality. Transition states are characterized by the lowest cell densities, maximal curvature, and highest betweenness centrality, whereas core states exhibit the highest cell densities, minimal curvature, and lowest betweenness centrality.
    <!-- ![Core and Transition States](./docs/figures/core_trans_states.png) -->

    <img src="./docs/figures/core_trans_states.png" alt="Transition and Core States" width="220" height="200"/>


3. **Differential Gene Variation (DGV) Analysis**: The third concept introduces differential gene variation (**DGV**) analysis, which compares transition and core states to identify genes with significant variability. By quantifying gene variation between dynamic transition states and stable core states, DGV highlights regulatory genes likely driving cell-state transitions and differentiation.  
   
    <img src="./docs/figures/DGV.png" alt="DGV"/>


FeatureMAP, a feature-preserving method, enhances the visualization and interpretation of single-cell data. Through analyses of both synthetic and real scRNA-seq data ([TUTORIAL](https://featuremap.readthedocs.io/en/latest/index.html)), FeatureMAP effectively captures intricate clustering structures and identifies key regulatory genes, offering significant advantages for single-cell data analysis.

## Getting Started

### Dependencies

- Python 3.8 or higher
- Required Python libraries: numpy, scipy, matplotlib, umap-learn, scikit-learn
- Operating System: Any (Windows, macOS, Linux)

### Installation

Install directly using pip:

```bash
pip install featuremap
```

## How to use FeatureMAP

### Data Visualization
To apply FeatureMAP in Python with a data matrix (data), where rows represent cells and columns represent genes, use the following command:
```
import featuremap
v_emb = featuremap.FeatureMAP(output_variation=True).fit_transform(data_pca)
x_emb = featuremap.FeatureMAP(output_variation=False).fit_transform(data_pca)


```

#### Parameters:
output_variation: bool (False by default). Decide to generate expression embedding or variation embedding. 

#### Outputs
x_emb: expession embedding to show the clustering

v_emb: variation embedding to show the trajectory


## Documentation
More tutorials are at https://featuremap.readthedocs.io/en/latest/index.html.

## Citation
Our FeatureMAP alogrithm is based on the paper

Yang, Yang, et al. "Interpretable Dimensionality Reduction by Feature Preserving Manifold Approximation and Projection." arXiv preprint arXiv:2211.09321 (2022).

## License
The FeatureMAP package is under BSD-3-Clause license.


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/YYT1002/FeatureMAP",
    "name": "featuremap",
    "maintainer": "Yang Yang",
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": "yangyangnwpu@gmail.com",
    "keywords": "dimensionality reduction, manifold learning, tangent space embedding",
    "author": null,
    "author_email": "Test <yangyangnwpu@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/2a/5e/c73b2f99a5fe6519346b48181ebcc49cfeab5d06134dc0f2f5f214b34bec/featuremap-0.0.1.tar.gz",
    "platform": null,
    "description": "![FeatureMAP Illustration](./docs/figures/featureMAP.png)\n\n# FeatureMAP: Feature-preserving Manifold Approximation and Projection\n\nVisualizing single-cell data is essential for understanding cellular heterogeneity and dynamics. **FeatureMAP** enhances this process by introducing **gene projection** and **transition/core states**, providing deeper insights into cellular states. While traditional methods like UMAP and t-SNE effectively capture clustering, they often overlook critical gene-level information. FeatureMAP addresses this limitation by integrating concepts from UMAP and PCA, preserving both clustering structures and gene feature variations within a low-dimensional space.\n\n## Description\n\nFeatureMAP presents a novel approach by enhancing manifold learning with pairwise tangent space embedding, ensuring the retention of crucial cellular data features. It introduces two visualization plots: expression embedding (GEX) and variation embedding (GVA).\n\nHere, we demonstrate its effectiveness using a synthetic dataset from ([BEELINE](https://github.com/Murali-group/Beeline)) based on a bifurcation model. Compared to UMAP, FeatureMAP-GEX better preserves cell density, while FeatureMAP-GVA clearly delineates developmental paths.\n\n<!-- ![Bifurcation Embedding](./docs/figures/bifurcation_embedding.png) -->\n\n   <img src=\"./docs/figures/bifurcation_embedding.png\" alt=\"Transition and Core States\"/>\n\n\n\nBesides the two-dimensional visualization, FeatureMAP presents three key concepts:\n\n1. **Gene Projection**: Estimating and projecting gene feature loadings, where arrows indicate the direction and magnitude of gene expression changes.\n    ![Gene Projection](./docs/figures/gene_contribution.png)\n\n   \n2. **Transition and Core States**: Transition and core states are computationally defined based on cell density, curvature, and betweenness centrality. Transition states are characterized by the lowest cell densities, maximal curvature, and highest betweenness centrality, whereas core states exhibit the highest cell densities, minimal curvature, and lowest betweenness centrality.\n    <!-- ![Core and Transition States](./docs/figures/core_trans_states.png) -->\n\n    <img src=\"./docs/figures/core_trans_states.png\" alt=\"Transition and Core States\" width=\"220\" height=\"200\"/>\n\n\n3. **Differential Gene Variation (DGV) Analysis**: The third concept introduces differential gene variation (**DGV**) analysis, which compares transition and core states to identify genes with significant variability. By quantifying gene variation between dynamic transition states and stable core states, DGV highlights regulatory genes likely driving cell-state transitions and differentiation.  \n   \n    <img src=\"./docs/figures/DGV.png\" alt=\"DGV\"/>\n\n\nFeatureMAP, a feature-preserving method, enhances the visualization and interpretation of single-cell data. Through analyses of both synthetic and real scRNA-seq data ([TUTORIAL](https://featuremap.readthedocs.io/en/latest/index.html)), FeatureMAP effectively captures intricate clustering structures and identifies key regulatory genes, offering significant advantages for single-cell data analysis.\n\n## Getting Started\n\n### Dependencies\n\n- Python 3.8 or higher\n- Required Python libraries: numpy, scipy, matplotlib, umap-learn, scikit-learn\n- Operating System: Any (Windows, macOS, Linux)\n\n### Installation\n\nInstall directly using pip:\n\n```bash\npip install featuremap\n```\n\n## How to use FeatureMAP\n\n### Data Visualization\nTo apply FeatureMAP in Python with a data matrix (data), where rows represent cells and columns represent genes, use the following command:\n```\nimport featuremap\nv_emb = featuremap.FeatureMAP(output_variation=True).fit_transform(data_pca)\nx_emb = featuremap.FeatureMAP(output_variation=False).fit_transform(data_pca)\n\n\n```\n\n#### Parameters:\noutput_variation: bool (False by default). Decide to generate expression embedding or variation embedding. \n\n#### Outputs\nx_emb: expession embedding to show the clustering\n\nv_emb: variation embedding to show the trajectory\n\n\n## Documentation\nMore tutorials are at https://featuremap.readthedocs.io/en/latest/index.html.\n\n## Citation\nOur FeatureMAP alogrithm is based on the paper\n\nYang, Yang, et al. \"Interpretable Dimensionality Reduction by Feature Preserving Manifold Approximation and Projection.\" arXiv preprint arXiv:2211.09321 (2022).\n\n## License\nThe FeatureMAP package is under BSD-3-Clause license.\n\n",
    "bugtrack_url": null,
    "license": "GPL",
    "summary": "FeatureMAP",
    "version": "0.0.1",
    "project_urls": {
        "Homepage": "https://github.com/YYT1002/FeatureMAP"
    },
    "split_keywords": [
        "dimensionality reduction",
        " manifold learning",
        " tangent space embedding"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "68f960ff4187c4e5004ec58a26f3f2aa3aef66cc7d7aea7a05b7385d5b10b912",
                "md5": "35e0e1c6cb0c9ac4bcfb36da34491a14",
                "sha256": "fa03c6b75f914481b8c5d0768f0b35e271c32d440cbe7292b418ea1138dd2679"
            },
            "downloads": -1,
            "filename": "featuremap-0.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "35e0e1c6cb0c9ac4bcfb36da34491a14",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 56693,
            "upload_time": "2025-02-11T04:51:05",
            "upload_time_iso_8601": "2025-02-11T04:51:05.710794Z",
            "url": "https://files.pythonhosted.org/packages/68/f9/60ff4187c4e5004ec58a26f3f2aa3aef66cc7d7aea7a05b7385d5b10b912/featuremap-0.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2a5ec73b2f99a5fe6519346b48181ebcc49cfeab5d06134dc0f2f5f214b34bec",
                "md5": "fbf14e7a041d18f29bba21753dde2468",
                "sha256": "39fe9866869fd97ad2e26721c33b02d2ed4c8389d875714fefe222b18dfccad7"
            },
            "downloads": -1,
            "filename": "featuremap-0.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "fbf14e7a041d18f29bba21753dde2468",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 57451,
            "upload_time": "2025-02-11T04:51:07",
            "upload_time_iso_8601": "2025-02-11T04:51:07.935504Z",
            "url": "https://files.pythonhosted.org/packages/2a/5e/c73b2f99a5fe6519346b48181ebcc49cfeab5d06134dc0f2f5f214b34bec/featuremap-0.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-11 04:51:07",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "YYT1002",
    "github_project": "FeatureMAP",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "featuremap"
}
        
Elapsed time: 0.44734s