Giter Club home page Giter Club logo

scnode's Introduction

scNODE: Generative Model for Temporal Single Cell Transcriptomic Data Prediction

scNODE is a generative model that simulates and predicts realistic in silico single-cell gene expressions at any timepoint. scNODE integrates the idea of variational autoencoder (VAE) and neural ordinary differential equation (ODE) to model cell developmental landscapes on the non-linear manifold. scNODE is scalable to large-scale datasets. (bioRxiv preprint)

scNODE model overview

If you have questions or find any problems with our codes, feel free to submit issues or send emails to [email protected] or other corresponding authors.

(04/15/2024 updates) We have revised the codes to align with the updated paper.

Requirements

Our codes have been tested in Python 3.7. Required packages are listed in ./installation.

Data

  • Raw and preprocessed data of three scRNA-seq datasets can be downloaded from here.
  • All model predictions on three datasets are available at here.
  • Experiment results for downstream analysis are available at here.
  • Other experimental results, including evaluation metrics, ablation study, and investigation of hyperparameter settings can be downloaded from here.

Models

scNODE is implemented in ./model/dynamic_model.py. We also provide codes of baseline models in ./baseline.

Example Usage

An example of using scNODE is shown in ./benchmark/1_SingleCell_scNODE.py.

Repository Structure

  • data: Scripts for data preprocessing. Some scripts are implemented in R and need installation of Seurat.
  • model: Implementation of scNODE model.
  • optim: Loss computations and evaluation metrics.
  • baseline: Implementation of baseline models.
  • benchmark: Run each model on six scRNA-seq datasets and make predictions. Test scNODE performance with different settings.
  • downstream_analysis: Use scNODE for perturbation analysis and help recover smooth trajectories.
  • model_validation: Ablation study and investigation of hyperparameter settings.
  • plotting: Prediction visualization. Compare model predictions.
  • paper_figs: Figure plotting for the bioRxiv preprint.

Bugs & Suggestions

Please report any bugs, problems, suggestions, or requests as a Github issue

scnode's People

Contributors

jqz-brown avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

shunsunsun

scnode's Issues

Definition of loss in pre-train phase

Hi, thanks for your great work. I'm just wondering if there is misalignment between the definition of loss in pre-train phase (here) and the Equation 2 in the manuscript? I think there should be a KL loss that author missed. Currently, MSE loss is used only.

installing the package

Hi! I would like to try the package, do you have some documentation to install scNode to work with the package out of the repo thank you!

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.