It would be boring if we could only simulate the same condition all the time, so let's have a look at the different boundary conditions that we can apply to the cell!
We are able to alter things like the composition of the external medium, and the genome of the bacteria, which will make the bacteria behave differently.
The variant selection is a bit cumbersome as we have to use indexes instead of names, but one you know what you are doing, it is fine.
Of course, genetic modification is limited only to experimentally known protein interactions due to the intractability of computational protein folding and computational chemistry in general, solving those would bsai.
The default run variant, if you don't pass any options, just has the minimal growth conditions set. What this means can be seen at condition.
Notably, this implies a growth medium that includes glucose and salt. It also includes oxygen, which is not strictly required, but greatly benefits cell growth, and is of course easier to have than not have as it is part of the atmosphere!
But the medium does not include amino acids, which the bacteria will have to produce by itself.
To modify the nutrients as a function of time, with To select a time series we can use something like:As mentioned in
python runscripts/manual/runSim.py --variant nutrientTimeSeries 25 25
python runscripts/manual/runSim.py --help
, nutrientTimeSeries
is one of the choices from github.com/CovertLab/WholeCellEcoliRelease/blob/7e4cc9e57de76752df0f4e32eca95fb653ea64e4/models/ecoli/sim/variants/__init__.py#L5725 25
means to start from index 25 and also end at 25, so running just one simulation. 25 27
would run 25 then 26 and then 27 for example.The timeseries with index 25 is so we understand that it starts with extra amino acids in the medium, which benefit the cell, and half way through those are removed at time 1200s = 20 minutes. We would therefore expect the cell to start expressing amino acid production genes exactly at that point.
reconstruction/ecoli/flat/condition/timeseries/000025_cut_aa.tsv
and contains"time (units.s)" "nutrients"
0 "minimal_plus_amino_acids"
1200 "minimal"
nutrients
likely means condition
in that file however, see bug report with 1 1
failing: github.com/CovertLab/WholeCellEcoliRelease/issues/24When we do this the simulation ends in:so we see that the doubling time was faster than the one with minimal conditions of
Simulation finished:
- Length: 0:34:23
- Runtime: 0:08:03
0:42:49
, which makes sense, since during the first 20 minutes the cell had extra amino acid nutrients at its disposal.The output directory now contains simulation output data under
out/manual/nutrientTimeSeries_000025/
. Let's run analysis and plots for that:python runscripts/manual/analysisVariant.py &&
python runscripts/manual/analysisCohort.py --variant 25 &&
python runscripts/manual/analysisMultigen.py --variant 25 &&
python runscripts/manual/analysisSingle.py --variant 25
We can now compare the outputs of this run to the default
wildtype_000000
run from Section "Install and first run".out/manual/plotOut/svg_plots/massFractionSummary.svg
: because we now have two variants in the sameout/
folder,wildtype_000000
andnutrientTimeSeries_000025
, we now see a side by side comparision of both on the same graph!The run variant where we started with amino acids initially grows faster as expected, because the cell didn't have to make it's own amino acids, so growth is a bit more efficient.Then, at 20 minutes, which is about 0.3 hours, we see that the cell starts growing a bit less fast as the slope of the curve decreases a bit, because we removed that free amino acid supply.
The following plots from under
out/manual/wildtype_000000/000000/{generation_000000,nutrientTimeSeries_000025}/000000/plotOut/svg_plots
have been manually joined side-by-side with:for f in out/manual/wildtype_000000/000000/generation_000000/000000/plotOut/svg_plots/*; do
echo $f
svg_stack.py \
--direction h \
out/manual/wildtype_000000/000000/generation_000000/000000/plotOut/svg_plots/$(basename $f) \
out/manual/nutrientTimeSeries_000025/000000/generation_000000/000000/plotOut/svg_plots/$(basename $f) \
> tmp/$(basename $f)
done
Articles by others on the same topic
There are currently no matching articles.