CovertLab / wcEcoli

Whole Cell Model of E. coli
Other
18 stars 4 forks source link

Introduction of Internal Shift Variant for New Gene Induction #1415

Closed rjuenemann closed 9 months ago

rjuenemann commented 10 months ago

A new internal shift variant framework is introduced. This allows users to define variants that change sim_data at the beginning of specified generation numbers. For more details on how to adapt this for a particular use case, refer to docs/misc/internal_shift.md.

The internal shift framework defines a dictionary in sim_data specifying which modification functions to apply at each generation. Codebase changes were made to the daughter cell initiation process to keep track of the generation number and apply the modifications before beginning that cell’s simulation. For these modified values to persist and be used in the simulation, PR #1395 was necessary to move the initialization of processes after setting initial conditions. We chose to approach it in this way for ease of implementation (including consistency with existing variant pipelines), generalizability to multiple shifts and use cases outside of new genes, and accessibility of parameter choices for analysis scripts.

Introducing the internal shift variant framework allows us to resolve Issue #1376 and build upon PR #1369, making it possible to induce and knock out the expression of new genes added to the chromosome at the start of chosen generation numbers. This enables the analysis of the transitory cellular response when new gene expression is initially induced, as well as stabilizes some failures we were seeing as artifacts of initialization in the first generation for high new gene expression factors. This PR contains the model infrastructure necessary to enable these simulations, and a separate future PR will focus on the analysis scripts created to analyze them.

Here is an example of new gene mRNA and protein counts for a 4-generation new_gene_expression_and_translation_efficiency_internal_shift simulation with a single gfp added to the chromosome. New gene expression was induced at the beginning of generation 1 and then knocked out in generation 2.

new_gene_counts.pdf