Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

genexpsim

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

genexpsim

Gene expression simulation for circadian clock and coupled cells

  • 0.1.1
  • PyPI
  • Socket score

Maintainers
1

genexpsim – Gene expression simulation for circadian clock and coupled cells

PyPI Version PyPI License

Installation from PyPI

pip install genexpsim[full]

Introduction

Currently three observables (also called levels) are simulated:

  • Number of active genes $n_\text{g}(t)\in[0,N_\text{gc}]$
  • Number of mRNA molecules $n_\text{m}(t)$
  • Number of protein molecules $n_\text{p}(t)$

with gene copy number $N_\text{gc}=2$ (command-line option --ngc) and six processes with different rates:

processrate $r_i(t)$default constantcommand-line option
DNA inactivation$k_\text{off}\cdot n_\text{g}(t)$$k_\text{off}=8,\text{h}^{-1}=\frac{1}{7.5,\text{min}}$--koff
DNA activation$k_\text{on}\cdot\left(N_\text{gc}-n_\text{g}(t)\right)$$k_\text{on}=1.5,\text{h}^{-1}=\frac{1}{20,\text{min}}$--kon
mRNA transcription$k_\text{m}\cdot n_\text{g}(t)$$k_\text{m}=225,\text{h}^{-1}=3.75,\text{min}^{-1}$--km
mRNA degradation$\gamma_\text{m}\cdot n_\text{m}(t)$$\gamma_\text{m}=0.75,\text{h}^{-1}=\frac{\ln2}{55,\text{min}}$--gm
protein translation$k_\text{p}\cdot n_\text{m}(t)$$k_\text{p}=1.25,\text{h}^{-1}$--kp
protein degradation$\gamma_\text{p}\cdot n_\text{p}(t)$$\gamma_\text{p}=0.35,\text{h}^{-1}$--gp

Variable rates are implemented either DNA activation, DNA inactivation or mRNA transcription. Then for the respective rate the constant $k_i$ is replaced by

k_i\rightarrow k_i\left(1-\beta_i\cos(\omega_i t-\phi_i)\right)

with frequency $\omega_i$, phase $\phi_i$ and amplitude $\beta_i\in[-1,1]$ which can be set via command-line options --omega, --phi and --beta respectively.

Usage

The genexpsim package includes classes for different kinds of simulation:

  • genexpsim.GES: single cell simulation with constant rates
  • genexpsim.GESCircadianDNAActivation, genexpsim.GESCircadianDNAInactivation, genexpsim.GESCircadianRNATranscription: single cell simulation with variable rates for DNA activation, DNA inactivation or mRNA transcription
  • genexpsim.GESNetworkCircadian: multiple cell simulation with variable rates for DNA activation, DNA inactivation or mRNA transcription
  • genexpsim.GESMultiGenes: single cell simulation with multiple genes, variable rates for DNA activation, inactivation or mRNA transcription are possible

It can be used with

import genexpsim
sim = genexpsim.GES(duration=120.0)
sim.init_constants(koff=8.0, kon=1.5, km=225.0, gm=0.75, kp=1.25, gp=0.35)
sim.run()
sim.plot_rates()
sim.plot_events_levels()
sim.print_summary()

The simulation object is firstly created (here with a duration of 120 hours). Then different constants are initialised and then the simulation is started with run(). The functions plot_rates() and plot_events_levels() are for plotting rates, events and levels. The function print_summary() prints a summary of rates and levels. These last three functions can take file names as input argument. If omitted, then the figures are shown interactively and the summary is printed on stdout. See details in the documentation of the class (e.g. with help(genexpsim.GES)).

Command-line script

The script genexpsim can be used to run the different simulations. A single cell simulation with constant rates can be obtained with

genexpsim -dpsv sim0_1c_output_dir

Here the options -d, -p and -s stand for dumping the simulation to a pickle (.pkl) file, plotting the results to .png files and printing a summary in a .txt file, respectively. The option -v is for increased verbosity (-vv increases even more). The results are saved in the given directory (here sim0_1c_output_dir). All options can be seen with

genexpsim -h

A multi-cell simulation, e.g. for variable DNA activation can be obtained with

genexpsim -dpsv -t 120 -n 100 --variable_process DNA_activation --domega 0.01 sim1_100c_output_dir

where -t specifies the duration of simulation in hours (default: 24.0) and -n the number of coupled cells. The parameter --domega specifies the standard deviation on omega for the randomly chosen omega per cell.

If the machine has several CPUs the number of CPUs to be used can be set with the option --n_cpus:

genexpsim -dpsv -t 120 -n 100 --variable_process DNA_activation --domega 0.01 --n_cpus 4 sim1_100c_output_dir

A previously saved simulation file can be plotted and summarised without rerunning the simulation with

genexpsim -psv --dump_file sim0_1c_output_dir/seed_None_24.0h.pkl

Dependencies

Copyright 2021–2023 Robert Wolff mahlzahn@posteo.de

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc