CovertLab / wcEcoli

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

Simulation Initialization Order #1395

Closed rjuenemann closed 11 months ago

rjuenemann commented 11 months ago

While working on Issue #1376 to add shifts in sim data parameters using variants on branch ng-trl-eff-shift, I encountered an issue where after modifying sim_data within SetDaughterInitialConditions(), some of these new values were not actually being used in the simulation. @ggsun and I discovered that this is because the processes are initialized before the daughter cell initial conditions, and some processes use normalized copies of parts of sim_data rather than referencing sim_data directly. The simplest solution that best generalizes to different use cases is to initialize the processes after the initial conditions are set. Since the listeners reference the processes, they must also be initialized later.

The conflict this change creates is that the polypeptide elongation rate factor was being modified within setDaughterInitialConditions(), which is only possible if processes have been initialized. Now that growth rate control is implemented, it might make sense to depreciate this option.