Skip to main content

MAGIC

Project description

Latest PyPi version Latest CRAN version GitHub Actions Build Read the Docs Cell Publication DOI Twitter GitHub stars

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.

David van Dijk, et al. Recovering Gene Interactions from Single-Cell Data Using Data Diffusion. 2018. Cell.

For R and MATLAB implementations of MAGIC, see https://github.com/KrishnaswamyLab/MAGIC.

Magic reveals the interaction between Vimentin (VIM), Cadherin-1 (CDH1), and Zinc finger E-box-binding homeobox 1 (ZEB1, encoded by colors).

Magic reveals the interaction between Vimentin (VIM), Cadherin-1 (CDH1), and Zinc finger E-box-binding homeobox 1 (ZEB1, encoded by colors).

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

Example data

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)

Interactive command line

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

Help

If you have any questions or require assistance using MAGIC, please contact us at https://krishnaswamylab.org/get-help.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

magic-impute-3.0.0.tar.gz (17.1 kB view details)

Uploaded Source

Built Distribution

magic_impute-3.0.0-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

Details for the file magic-impute-3.0.0.tar.gz.

File metadata

  • Download URL: magic-impute-3.0.0.tar.gz
  • Upload date:
  • Size: 17.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for magic-impute-3.0.0.tar.gz
Algorithm Hash digest
SHA256 0c3f6d17baf586c412c174709a19164f04e693fd1933a8c0399ae5c5bf1cfd7a
MD5 29d58e2c7ee20ae4eecaf6b5e41b707f
BLAKE2b-256 f8ba2b7c79ad9a2adedd09337ed10ad3bea8915d160e8039137f197a080949fb

See more details on using hashes here.

File details

Details for the file magic_impute-3.0.0-py3-none-any.whl.

File metadata

  • Download URL: magic_impute-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 15.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for magic_impute-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9682a23ec970174bd9c0583c1c3fc7a5ed94898f03682a839c4c2f58eb332698
MD5 ae8b60e1e78d76fdad3bfa20eb6eba92
BLAKE2b-256 7503aa7f512ec227f333a1c3d0e57b375cf3e93ff7f14b1f8b117870c7f4c842

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page