Giter VIP home page Giter VIP logo

deepvelo's Introduction

DeepVelo

Single-cell Transcriptomic Deep Velocity Field Learning with Neural Ordinary Differential Equations

Note

This is currently an updating repository. We are currently working on packaging the scripts into a Python package. For publication purposes, we have temporarily deposited the raw notebooks used for the analysis here.

Abstract

Recent advances in single-cell RNA sequencing technology provided unprecedented opportunities to simultaneously measure the gene expression profile and the transcriptional velocity of individual cells, enabling us to sample gene regulatory network dynamics along developmental trajectories. However, traditional methods have been challenged in offering a fundamental and quantitative explanation of the dynamics as differential equations due to the high dimensionality, sparsity, and complex gene interactions. Here, we present DeepVelo, a neural-network-based ordinary differential equation that can learn to model non-linear, high-dimensional single-cell transcriptome dynamics and describe gene expression changes of individual cells across time. We applied DeepVelo on multiple published datasets from different technical platforms and demonstrate its utility to 1) formulate transcriptome dynamics of different timescales; 2) measure the instability of individual cell states; and 3) identify developmental driver genes upstream of the signaling cascade. Benchmarking with state-of-the-art methods shows that DeepVelo can improve velocity field representation accuracy by at least 50% in out-of-sample cells. Further, our perturbation studies revealed that single-cell dynamical systems may exhibit properties similar to chaotic systems. In summary, DeepVelo allows for the data-driven discovery of differential equations that delineate single-cell transcriptome dynamics.

Dependencies

The python packages needed for the analysis are in the requirement.txt file. They can be installed by executing:

cat requirements.txt | xargs -n 1 pip install

Original Paper

https://www.biorxiv.org/content/10.1101/2022.02.15.480564v2

deepvelo's People

Contributors

flynn-chen avatar

Stargazers

 avatar  avatar Huan Yang avatar  avatar Jasim K.B. avatar Noam Teyssier avatar Trickovic Matija avatar  avatar Hanchen avatar Martin A. Villanueva avatar Thomas Wood avatar  avatar fred monroe avatar Jamshaid Shahir avatar

Watchers

 avatar James Cloos avatar  avatar  avatar  avatar Joel Rozowsky avatar  avatar  avatar Mihali Felipe avatar  avatar  avatar  avatar  avatar  avatar Jiahao Gao avatar  avatar Jamshaid Shahir avatar Alec Plotkin avatar  avatar

Forkers

baschdl

deepvelo's Issues

ModuleNotFoundError: No module named 'dgl.contrib'

Hi, I'm having trouble importing deepvelo even after installing a CUDA-specific version of dgl. Error message and version info below. Thanks in advance for looking into this!

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
Cell In[1], line 1
----> 1 import deepvelo as dv

File ~/.local/lib/python3.8/site-packages/deepvelo/__init__.py:1
----> 1 from .train import *

File ~/.local/lib/python3.8/site-packages/deepvelo/train.py:9
      6 from deepvelo.trainer import Trainer
      7 from scvelo import logging as logg
----> 9 import deepvelo.data_loader.data_loaders as module_data
     10 import deepvelo.model.loss as module_loss
     11 import deepvelo.model.metric as module_metric

File ~/.local/lib/python3.8/site-packages/deepvelo/data_loader/data_loaders.py:9
      7 import dgl
      8 import hnswlib
----> 9 from dgl.contrib.sampling import NeighborSampler
     10 from torch.utils.data import Dataset
     11 from sklearn.metrics import pairwise_distances

ModuleNotFoundError: No module named 'dgl.contrib'
dgl==1.0.0+cu113
deepvelo==0.2.4

System info

DISTRIB_DESCRIPTION="Ubuntu 20.04.5 LTS"
5.15.79.1-microsoft-standard-WSL2

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.