Skip to content

Python implementation of the Elastic Principal Graph algorithm with multi-cpu and gpu support

License

Notifications You must be signed in to change notification settings

sysbio-curie/ElPiGraph.P

 
 

Repository files navigation

Documentation Status Build Status Build status CircleCI codecov GitHub license Code style: black DOI:10.3390/e22030296

Description

This package provides a Python implementation of the ElPiGraph algorithm with cpu and gpu support. A self-contained description of the algorithm is available here or in the paper

It replicates the R implementation, coded by Luca Albergante and should return exactly the same results. Please open an issue if you do notice different output. Differences between the two versions are detailed in differences.md. This package extends initial work by Louis Faure and Alexis Martin.

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

Citation

When using this package, please cite our paper:

Albergante, L. et al . Robust and Scalable Learning of Complex Intrinsic Dataset Geometry via ElPiGraph (2020)

Requirements

This code was tested with Python 3.7.1, and requires the following packages:

  • pandas
  • scipy
  • numba
  • numpy
  • python-igraph
  • scikit-learn

In addition, to enable gpu support:

The requirements.txt file provides the versions this package has been tested with

Installation

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

or

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

About

Python implementation of the Elastic Principal Graph algorithm with multi-cpu and gpu support

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 90.2%
  • Jupyter Notebook 9.8%