Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/KrishnaswamyLab/MAGIC
MAGIC (Markov Affinity-based Graph Imputation of Cells), is a method for imputing missing values restoring structure of large biological datasets.
https://github.com/KrishnaswamyLab/MAGIC
Last synced: 23 days ago
JSON representation
MAGIC (Markov Affinity-based Graph Imputation of Cells), is a method for imputing missing values restoring structure of large biological datasets.
- Host: GitHub
- URL: https://github.com/KrishnaswamyLab/MAGIC
- Owner: KrishnaswamyLab
- License: gpl-2.0
- Created: 2016-08-01T21:35:39.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2022-10-22T08:15:36.000Z (over 1 year ago)
- Last Synced: 2024-05-14T18:19:11.828Z (about 2 months ago)
- Language: Jupyter Notebook
- Homepage:
- Size: 216 MB
- Stars: 318
- Watchers: 22
- Forks: 93
- Open Issues: 30
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Lists
- awesome_single_cell - MAGIC - [R, Python, MATLAB] - Markov Affinity-based Graph Imputation of Cells (MAGIC). A diffusion-based imputation method reveals gene-gene interactions in single-cell RNA-sequencing data. On [BioRviv](http://www.biorxiv.org/content/early/2017/02/25/111591) and [published in Cell](https://doi.org/10.1016/j.cell.2018.05.061). (Software packages / RNA-seq)
- awesome-single-cell - MAGIC - [R, Python, MATLAB] - Markov Affinity-based Graph Imputation of Cells (MAGIC). A diffusion-based imputation method reveals gene-gene interactions in single-cell RNA-sequencing data. On [BioRviv](http://www.biorxiv.org/content/early/2017/02/25/111591) and [published in Cell](https://doi.org/10.1016/j.cell.2018.05.061). (Software packages / Feature (Gene) imputation)
- awesome-single-cell - MAGIC - [R, Python, MATLAB] - Markov Affinity-based Graph Imputation of Cells (MAGIC). A diffusion-based imputation method reveals gene-gene interactions in single-cell RNA-sequencing data. On [BioRviv](http://www.biorxiv.org/content/early/2017/02/25/111591) and [published in Cell](https://doi.org/10.1016/j.cell.2018.05.061). (Software packages / RNA-seq)
README
Markov Affinity-based Graph Imputation of Cells (MAGIC)
-------------------------------------------------------[![Latest PyPI version](https://img.shields.io/pypi/v/magic-impute.svg)](https://pypi.org/project/magic-impute/)
[![Latest CRAN version](https://img.shields.io/cran/v/Rmagic.svg)](https://cran.r-project.org/package=Rmagic)
[![GitHub Actions Build](https://img.shields.io/github/workflow/status/KrishnaswamyLab/MAGIC/Unit%20Tests/master?label=Github%20Actions)](https://github.com/KrishnaswamyLab/MAGIC/actions)
[![Read the Docs](https://img.shields.io/readthedocs/magic.svg)](https://magic.readthedocs.io/)
[![Cell Publication DOI](https://zenodo.org/badge/DOI/10.1016/j.cell.2018.05.061.svg)](https://www.cell.com/cell/abstract/S0092-8674(18)30724-4)
[![Twitter](https://img.shields.io/twitter/follow/KrishnaswamyLab.svg?style=social&label=Follow)](https://twitter.com/KrishnaswamyLab)
[![Github Stars](https://img.shields.io/github/stars/KrishnaswamyLab/MAGIC.svg?style=social&label=Stars)](https://github.com/KrishnaswamyLab/MAGIC/)Markov Affinity-based Graph Imputation of Cells (MAGIC) is an algorithm for denoising high-dimensional data most commonly applied to single-cell RNA sequencing data. MAGIC learns the manifold data, using the resultant graph to smooth the features and restore the structure of the data.
To see how MAGIC can be applied to single-cell RNA-seq, elucidating the epithelial-to-mesenchymal transition, read our [publication in Cell](https://www.cell.com/cell/abstract/S0092-8674(18)30724-4).
[David van Dijk, et al. **Recovering Gene Interactions from Single-Cell Data Using Data Diffusion**. 2018. *Cell*.](https://www.cell.com/cell/abstract/S0092-8674(18)30724-4)
MAGIC has been implemented in Python, Matlab, and R.
#### To get started immediately, check out our tutorials:
##### Python
* [Epithelial-to-Mesenchymal Transition Tutorial](http://nbviewer.jupyter.org/github/KrishnaswamyLab/MAGIC/blob/master/python/tutorial_notebooks/emt_tutorial.ipynb)
* [Bone Marrow Tutorial](http://nbviewer.jupyter.org/github/KrishnaswamyLab/MAGIC/blob/master/python/tutorial_notebooks/bonemarrow_tutorial.ipynb)
##### R
* [Epithelial-to-Mesenchymal Transition Tutorial](http://htmlpreview.github.io/?https://github.com/KrishnaswamyLab/MAGIC/blob/master/Rmagic/inst/examples/emt_tutorial.html)
* [Bone Marrow Tutorial](http://htmlpreview.github.io/?https://github.com/KrishnaswamyLab/MAGIC/blob/master/Rmagic/inst/examples/bonemarrow_tutorial.html)
![]()
Magic reveals the interaction between Vimentin (VIM), Cadherin-1 (CDH1), and Zinc finger E-box-binding homeobox 1 (ZEB1, encoded by colors).
### Table of Contents
* [Python](#python)
* [Installation](#installation)
* [Installation with pip](#installation-with-pip)
* [Installation from GitHub](#installation-from-github)
* [Usage](#usage)
* [Quick Start](#quick-start)
* [Tutorials](#tutorials)
* [Matlab](#matlab)
* [Instructions for the Matlab version](#instructions-for-the-matlab-version)
* [R](#r)
* [Installation](#installation-1)
* [Installation from CRAN](#installation-from-cran)
* [Installation from GitHub](#installation-from-github-1)
* [Usage](#usage-1)
* [Quick Start](#quick-start-1)
* [Tutorials](#tutorials-1)
* [Help](#help)## Python
### Installation
#### Installation with pip
To install with `pip`, run the following from a terminal:
pip install --user magic-impute
#### Installation from GitHub
To clone the repository and install manually, run the following from a terminal:
git clone git://github.com/KrishnaswamyLab/MAGIC.git
cd MAGIC/python
python setup.py install --user### Usage
#### Quick Start
The following code runs MAGIC on test data located in the MAGIC repository.
import magic
import pandas as pd
import matplotlib.pyplot as plt
X = pd.read_csv("MAGIC/data/test_data.csv")
magic_operator = magic.MAGIC()
X_magic = magic_operator.fit_transform(X, genes=['VIM', 'CDH1', 'ZEB1'])
plt.scatter(X_magic['VIM'], X_magic['CDH1'], c=X_magic['ZEB1'], s=1, cmap='inferno')
plt.show()
magic.plot.animate_magic(X, gene_x='VIM', gene_y='CDH1', gene_color='ZEB1', operator=magic_operator)#### Tutorials
You can read the MAGIC documentation at https://magic.readthedocs.io/. We have included two tutorial notebooks on MAGIC usage and results visualization for single cell RNA-seq data.
EMT data notebook: http://nbviewer.jupyter.org/github/KrishnaswamyLab/MAGIC/blob/master/python/tutorial_notebooks/emt_tutorial.ipynb
Bone Marrow data notebook: http://nbviewer.jupyter.org/github/KrishnaswamyLab/MAGIC/blob/master/python/tutorial_notebooks/bonemarrow_tutorial.ipynb
## Matlab
### Instructions for the Matlab version
1. run_magic.m -- MAGIC imputation function
2. test_magic.m -- Shows how to run MAGIC. Also included is a function for loading 10x format data (load_10x.m)## R
### Installation
To use MAGIC, you will need to install both the R and Python packages.
If `python` or `pip` are not installed, you will need to install them. We recommend
[Miniconda3](https://conda.io/miniconda.html) to install Python and `pip` together,
or otherwise you can install `pip` from https://pip.pypa.io/en/stable/installing/.#### Installation from CRAN
In R, run this command to install MAGIC and all dependencies:
install.packages("Rmagic")
In a terminal, run the following command to install the Python
repository.pip install --user magic-impute
#### Installation from GitHub
To clone the repository and install manually, run the following from a terminal:
git clone git://github.com/KrishnaswamyLab/MAGIC.git
cd MAGIC/python
python setup.py install --user
cd ../Rmagic
R CMD INSTALL .### Usage
#### Quick Start
After installing the package, MAGIC can be run by loading the library and calling `magic()`:
library(Rmagic)
library(ggplot2)
data(magic_testdata)
MAGIC_data <- magic(magic_testdata, genes=c("VIM", "CDH1", "ZEB1"))
ggplot(MAGIC_data) +
geom_point(aes(x=VIM, y=CDH1, color=ZEB1))#### Tutorials
You can read the MAGIC tutorial by running `help(Rmagic::magic)`. For a working example, see the Rmarkdown tutorials at and or in `Rmagic/inst/examples`.
## Help
If you have any questions or require assistance using MAGIC, please contact us at .