GithubHelp home page GithubHelp logo

zsteve / grisli Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pcaubin/grisli

0.0 1.0 0.0 17.2 MB

GRISLI: Gene Regulation Inference for Single-cell with LInear differential equations and Peanian kernel velocities

Shell 0.07% C++ 43.48% Python 0.10% C 0.05% Objective-C 0.02% R 0.65% MATLAB 13.83% CSS 0.32% TeX 4.44% Makefile 0.04% HTML 36.98%

grisli's Introduction

GRISLI

Gene Regulation Inference for Single-cell with LInear differential equations and velocity inference

Abstract

Single-cell RNA sequencing (scRNA-seq) offers new possibilities to infer gene regulation networks (GRN) for biological processes involving a notion of time, such as cell differentiation or cell cycles. It also raises many challenges due to the destructive measurements inherent to the technology. In this work we propose a new method named GRISLI for de novo GRN inference from scRNA-seq data. GRISLI infers a velocity vector field in the space of scRNA-seq data from profiles of individual data, and models the dynamics of cell trajectories with a linear ordinary differential equation to reconstruct the underlying GRN with a sparse regression procedure. We show on real data that GRISLI outperforms a recently proposed state-of-the-art method for GRN reconstruction from scRNA-seq data.

Reference

Biorxiv link: https://www.biorxiv.org/content/10.1101/464479v1

doi: https://doi.org/10.1101/464479

Requirements

GRISLI is written in Matlab, it uses the SPAMS toolbox (http://spams-devel.gforge.inria.fr/) to solve the lasso problem. Therefore one may need to install the .mex files of SPAMS before using GRISLI (a spams-matlab-v2.6 folder is provided).

Two experimental scRNA-seq. datasets (373 and 758 cells) studied in GRISLI had previsouly been used in SCODE (Matsumoto et al., 2017) and can be found as well on https://github.com/hmatsu1226/SCODE The third experimental scRNA-seq. dataset (3,696 cells), introduced to compare velocity inference algorithms, comes from the tutorial of the scvelo method https://scvelo.readthedocs.io/index.html (github: https://github.com/theislab/scvelo).

GRISLI has been compared to SCODE (Matsumoto et al., 2017) and TIGRESS (Haury et al. 2012). The TIGRESS code can be found on http://members.cbio.mines-paristech.fr/~ahaury/svn/dream5/html/index.html while SCODE is on https://github.com/hmatsu1226/SCODE. SCODE is written in R. We call Rscript in Matlab and slightly modified the .r code of SCODE. Thus if ones wishes to test SCODE through the GRISLI code, it is required to install Rscript. See SCODE-master for the corresponding files. TIGRESS is written in Matlab. If ones wishes to test TIGRESS through the GRISLI code, please download TIGRESS-PKG-2.1 as a subfolder of GRISLI/.

Download

git clone https://github.com/PCAubin/GRISLI
cd GRISLI

Or download from the "Download ZIP" button and unzip it.

Running GRISLI

See demo_GRISLI_paper_results.m to reproduce our numerical experiments and compare them to TIGRESS, SCODE or your own methods. Various tables of results are provided in the AUROC_boxplots and AUROC_files. These results are used in demo_GRISLI_paper_results.m to plot the various curves of the article. If only one set of GRISLI parameters is tested, computation should take between 10s to 400s depending on the chosen R (typically chosen between 10 and 3000). Computation time also increases with larger L.

If you wish to use GRISLI on your own dataset in a de novo fashion, have a try at demo_GRISLI_denovo_analysis.m The result (Rnk_array_TIGRESS_area_L) is a list of matrices containing the edges ranked by their importance (from 1 (the first predicted) to GxG (the last predicted)). These ranks are used in demo_GRISLI_paper_results.m to compute ROC_scores if you have a reference matrix A under hand.

Pierre-Cyril Aubin-Frankowski, 31/10/2018

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.