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.
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 modifyingsim_data
withinSetDaughterInitialConditions()
, 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 ofsim_data
rather than referencingsim_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.