Code Monkey home page Code Monkey logo

gwot's Introduction

gWOT: Global Waddington-OT

PyPI version Downloads Documentation Status

Principled trajectory inference for time-series data with limited samples by optimal transport.

Introduction

Global Waddington-OT (gWOT) is a trajectory inference method for time-series data based on optimal transport (OT). Given a time-series of snapshot data, gWOT aims to estimate trajectory information in the form of a probability distribution over possible trajectories taken by cells.

As an example, we illustrate below a ground truth process where cell trajectories are known exactly (green). From this, independent snapshots are sampled at various temporal instants, each with limited sample resolution (red). From these data, gWOT aims to reconstruct trajectories as a law on paths (blue).

Example sample path reconstruction

The underlying model assumption on which gWOT is based is that the generative process is a drift-diffusion process with branching, in which the evolution of any cell over an infinitesimal time is described by the stochastic differential equation (SDE)

Diffusion-drift SDE.

Cells in this process also divide and die at rates beta(x, t) and delta(x, t) respectively. Consider the setting where independent snapshots are sampled at many timepoints, but each individual snapshot may only contain partial information due to capturing only a few particles.

From this data (red) gWOT aims to estimate the underlying stochastic process in the form of a law on paths (blue).

Installation

To install, use pip install gwot.

Alternatively, clone this repository and cd gWOT && pip install .

Documentation

Read the documentation and also refer to the paper for mathematical details regarding the method and its implementation.

Example application 1: bistable landscape with branching

Open In Colab

This is a simple example tutorial covering basic application of gWOT to simulated data from a bistable (bifurcating) stochastic process where particles undergo branching (division).

Example application 2: reprogramming dataset (Schiebinger et al., 2019)

Open In Colab

Paper

This code accompanies the paper (arXiv link)

Lavenant, H., Zhang, S., Kim, Y., & Schiebinger, G. (2021). Towards a mathematical theory of trajectory inference.

gwot's People

Contributors

zsteve avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

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.