E. Coli Whole Cell Model by Covert Lab Time series run variant by
Ciro Santilli 37 Updated 2025-07-01 +Created 1970-01-01
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.
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
Amino acid counts
. Source. aaCounts.svg
:- default: quantities just increase
- amino acid cut: there is an abrupt fall at 20 minutes when we cut off external supply, presumably because it takes some time for the cell to start producing its own
External exchange fluxes of amino acids
. Source. aaExchangeFluxes.svg
:- default: no exchanges
- amino acid cut: for all graphs except phenylalanine (PHE), either the cell was intaking the AA (negative flux), and that intake goes to 0 when the supply is cut, or the flux is always 0.
mRNA count of highly expressed mRNAs
. Source. From file expression_rna_03_high.svg
. Each of the entries is a gene using the conventional gene naming convention of xyzW
, e.g. here's the BioCyc for the first entry, tufA
: biocyc.org/gene?orgid=ECOLI&id=EG11036, which comments Elongation factor Tu (EF-Tu) is the most abundant protein in E. coli.
External exchange fluxes
. Source. mediaExcange.svg
: this one is similar to aaExchangeFluxes.svg
, but it also tracks other substances. The color version makes it easier to squeeze more substances in a given space, but you lose the shape of curves a bit. The title seems reversed: red must be excretion, since that's where glucose (GLC) is.The substances are different between the default and amino acid cut graphs, they seem to be the most exchanged substances. On the amino cut graph, first we see the cell intaking most (except phenylalanine, which is excreted for some reason). When we cut amino acids, the uptake of course stops.
Cool data embedded in the Bitcoin blockchain ILoveYouMore.jpg by
Ciro Santilli 37 Updated 2025-07-01 +Created 1970-01-01
This is the first of many love declarations and mentions EMBII makes of his partner Chiharu! This came just one day afte the very first uploads of the system.
ILoveYouMore.jpg
MadyBobbyOffToCollege.jpg
Chiharu EMBII and The Atom Sea say Happy Halloween.jpg
Message:so their location was: en.wikipedia.org/wiki/Fargo,_North_Dakota
#Chiharu #embii & the #AtomSea #Fargo #ND
Chiharu.jpg
Messages:and:TODO actual Italy? Or some place named Italy in the US? One of the photos is from the First Lutheran church in Fargo, Nort Dacota.
Loraine.jpg
"Loraine" on tx b4b8fe752a258f95b191b8c5426319ee0e8d41d5db53ea2ae18beed141cbb9bd, block 448352 (2017-01-15).
SatoFamily.jpg
This one gives Chiharu's full identity with picture basically. Message:so presumably Chiharu's full name is Chiharu Sato.
The Sato Family Arrives from Japan! Taken Aug 2. 2014 in Minneapolis MN. (Keiko, Chiharu, Hideaki, Katsuhiko) Now preparing for the Sato / Bobby Great American Vacation!!
More from their vacation:
More EMBII social media:
- bitfossil.com/5bfd6eab2df2eb615dd72172408e02e07fddba2f00fed9b80cd66c0b115ee03d/index.htm "Found on Mady's camera", EMBII wearing a funny red suit and drinking orange juice
High level simulation only, no way to get from DNA to worm! :-) Includes:
- nervous system
- muscle system
OpenWorm Sibernetic demo by Mike Vella (2013)
Source. Sibernetic adds a fluid dynamics solver for brain-in-the-loop simulation of C. elegans. x86 Paging Tutorial TLB replacement policy by
Ciro Santilli 37 Updated 2025-07-01 +Created 1970-01-01
When TLB is filled up, older addresses are overwritten. Just like CPU cache, the replacement policy is a potentially complex operation, but a simple and reasonable heuristic is to remove the least recently used entry (LRU).
With LRU, starting from state:adding
valid linear physical
----- ------ --------
> 1 00003 00005
1 00007 00009
1 00009 00001
1 0000B 00003
0000D -> 0000A
would give: valid linear physical
----- ------ --------
1 0000D 0000A
> 1 00007 00009
1 00009 00001
1 0000B 00003
x86 Paging Tutorial Kernel vs process memory layout by
Ciro Santilli 37 Updated 2025-07-01 +Created 1970-01-01
The Linux Kernel reserves two zones of virtual memory:
- one for kernel memory
- one for programs
The exact split is configured by
CONFIG_VMSPLIT_...
. By default:- on 32-bit:
- on 64-bit: currently only 48-bits are actually used, split into two equally sized disjoint spaces. The Linux kernel just assigns:
- the bottom part to processes
00000000 00000000
to008FFFFF FFFFFFFF
- the top part to the kernel:
FFFF8000 00000000
toFFFFFFFF FFFFFFFF
, like this:------------------ FFFFFFFF Kernel ------------------ C0000000 (not addressable) ------------------ BFFFFFFF Process ------------------ 00000000
- the bottom part to processes
Kernel memory is also paged.
In previous versions, the paging was continuous, but with HIGHMEM this changed.
There is no clear physical memory split: stackoverflow.com/questions/30471742/physical-memory-userspace-kernel-split-on-linux-x86-64
x86 Paging Tutorial Identity mapping by
Ciro Santilli 37 Updated 2025-07-01 +Created 1970-01-01
FFFFF 000
points to its own physical address FFFFF 000
. This kind of translation is called an "identity mapping", and can be very convenient for OS-level debugging. x86 Paging Tutorial Why not a balanced tree by
Ciro Santilli 37 Updated 2025-07-01 +Created 1970-01-01
Learned readers will ask themselves: so why use an unbalanced tree instead of balanced one, which offers better asymptotic times en.wikipedia.org/wiki/Self-balancing_binary_search_tree?
Pros and cons of superconducting qubits by
Ciro Santilli 37 Updated 2025-07-01 +Created 1970-01-01
Introduction to Spintronics by Aurélien Manchon (2020) giant magnetoresistance section
. Source. Describes how giant magnetoresistance was used in magnetoresistive disk heads in the 90's providing a huge improvement in disk storage density over the pre-existing inductive sensors
More comments at: Video "Introduction to Spintronics by Aurélien Manchon (2020)".
There are unlisted articles, also show them or only show them.