Skip to main content

A package for inference and simulation of gene regulatory networks

Reason this release was yanked:

obsolete

Project description

CARDAMOM

CARDAMOM is an executable Gene Regulatory Network (GRN) inference method, adapted for timestamped scRNA-seq dataset. The algorithm consists in fitting the parameters of a mechanistic model of gene expression: the simulation of the model, once calibrated, allows to reproduce the dataset used for the inference. The method has been introduced in [1]. It has been benchmarked among other GRN inference tools and applied on a real dataset in [2].

The directory "cardamom_v1" contains the package described in [1]. The method has been slightly modifiied in [2]. Details concerning these changes can be found in the file "cardamom_v2/cardamom_vignette.pdf".

Dependencies

CARDAMOM depends on the following standard scientific libraries (numpy_ and scipy). The library numba accelerates the inference method and simulations (tutorial can be found here). The package harissa is used for the function "simulate_data" of CARDAMOM. The library umap-learn_ is used for the function "visualize_data".

They can be installed using pip:

pip install numba

pip install harissa

pip install umap-learn

Tutorial

Structure of the directories

The user must create a separate directory named "mynetwork". The two examples given here correspond to the dataset of the directory "Network4" generated with one of the networks used for the benchmark of [2], and the dataset of the directory "Semrau" corresponding to the network inferred from an experimental dataset collected in vitro on single mouse embryonic stem cells induced to differentiate by all-trans retinoic acid addition in [3].

The directory "mynetwork" must contain 3 directories:

  • cardamom:

It has to be empty before the inference, and will contain the results of the inference, after running the script "infer_network".

  • Data:

It must contain 2 files, one named "panel.txt" which contains the dataset for the inference, and one named "panel_genes.txt" which contains the names of the genes.

  • Rates:

It must contain a file "degradation_rates.txt" which will be used for simulating the model, when running the script "simulate_data".

Structure of the data

The dataset must be in the .txt format. The first line must corresponds to the timepoints at which the cells are sampled, and the first column to the numero of each gene. Then, each line represents the mRNAs counts associated to a gene for each cell at each timepoint. Note that the second line corresponds to the Stimulus, which is set to 0 at t=0h and to 1 at t > 0h (see [1] Section 5.1 for the details).

1- Calibrating the model from a reference dataset

Run the following script for calibrating the model from the file "myproject/Data/panel.text":

python infer_network.py -i [mynetwork]

The output are the following files: "myproject/cardamom/basal_t.npy": matrix of size (n X 1), contain the basal parameters of the GRN. "myproject/cardamom/inter_t.npy": matrix of size (n X n), contain the GRN. "myproject/cardamom/kmin.npy": vector of size (n X 1); containing the minimal bursts rates frequency for each gene. "myproject/cardamom/kmax.npy": vector of size (n X 1); containing the maximal bursts rates frequency for each gene. "myproject/cardamom/betnpy": vector of size (n X 1); containing the scaling of the bursts sizes for each gene. Here, n denotes the number of genes (including the stimulus).

2- Simulate a dataset from an inferred network

Run the following script for simulating the model from the parameters stored in the directory myproject/cardamom:

python simulate_data.py -i [mynetwork]

The output is the file "myproject/Data/panel_simulated.text".

3- Compare the simulations to the reference dataset

Run the following script for comparing the UMAP representations between the dataset "myproject/Data/panel.text" and "myproject/Data/panel_simulated.text":

python visualize_data.py -i [mynetwork]

The output is the file "UMAP_[mynetwork].pdf".

References

[1] E. Ventre. “Reverse engineering of a mechanistic model of gene expression using metastability and temporal dynamics”. In: In Silico Biology 14 (2021), pp. 89–113.

[2] E. Ventre, U. Herbach et al. "One model fits all: combining inference and simulation of gene regulatory networks". In: BioRxiv (2022).

[3] S. Semrau et al. “Dynamics of lineage commitment revealed by single-cell transcriptomics of differentiating embryonic stem cells”. In: Nat Commun 8 (2017), pp. 1–16.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cardamom-0.0.1.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

cardamom-0.0.1-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file cardamom-0.0.1.tar.gz.

File metadata

  • Download URL: cardamom-0.0.1.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.4

File hashes

Hashes for cardamom-0.0.1.tar.gz
Algorithm Hash digest
SHA256 638c1fa1e8afcf7200fe911036c9b185ab97348ffd86fc012542ea395a81e154
MD5 c541e4006f0505c64136556999ce472d
BLAKE2b-256 70b10a3724882a5f57c2c1f42799cd479928344e71b79a8e167e87b987545442

See more details on using hashes here.

File details

Details for the file cardamom-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: cardamom-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 9.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.4

File hashes

Hashes for cardamom-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 907beeb7bda2d70fd006e0ae32a308f007ea86f43b0e244d531acc3202aa3f16
MD5 6df2b35a2acf63cc2f8fa159e39b47cc
BLAKE2b-256 8352e3d000af5d80bbcbca0d67244741bff9ca9b6a7431243f71d8472eea0152

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page