Learn R Programming

⚠️There's a newer version (1.0.5) of this package.Take me there.

dyngen

dyngen is a novel, multi-modal simulation engine for studying dynamic cellular processes at single-cell resolution. dyngen is more flexible than current single-cell simulation engines, and allows better method development and benchmarking, thereby stimulating development and testing of novel computational methods.

A preprint is available on bioRxiv. Run citation("dyngen") to obtain the corresponding citation information. All source code for reproducing the results in this manuscript are available on GitHub.

System requirements

This package is supported for Linux, but should also work on Mac OS X and Windows. It has been tested with Github Actions for R 3.5, 3.6 and 4.0 on the following systems:

  • Mac OS X: Catalina (10.15.5)
  • Linux: Ubuntu Xenial (16.04.6)
  • Windows: Windows Server 2019 (10.0.17763)

Installation

You can install dyngen by running the following command. This should take no more than 10 minutes to install.

install.packages("remotes")
remotes::install_github("dynverse/dyngen", dependencies = TRUE)

To build the vignettes upon installation, run the following command instead. This might take a while depending on on the computer this is run on (30 ~ 60 min).

remotes::install_github("dynverse/dyngen", dependencies = TRUE, build_vignettes = TRUE)

Vignettes

To learn about how dyngen, check out the example vignette below. Expected execution time for rerunning the code is about 5 minutes.

  • Getting started:
    vignette("getting_started", package="dyngen")
  • Showcase different backbones:
    vignette("showcase_backbones", package="dyngen")

Getting started with Docker

To run dyngen in a docker container, run the following command.

docker run --rm -p 127.0.0.1:8787:8787 -e DISABLE_AUTH=true -v `pwd`:/home/rstudio/workdir dynverse/dyngen

More information on running and building the docker container is available here.

Latest changes

Check out news(package = "dyngen") or NEWS.md for a full list of changes.

Recent changes in dyngen 0.4.0 (2020-07-15)

MAJOR CHANGES:

  • wrap_dataset(): Outputted $counts now contains counts of both spliced and unspliced reads, whereas $counts_unspliced and $counts_spliced contains separated counts.

  • Added a docker container containing the necessary code to run a dyngen simulation.

MINOR CHANGES:

  • Added logo to package.

  • Clean up internal code, mostly to satisfy R CMD check.

DOCUMENTATION:

  • Added two vignettes.

  • Expanded the README.

Recent changes in dyngen 0.3.0 (2020-04-06)

NEW FEATURES:

  • Implement knockdown / knockouts / overexpression experiments.

  • Implement better single-cell regulatory activity by determining the effect on propensity values after knocking out a transcription factor.

  • Implement adding noise to the kinetic params of individual simulations.

  • Kinetics (transcription rate, translation rate, decay rate, …) are based on Schwannhausser et al. 2011.

  • Changed many parameter names to better explain its purpose.

MINOR CHANGES:

  • Fix module naming of backbones derived from backbone_branching().

  • Allow to plot labels in plot_simulation_expression().

  • Improve backbone_disconnected() and backbone_converging().

  • Rename required columns in backbone() input data.

  • Use backbone_linear() to make backbone_cyclic() randomised.

  • Added a decay rate for pre-mRNAs as well.

  • Kinetics: redefine the decay rates in terms of the half-life of these molecules.

  • Only compute dimred if desired.

  • Allow computing the propensity ratios as ground-truth for rna velocity.

BUG FIXES:

  • Implement fix for double positives in bblego backbones.

  • Fix graph plotting mixup of interaction effects (up/down).

  • Made a fix to the computation of feature_info$max_protein.

Copy Link

Version

Install

install.packages('dyngen')

Monthly Downloads

298

Version

0.4.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Robrecht Cannoodt

Last Published

September 10th, 2020

Functions in dyngen (0.4.0)

generate_cells

Simulate the cells
generate_dataset

Generate a dataset
bblego

Design your own custom backbone easily
generate_experiment

Sample cells from the simulations
list_backbones

List of all predefined backbone models
generate_feature_network

Generate a target network
backbone

Backbone of the simulation model
example_model

A (very!) small toy dyngen model
generate_gold_standard

Simulate the gold standard
dyngen

dyngen: A multi-modal simulator for spearheading single-cell omics analyses
realcounts

A set of real single cell expression datasets
realnets

A set of gold standard gene regulatory networks
reexports

Objects exported from other packages
rnorm_bounded

A bounded version of rnorm
plot_gold_mappings

Visualise the mapping of the simulations to the gold standard
plot_gold_simulations

Visualise the simulations using the dimred
plot_gold_expression

Visualise the expression of the gold standard over simulation time
plot_simulations

Visualise the simulations using the dimred
plot_feature_network

Visualise the feature network of a model
plot_simulation_expression

Visualise the expression of the simulations over simulation time
generate_kinetics

Determine the kinetics of the feature network
plot_backbone_modulenet

Visualise the backbone of a model
simtime_from_backbone

Determine simulation time from backbone
wrap_dataset

Wrap a simulation into a dynwrap object
generate_tf_network

Generate a transcription factor network from the backbone
plot_backbone_statenet

Visualise the backbone state network of a model
initialise_model

Initial settings for simulating a dyngen dataset
kinetics_noise_none

Add small noise to the kinetics of each simulation