# HopfieldModel
**Author**: Ashish Phal
**BIOEN537: Computational Systems Biology. University of Washington, Seattle.**
A Python package designed to model single-cell data using Hopfield networks, enabling energy-based analysis of cellular transitions.
**License**: MIT
**Current version**: 1.0.0
**Last updated**: 2024-12-10
## Background
Understanding cellular differentiation and transitions is crucial in developmental biology and regenerative medicine. Hopfield networks provide a framework for modeling these processes by representing gene expression states as memory patterns and computing energy landscapes that describe transitions between cell states.
The `HopfieldModel` package facilitates these analyses with tools to normalize gene expression data, select highly variable genes, compute cell-specific Hopfield energy, and visualize cellular transitions. The package is intended for researchers and students working with single-cell RNA sequencing data, offering a streamlined and accessible approach to study cell states and transitions.
---
## Installation
### **Package Dependencies**
This package requires Python 3.7 or higher and the following Python packages:
- `numpy`: Numerical computing
- `matplotlib`: Data visualization
- `scikit-learn`: Machine learning and PCA analysis
- `scanpy`: Single-cell analysis
- `seaborn`: Statistical data visualization
- `scipy`: Scientific computing
These dependencies will be automatically installed when you install the package using pip.
### **Installing the Package**
To install the package, run the following command:
```bash
pip install HopfieldModel
```
## Example Visualizations
### 1. Transition Energy Plot
This plot shows the transition of cells between two specified types along PC1, with their Hopfield energy.

---
### 2. PCA Visualization
Cells are projected into PCA space, with each point colored by its Hopfield energy. Different colors represent distinct cell types.

---
### 3. Gene Transition Matrix
This heatmap displays the gene state changes between two cell types, clustered hierarchically. The clustering highlights key genes involved in the transition.

---
### 4. Hopfield Energy Boxplot
This boxplot shows the distribution of Hopfield energy across different cell types, enabling a comparison of differentiation potency.

Raw data
{
"_id": null,
"home_page": null,
"name": "HopfieldModel",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "hopfield, network, single-cell, bioinformatics",
"author": null,
"author_email": "Ashish Phal <aphal@uw.edu>",
"download_url": "https://files.pythonhosted.org/packages/9e/9d/0dcd523bc3d6cb02a3eba80735a1c1fa871778cc69043955200e3ac41e55/hopfieldmodel-1.0.1.tar.gz",
"platform": null,
"description": "# HopfieldModel\n\n**Author**: Ashish Phal\n\n**BIOEN537: Computational Systems Biology. University of Washington, Seattle.**\n\nA Python package designed to model single-cell data using Hopfield networks, enabling energy-based analysis of cellular transitions.\n\n**License**: MIT \n**Current version**: 1.0.0 \n**Last updated**: 2024-12-10 \n\n## Background\n\nUnderstanding cellular differentiation and transitions is crucial in developmental biology and regenerative medicine. Hopfield networks provide a framework for modeling these processes by representing gene expression states as memory patterns and computing energy landscapes that describe transitions between cell states.\n\nThe `HopfieldModel` package facilitates these analyses with tools to normalize gene expression data, select highly variable genes, compute cell-specific Hopfield energy, and visualize cellular transitions. The package is intended for researchers and students working with single-cell RNA sequencing data, offering a streamlined and accessible approach to study cell states and transitions.\n\n---\n\n## Installation\n\n### **Package Dependencies**\n\nThis package requires Python 3.7 or higher and the following Python packages:\n- `numpy`: Numerical computing\n- `matplotlib`: Data visualization\n- `scikit-learn`: Machine learning and PCA analysis\n- `scanpy`: Single-cell analysis\n- `seaborn`: Statistical data visualization\n- `scipy`: Scientific computing\n\nThese dependencies will be automatically installed when you install the package using pip.\n\n### **Installing the Package**\n\nTo install the package, run the following command:\n\n```bash\npip install HopfieldModel\n```\n\n## Example Visualizations\n\n### 1. Transition Energy Plot\nThis plot shows the transition of cells between two specified types along PC1, with their Hopfield energy.\n\n\n\n---\n\n### 2. PCA Visualization\nCells are projected into PCA space, with each point colored by its Hopfield energy. Different colors represent distinct cell types.\n\n\n\n---\n\n### 3. Gene Transition Matrix\nThis heatmap displays the gene state changes between two cell types, clustered hierarchically. The clustering highlights key genes involved in the transition.\n\n\n\n---\n\n### 4. Hopfield Energy Boxplot\nThis boxplot shows the distribution of Hopfield energy across different cell types, enabling a comparison of differentiation potency.\n\n\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A Python package to model single-cell data using Hopfield networks",
"version": "1.0.1",
"project_urls": {
"homepage": "https://github.com/ashx56/scHopfield"
},
"split_keywords": [
"hopfield",
" network",
" single-cell",
" bioinformatics"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "63e23db9ce468a7fc4020ecfc033e2fcfd35f9fc19a6ee141a84c7e29752446b",
"md5": "8947c91852980c65e0d763c173405349",
"sha256": "9676bdd47ea1defd8b947dde6f792114fb96e828a57208ccc328639793dc2ccb"
},
"downloads": -1,
"filename": "HopfieldModel-1.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8947c91852980c65e0d763c173405349",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 6663,
"upload_time": "2024-12-11T01:22:25",
"upload_time_iso_8601": "2024-12-11T01:22:25.756713Z",
"url": "https://files.pythonhosted.org/packages/63/e2/3db9ce468a7fc4020ecfc033e2fcfd35f9fc19a6ee141a84c7e29752446b/HopfieldModel-1.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9e9d0dcd523bc3d6cb02a3eba80735a1c1fa871778cc69043955200e3ac41e55",
"md5": "ff7d17e66edce758de88e54520a077ce",
"sha256": "bfdf4fa27556343e08c7a6aed03224acaef20f243f4f291b9441e31815603bb2"
},
"downloads": -1,
"filename": "hopfieldmodel-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "ff7d17e66edce758de88e54520a077ce",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 6774,
"upload_time": "2024-12-11T01:22:28",
"upload_time_iso_8601": "2024-12-11T01:22:28.463758Z",
"url": "https://files.pythonhosted.org/packages/9e/9d/0dcd523bc3d6cb02a3eba80735a1c1fa871778cc69043955200e3ac41e55/hopfieldmodel-1.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-11 01:22:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ashx56",
"github_project": "scHopfield",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "numpy",
"specs": []
},
{
"name": "matplotlib",
"specs": []
},
{
"name": "scikit-learn",
"specs": []
},
{
"name": "scanpy",
"specs": []
},
{
"name": "seaborn",
"specs": []
},
{
"name": "scipy",
"specs": []
}
],
"lcname": "hopfieldmodel"
}