• Stars
    star
    436
  • Rank 99,193 (Top 2 %)
  • Language
    Python
  • License
    GNU General Publi...
  • Created over 7 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

PHATE (Potential of Heat-diffusion for Affinity-based Transition Embedding) is a tool for visualizing high dimensional data.

PHATE - Visualizing Transitions and Structure for Biological Data Exploration

Latest PyPI version Latest Conda version Latest CRAN version Travis CI Build Read the Docs Nature Biotechnology Publication Twitter

Quick Start

If you would like to get started using PHATE, check out the following tutorials.

Introduction

PHATE (Potential of Heat-diffusion for Affinity-based Trajectory Embedding) is a tool for visualizing high dimensional data. PHATE uses a novel conceptual framework for learning and visualizing the manifold to preserve both local and global distances.

To see how PHATE can be applied to datasets such as facial images and single-cell data from human embryonic stem cells, check out our publication in Nature Biotechnology.

Moon, van Dijk, Wang, Gigante et al. Visualizing Transitions and Structure for Biological Data Exploration. 2019. Nature Biotechnology.

PHATE has been implemented in Python >=3.5, MATLAB and R.

Table of Contents

System Requirements

All other software dependencies are installed automatically when installing PHATE.

Python

Installation with pip

The Python version of PHATE can be installed by running the following from a terminal:

pip install --user phate

Installation of PHATE and all dependencies should take no more than five minutes.

Installation from source

The Python version of PHATE can be installed from GitHub by running the following from a terminal:

git clone --recursive git://github.com/KrishnaswamyLab/PHATE.git
cd PHATE/Python
python setup.py install --user

Quick Start

If you have loaded a data matrix data in Python (cells on rows, genes on columns) you can run PHATE as follows:

import phate
phate_op = phate.PHATE()
data_phate = phate_op.fit_transform(data)

PHATE accepts the following data types: numpy.array, scipy.spmatrix, pandas.DataFrame and anndata.AnnData.

Tutorial and Reference

For more information, read the documentation on ReadTheDocs or view our tutorials on GitHub: single-cell RNA-seq, artificial tree. You can also access interactive versions of these tutorials on Google Colaboratory: single-cell RNA-seq, artificial tree.

MATLAB

Installation

The MATLAB version of PHATE can be accessed by running the following from a terminal:

git clone --recursive git://github.com/KrishnaswamyLab/PHATE.git
cd PHATE/Matlab

Then, add the PHATE/Matlab directory to your MATLAB path.

Installation of PHATE should take no more than five minutes.

Tutorial and Reference

Run any of our run_* scripts to get a feel for PHATE. Documentation is available in the MATLAB help viewer.

R

In order to use PHATE in R, you must also install the Python package.

If python or pip are not installed, you will need to install them. We recommend Miniconda3 to install Python and pip together, or otherwise you can install pip from https://pip.pypa.io/en/stable/installing/.

Installation from CRAN and PyPi

First install phate in Python by running the following code from a terminal:

pip install --user phate

Then, install phateR from CRAN by running the following code in R:

install.packages("phateR")

Installation of PHATE and all dependencies should take no more than five minutes.

Installation with devtools and reticulate

The development version of PHATE can be installed directly from R with devtools:

if (!suppressWarnings(require(devtools))) install.packages("devtools")
reticulate::py_install("phate", pip=TRUE)
devtools::install_github("KrishnaswamyLab/phateR")

Installation from source

The latest source version of PHATE can be accessed by running the following in a terminal:

git clone --recursive git://github.com/SmitaKrishnaswamy/PHATE.git
cd PHATE/Python
python setup.py install --user
cd ../phateR
R CMD INSTALL

If the phateR folder is empty, you have may forgotten to use the --recursive option for git clone. You can rectify this by running the following in a terminal:

cd PHATE
git submodule init
git submodule update
cd Python
python setup.py install --user
cd ../phateR
R CMD INSTALL

Quick Start

If you have loaded a data matrix data in R (cells on rows, genes on columns) you can run PHATE as follows:

library(phateR)
data_phate <- phate(data)

phateR accepts R matrices, Matrix sparse matrices, data.frames, and any other data type that can be converted to a matrix with the function as.matrix.

Tutorial and Reference

For more information and a tutorial, read the phateR README. Documentation is available at https://CRAN.R-project.org/package=phateR/phateR.pdf or in the R help viewer with help(phateR::phate). A tutorial notebook running PHATE on a single-cell RNA-seq dataset is available at http://htmlpreview.github.io/?https://github.com/KrishnaswamyLab/phateR/blob/master/inst/examples/bonemarrow_tutorial.html or in phateR/inst/examples.

Help

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

More Repositories

1

MAGIC

MAGIC (Markov Affinity-based Graph Imputation of Cells), is a method for imputing missing values restoring structure of large biological datasets.
Jupyter Notebook
330
star
2

SAUCIE

Python
98
star
3

TrajectoryNet

TrajectoryNet: A Dynamic Optimal Transport Network for Modeling Cellular Dynamics
Jupyter Notebook
94
star
4

SingleCellWorkshop

Jupyter Notebook
83
star
5

scprep

A collection of scripts and tools for loading, processing, and handling single cell data.
Python
73
star
6

phateR

PHATE dimensionality reduction method implemented in R
HTML
73
star
7

ReLSO-Guided-Generative-Protein-Design-using-Regularized-Transformers

a Transformer-based neural network for generating highly optimized protein sequences called Regularized Latent Space Optimization (RELSO)
Jupyter Notebook
71
star
8

Multiscale_PHATE

Creating multi-resolution embeddings and clusters from high dimensional data
Jupyter Notebook
47
star
9

travelgan

Python
46
star
10

graphtools

Tools for building and manipulating graphs in Python
Python
41
star
11

DiffusionEMD

Code corresponding to the paper Diffusion Earth Mover's Distance and Distribution Embeddings
Jupyter Notebook
27
star
12

AAnet

Archetypal Analysis network (AAnet)
Jupyter Notebook
23
star
13

TPHATE

Python
21
star
14

MAGAN

Python
17
star
15

MIOFlow

Jupyter Notebook
17
star
16

phemd

Identifying cell subpopulational differences among single-cell biospecimens
R
12
star
17

PECAN

PECAN: Persistent Condensation
Jupyter Notebook
9
star
18

SUGAR

Synthesis using Geometrically Aligned Random-walks
MATLAB
7
star
19

CATCH

Learning cellular hierarchy from scRNAseq data
Jupyter Notebook
7
star
20

GSAE

Code from 'Uncovering the Folding Landscape of RNA Secondary Structure with Deep Graph Embeddings"
Jupyter Notebook
7
star
21

HeatGeo

Embedding with the Heat-geodesic dissimilarity
Jupyter Notebook
6
star
22

visualization_selection

Selecting the right tool for the job: understanding drawbacks and biases in visualization methods
Jupyter Notebook
6
star
23

LearnableScattering

Learnable Geometric Scattering Network
Python
6
star
24

CUTS

[MICCAI 2024] CUTS: A Deep Learning and Topological Framework for Multigranular Unsupervised Medical Image Segmentation
Python
5
star
25

logicml

C
5
star
26

CurveNet

Diffusion curvature and Hessian prediction using point samples from quadratic hypersurfaces
MATLAB
5
star
27

Cell-Dynamics-Pipeline

Python
5
star
28

scgraph

Graph-based methods for the analysis of single-cell data
Python
5
star
29

ImageFlowNet

Python
5
star
30

GeoSinkhorn

Code for the paper Geodesic Sinkhorn for Fast and Accurate Optimal Transport on Manifolds.
Python
4
star
31

LAD

Lipschitz Anomaly Discriminator
Python
4
star
32

GSPA-manuscript-analyses

Learning meaningful representations of genes
Jupyter Notebook
4
star
33

Gene-Signal-Pattern-Analysis

Learning meaningful representations of genes
Jupyter Notebook
3
star
34

graph_fit

New ways of fitting a graph to vector data.
Jupyter Notebook
3
star
35

pointcloud_scattering

Python
3
star
36

NN-LossLandscape-PHATE

Exploring the Geometry and Topology of Neural Network Loss Landscapes
Python
2
star
37

scnn

Deep learning methods for the analysis of single-cell data
Python
2
star
38

Trellis

2
star
39

CSHL_ComputationalGenomics2022

2
star
40

scMMGAN

Python
2
star
41

RiTINI

Regulatory Temporal Interaction Network Inference
2
star
42

spARC

Denoising spatial transcriptomics data
Jupyter Notebook
2
star
43

GEFMAP

Jupyter Notebook
2
star
44

CSHL_ComputationalGenomics2023

2
star
45

krishnaswamy-lab-site

Svelte
1
star
46

phate-docker

Interactive command line docker script for running PHATE
Python
1
star
47

NSCLC_pembro_sbrt

Jupyter Notebook
1
star
48

GRASSY-Net

Python
1
star
49

NeuronTransform

Python
1
star
50

FMGAN

Python
1
star
51

Condensation

Diffusion Condensation is a topologically-inspired machine learning algorithm that is used to identify populations of cells across granularities.
Jupyter Notebook
1
star
52

Directed-Hierarchical-Gene-Networks

Python
1
star