Skip to main content

scanpy compatible python suite for fast tree inference and advanced pseudotime downstream analysis

Project description

PyPI Documentation Status CircleCI TravisCI codecov GitHub license Code style: black

Description

This package provides a scalable Python suite for fast tree inference and advanced pseudotime downstream analysis, with a focus on fate biasing. This package is compatible with anndata object format used in scanpy or scvelo pipelines. A complete documentation of this package is available here.

Tree inference algorithms

The user have the choice between two algorithm for tree inference:

ElPiGraph

For scTree, the python implementation of the ElPiGraph algorithm is used, which include GPU accelerated principal tree inference. A self-contained description of the algorithm is available here or in the related paper

A R implementation of this algorithm is also available, coded by Luca Albergante

A native MATLAB implementation of the algorithm (coded by Andrei Zinovyev and Evgeny Mirkes) is also available

Simple PPT

A simple PPT inspired approach, translated from the crestree R package, code has been also adapted to run on GPU for accelerated tree inference.

Citations

Code for PPT inference and most of downstream pseudotime analysis was initially written in a R package by Ruslan Soldatov for the following paper:

Soldatov, R., Kaucka, M., Kastriti, M. E., Petersen, J., Chontorotzea, T., Englmaier, L., … Adameyko, I. (2019). Spatiotemporal structure of cell fate decisions in murine neural crest. Science, 364(6444).

if you are using ElPiGraph, please cite :

Albergante, L., Mirkes, E. M., Chen, H., Martin, A., Faure, L., Barillot, E., … Zinovyev, A. (2020). Robust And Scalable Learning Of Complex Dataset Topologies Via Elpigraph. Entropy, 22(3), 296.

Installation

scFates 0.2 is now available on pypi, you can install it using:

pip install scFates

or the latest development version can be installed from GitHub:

pip install git+https://github.com/LouisFaure/scFates

Python dependencies

scFates gives the choice of between SimplePPT and ElPiGraph for learning a principal graph from the data. Elpigraph needs to be installed from its github repository with the following command:

pip install git+https://github.com/j-bac/elpigraph-python.git

R dependencies

scFates rely on the R package mgcv to perform testing and fitting of the features on the peudotime tree. Package is installed in an R session with the following command:

install.packages('mgcv')

GPU dependencies (optional)

If you have a nvidia GPU, scFates can leverage CUDA computations for speedups in some functions, for that you will need Rapids 0.17 installed.

Docker container

scFates can be run on a Docker container based on Rapids 0.17 container, which provide a gpu enabled environment with Jupyter Lab. Use the following command:

docker run --rm -it --gpus all -p 8888:8888 -p 8787:8787 -p 8786:8786 \
    louisfaure/scfates:version-0.2

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

scFates-0.2.0.tar.gz (32.9 MB view details)

Uploaded Source

Built Distribution

scFates-0.2.0-py3-none-any.whl (25.1 MB view details)

Uploaded Python 3

File details

Details for the file scFates-0.2.0.tar.gz.

File metadata

  • Download URL: scFates-0.2.0.tar.gz
  • Upload date:
  • Size: 32.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0.post20201006 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.3

File hashes

Hashes for scFates-0.2.0.tar.gz
Algorithm Hash digest
SHA256 b81fde3ee9c9250836ca7037cba2a026d6484910949b5ba9c2ed2d4586fd28ca
MD5 33da19ad95274f2ffb1414f904a4c576
BLAKE2b-256 df68d9a1a569fefcf04a1675bbd84d1a4c1de8d6ea75b7ac3a495f8812c48cff

See more details on using hashes here.

File details

Details for the file scFates-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: scFates-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 25.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0.post20201006 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.3

File hashes

Hashes for scFates-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c510a025e857da397c6699f2520ac885abd7f3c7353552500157673377a4e159
MD5 85c4522e840c770121b87d35889ea837
BLAKE2b-256 c803e6d43ebff092f8c1042ad9c4c84c3a2fd2a74d50119417207638fa7a77b2

See more details on using hashes here.

Supported by

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