E. Coli Whole Cell Model by Covert Lab Updated 2025-07-16
github.com/CovertLab/WholeCellEcoliRelease is a whole cell simulation model created by Covert Lab and other collaborators.
The project is written in Python, hurray!
But according to te README, it seems to be the use a code drop model with on-request access to master. Ciro Santilli asked at rationale on GitHub discussion, and they confirmed as expected that it is to:
- to prevent their publication ideas from being stolen. Who would steal publication ideas with public proof in an issue tracker without crediting original authors? Academia is broken. Academia should be the most open form of knowledge sharing. But instead we get this silly competition for publication points.
- to prevent noise from non-collaborators. But they only get like 2 issues as year on such a meganiche subject... Did you know that you can ignore people, and even block them if they are particularly annoying? Much more likely is that no one will every hear about your project and that it will die with its last graduate student slave.
The project is a followup to the earlier M. genitalium whole cell model by Covert lab which modelled Mycoplasma genitalium. E. Coli has 8x more genes (500 vs 4k), but it the undisputed bacterial model organism and as such has been studied much more thoroughly. It also reproduces faster than Mycoplasma (20 minutes vs a few hours), which is a huge advantages for validation/exploratory experiments.
The project has a partial dependency on the proprietary optimization software CPLEX which is freeware, for students, not sure what it is used for exactly, from the comment in the
requirements.txt the dependency is only partial.This project makes Ciro Santilli think of the E. Coli as an optimization problem. Given such external nutrient/temperature condition, which DNA sequence makes the cell grow the fastest? Balancing metabolites feels like designing a Factorio speedrun.
There is one major thing missing thing in the current model: promoters/transcription factor interactions are not modelled due to lack/low quality of experimental data: github.com/CovertLab/WholeCellEcoliRelease/issues/21. They just have a magic direct "transcription factor to gene" relationship, encoded at reconstruction/ecoli/flat/foldChanges.tsv in terms of type "if this is present, such protein is expressed 10x more". Transcription units are not implemented at all it appears.
Everything in this section refers to version 7e4cc9e57de76752df0f4e32eca95fb653ea64e4, the code drop from November 2020, and was tested on Ubuntu 21.04 with a docker install of
docker.pkg.github.com/covertlab/wholecellecolirelease/wcm-full with image id 502c3e604265, unless otherwise noted. E. Coli Whole Cell Model by Covert Lab Source code overview Updated 2025-07-16
Let's try to understand some interesting looking, with a special focus on our understanding of the tiny E. Coli K-12 MG1655 operon thrLABC part of the metabolism, which we have well understood at Section "E. Coli K-12 MG1655 operon thrLABC".
reconstruction/ecoli/flat/compartments.tsvcontains cellular compartment information:"abbrev" "id" "n" "CCO-BAC-NUCLEOID" "j" "CCO-CELL-PROJECTION" "w" "CCO-CW-BAC-NEG" "c" "CCO-CYTOSOL" "e" "CCO-EXTRACELLULAR" "m" "CCO-MEMBRANE" "o" "CCO-OUTER-MEM" "p" "CCO-PERI-BAC" "l" "CCO-PILUS" "i" "CCO-PM-BAC-NEG"CCO: "Celular COmpartment"BAC-NUCLEOID: nucleoidCELL-PROJECTION: cell projectionCW-BAC-NEG: TODO confirm: cell wall (of a Gram-negative bacteria)CYTOSOL: cytosolEXTRACELLULAR: outside the cellMEMBRANE: cell membraneOUTER-MEM: bacterial outer membranePERI-BAC: periplasmPILUS: pilusPM-BAC-NEG: TODO: plasma membrane, but that is the same as cell membrane no?
reconstruction/ecoli/flat/promoters.tsvcontains promoter information. Simple file, sample lines:corresponds to E. Coli K-12 MG1655 promoter thrLp, which starts as position 148."position" "direction" "id" "name" 148 "+" "PM00249" "thrLp"reconstruction/ecoli/flat/proteins.tsvcontains protein information. Sample line corresponding to e. Coli K-12 MG1655 gene thrA:so we understand that:"aaCount" "name" "seq" "comments" "codingRnaSeq" "mw" "location" "rnaId" "id" "geneId" [91, 46, 38, 44, 12, 53, 30, 63, 14, 46, 89, 34, 23, 30, 29, 51, 34, 4, 20, 0, 69] "ThrA" "MRVL..." "Location information from Ecocyc dump." "AUGCGAGUGUUG..." [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 89103.51099999998, 0.0, 0.0, 0.0, 0.0] ["c"] "EG10998_RNA" "ASPKINIHOMOSERDEHYDROGI-MONOMER" "EG10998"aaCount: amino acid count, how many of each of the 20 proteinogenic amino acid are thereseq: full sequence, using the single letter abbreviation of the proteinogenic amino acidsmw; molecular weight? The 11 components appear to be given atreconstruction/ecoli/flat/scripts/unifyBulkFiles.py:so they simply classify the weight? Presumably this exists for complexes that have multiple classes?molecular_weight_keys = [ '23srRNA', '16srRNA', '5srRNA', 'tRNA', 'mRNA', 'miscRNA', 'protein', 'metabolite', 'water', 'DNA', 'RNA' # nonspecific RNA ]23srRNA,16srRNA,5srRNAare the three structural RNAs present in the ribosome: 23S ribosomal RNA, 16S ribosomal RNA, 5S ribosomal RNA, all others are obvious:- tRNA
- mRNA
- protein. This is the seventh class, and this enzyme only contains mass in this class as expected.
- metabolite
- water
- DNA
- RNA: TODO
rnavsmiscRNA
location: cell compartment where the protein is present,cdefined atreconstruction/ecoli/flat/compartments.tsvas cytoplasm, as expected for something that will make an amino acid
reconstruction/ecoli/flat/rnas.tsv: TODO vstranscriptionUnits.tsv. Sample lines:"halfLife" "name" "seq" "type" "modifiedForms" "monomerId" "comments" "mw" "location" "ntCount" "id" "geneId" "microarray expression" 174.0 "ThrA [RNA]" "AUGCGAGUGUUG..." "mRNA" [] "ASPKINIHOMOSERDEHYDROGI-MONOMER" "" [0.0, 0.0, 0.0, 0.0, 790935.00399999996, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] ["c"] [553, 615, 692, 603] "EG10998_RNA" "EG10998" 0.0005264904halfLife: half-lifemw: molecular weight, same as inreconstruction/ecoli/flat/proteins.tsv. This molecule only have weight in themRNAclass, as expected, as it just codes for a proteinlocation: same as inreconstruction/ecoli/flat/proteins.tsvntCount: nucleotide count for each of the ATGCmicroarray expression: presumably refers to DNA microarray for gene expression profiling, but what measure exactly?
reconstruction/ecoli/flat/sequence.fasta: FASTA DNA sequence, first two lines:>E. coli K-12 MG1655 U00096.2 (1 to 4639675 = 4639675 bp) AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGCTTCTGreconstruction/ecoli/flat/transcriptionUnits.tsv: transcription units. We can observe for example the two different transcription units of the E. Coli K-12 MG1655 operon thrLABC in the lines:"expression_rate" "direction" "right" "terminator_id" "name" "promoter_id" "degradation_rate" "id" "gene_id" "left" 0.0 "f" 310 ["TERM0-1059"] "thrL" "PM00249" 0.198905992329492 "TU0-42486" ["EG11277"] 148 657.057317358791 "f" 5022 ["TERM_WC-2174"] "thrLABC" "PM00249" 0.231049060186648 "TU00178" ["EG10998", "EG10999", "EG11000", "EG11277"] 148promoter_id: matches promoter id inreconstruction/ecoli/flat/promoters.tsvgene_id: matches id inreconstruction/ecoli/flat/genes.tsvid: matches exactly those used in BioCyc, which is quite nice, might be more or less standardized:
reconstruction/ecoli/flat/genes.tsv"length" "name" "seq" "rnaId" "coordinate" "direction" "symbol" "type" "id" "monomerId" 66 "thr operon leader peptide" "ATGAAACGCATT..." "EG11277_RNA" 189 "+" "thrL" "mRNA" "EG11277" "EG11277-MONOMER" 2463 "ThrA" "ATGCGAGTGTTG" "EG10998_RNA" 336 "+" "thrA" "mRNA" "EG10998" "ASPKINIHOMOSERDEHYDROGI-MONOMER"reconstruction/ecoli/flat/metabolites.tsvcontains metabolite information. Sample lines:In the case of the enzyme thrA, one of the two reactions it catalyzes is "L-aspartate 4-semialdehyde" into "Homoserine"."id" "mw7.2" "location" "HOMO-SER" 119.12 ["n", "j", "w", "c", "e", "m", "o", "p", "l", "i"] "L-ASPARTATE-SEMIALDEHYDE" 117.104 ["n", "j", "w", "c", "e", "m", "o", "p", "l", "i"]Starting from the enzyme page: biocyc.org/gene?orgid=ECOLI&id=EG10998 we reach the reaction page: biocyc.org/ECOLI/NEW-IMAGE?type=REACTION&object=HOMOSERDEHYDROG-RXN which has reaction IDHOMOSERDEHYDROG-RXN, and that page which clarifies the IDs:so these are the compounds that we care about.- biocyc.org/compound?orgid=ECOLI&id=L-ASPARTATE-SEMIALDEHYDE: "L-aspartate 4-semialdehyde" has ID
L-ASPARTATE-SEMIALDEHYDE - biocyc.org/compound?orgid=ECOLI&id=HOMO-SER: "Homoserine" has ID
HOMO-SER
- biocyc.org/compound?orgid=ECOLI&id=L-ASPARTATE-SEMIALDEHYDE: "L-aspartate 4-semialdehyde" has ID
reconstruction/ecoli/flat/reactions.tsvcontains chemical reaction information. Sample lines:"reaction id" "stoichiometry" "is reversible" "catalyzed by" "HOMOSERDEHYDROG-RXN-HOMO-SER/NAD//L-ASPARTATE-SEMIALDEHYDE/NADH/PROTON.51." {"NADH[c]": -1, "PROTON[c]": -1, "HOMO-SER[c]": 1, "L-ASPARTATE-SEMIALDEHYDE[c]": -1, "NAD[c]": 1} false ["ASPKINIIHOMOSERDEHYDROGII-CPLX", "ASPKINIHOMOSERDEHYDROGI-CPLX"] "HOMOSERDEHYDROG-RXN-HOMO-SER/NADP//L-ASPARTATE-SEMIALDEHYDE/NADPH/PROTON.53." {"NADPH[c]": -1, "NADP[c]": 1, "PROTON[c]": -1, "L-ASPARTATE-SEMIALDEHYDE[c]": -1, "HOMO-SER[c]": 1 false ["ASPKINIIHOMOSERDEHYDROGII-CPLX", "ASPKINIHOMOSERDEHYDROGI-CPLX"]catalized by: here we seeASPKINIHOMOSERDEHYDROGI-CPLX, which we can guess is a protein complex made out ofASPKINIHOMOSERDEHYDROGI-MONOMER, which is the ID for thethrAwe care about! This is confirmed incomplexationReactions.tsv.
reconstruction/ecoli/flat/complexationReactions.tsvcontains information about chemical reactions that produce protein complexes:The"process" "stoichiometry" "id" "dir" "complexation" [ { "molecule": "ASPKINIHOMOSERDEHYDROGI-CPLX", "coeff": 1, "type": "proteincomplex", "location": "c", "form": "mature" }, { "molecule": "ASPKINIHOMOSERDEHYDROGI-MONOMER", "coeff": -4, "type": "proteinmonomer", "location": "c", "form": "mature" } ] "ASPKINIHOMOSERDEHYDROGI-CPLX_RXN" 1coeffis how many monomers need to get together for form the final complex. This can be seen from the Summary section of ecocyc.org/gene?orgid=ECOLI&id=ASPKINIHOMOSERDEHYDROGI-MONOMER:Fantastic literature summary! Can't find that in database form there however.Aspartate kinase I / homoserine dehydrogenase I comprises a dimer of ThrA dimers. Although the dimeric form is catalytically active, the binding equilibrium dramatically favors the tetrameric form. The aspartate kinase and homoserine dehydrogenase activities of each ThrA monomer are catalyzed by independent domains connected by a linker region.
reconstruction/ecoli/flat/proteinComplexes.tsvcontains protein complex information:"name" "comments" "mw" "location" "reactionId" "id" "aspartate kinase / homoserine dehydrogenase" "" [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 356414.04399999994, 0.0, 0.0, 0.0, 0.0] ["c"] "ASPKINIHOMOSERDEHYDROGI-CPLX_RXN" "ASPKINIHOMOSERDEHYDROGI-CPLX"reconstruction/ecoli/flat/protein_half_lives.tsvcontains the half-life of proteins. Very few proteins are listed however for some reason.reconstruction/ecoli/flat/tfIds.csv: transcription factors information:"TF" "geneId" "oneComponentId" "twoComponentId" "nonMetaboliteBindingId" "activeId" "notes" "arcA" "EG10061" "PHOSPHO-ARCA" "PHOSPHO-ARCA" "fnr" "EG10325" "FNR-4FE-4S-CPLX" "FNR-4FE-4S-CPLX" "dksA" "EG10230"
James Somers Updated 2025-07-16
Huge interest overlap with Ciro Santilli, e.g. he's into
- molecular biology in general: I should have loved biology by James Somers
- JCVI-syn3.0: www.newyorker.com/magazine/2022/03/07/a-journey-to-the-center-of-our-cells
- cryo-EM: www.newyorker.com/magazine/2022/03/07/a-journey-to-the-center-of-our-cells
- David Goodsell: www.newyorker.com/magazine/2022/03/07/a-journey-to-the-center-of-our-cells
- History of Google: www.newyorker.com/magazine/2018/12/10/the-friendship-that-made-google-huge
Eightfold way (physics) Updated 2025-07-16
Strangeness Minus Three (BBC Horizon 1964)
Source. Basically shows Richard Feynman 15 minutes on a blackboard explaining the experimental basis of the eightfold way really well, while at the same time hyperactively moving all over. The word symmetry gets tossed a few times. Einstein notation for partial derivatives Updated 2025-07-16
The Einstein summation convention works will with partial derivatives and it is widely used in particle physics.
In particular, the divergence and the Laplacian can be succinctly expressed in this notation:
In order to express partial derivatives, we must use what Ciro Santilli calls the "partial index partial derivative notation", which refers to variables with indices such as , , , , and instead of the usual letters , and .
E-learning Updated 2025-07-16
See also: e-learning website.
E-learning websites must keep content free, only charge for certification Updated 2025-07-16
Another thing that is fine charging for is dedicated 1-to-1 tutor time. This is something Udacity is doing as of 2022.
www.investopedia.com/articles/investing/042815/how-coursera-works-makes-money.asp has a good mention:and it links to: www.freecodecamp.org/news/massive-open-online-courses-started-out-completely-free-but-where-are-they-now-1dd1020f59/, very good article!
MOOCs were first created by people with utopian visions for the internet. This means the idea for platforms like Coursera was likely conceived without a business plan in mind. Nonetheless, Coursera has managed to monetize its platform. It is worth noting, however, that monetization has lead to the effective elimination of the original MOOC idea, which is predicated on ideals like free and open access, as well as the building of online communities.
That is a fundamental guiding principle of OurBigBook.com. The educational content must be licensed CC BY-SA!
Perhaps the most reliable way of reaching this state is E-learning websites must allow students to create learning content.
Bibliography:
- academia.stackexchange.com/questions/86179/is-it-financially-worth-it-to-teach-a-mooc-e-g-coursera Is it financially worth it to teach a MOOC (e.g. Coursera)?
- www.classcentral.com/about amazing, they can make money just from ads! I wouldn't expect that they could scale like TripAdvisor, because travelling means very local knowledge, I would expect there to be much fewer MOOCs and for them to be more easily findable on Google. Good thing though, this website.
Electronic component Updated 2025-07-16
Tinker Tailor Soldier Spy (TV series) Updated 2025-07-16
- 1: Jim Prideaux captured. Some ex-colleague invites Smiley to dinner and keeps asking how incompetent people like Alleline climbed to the top of the Circus. Smiley recalled to service to meet Ricki Tarr.
- 2: Ricki Tarr tells his story to Smiley. Peter Guillam starts stealing material from the Circus, find missing page on the communication officer list. Smiley sets up his investigation operation.
- 3: Smiley meets Connie who tells that she was fired for suspecting Poliakov. Flashbacks show the ousting of Control and Smiley.
- 4: Guillam steals more material from the circus. While doing that, he is called by the top officers to inquire about Ricki Tarr being in England, which they suspect because they discovered that his family has come.
- 5: Jim Prideaux tells his story to Smiley, who cannot easily access the Circus reports about it. When he is returned to England, there was basically no debriefing, and Esterhase already knew about the Tinker Tailor codenames, presumably through Merlin.
- 6: Smiley hears the story of yet another ousted man, who heard the Russians knew in advance about Jim Prideaux' coming. Toby Esterhase dismissed him for alcoholism.
United States Updated 2025-07-16
Capable of evil like any other country, and somewhat merciless to its poor and overly egocentric, but not nearly as evil as any dictatorship.
Has the huge advantage of being one large country which speaks English.
Countries of the world have only two choices as of 2019: either rally behind the US and support democracy, or rally behind China and support dictatorship. The choice is up to you, voters. The more you deal with China, the more you lose your democracy and freedom. All dictatorships have no doubt that they must stick together.
And Americans, please stop that America Number 1 bullshit. Obviously everyone has to strive to be the best, so when you say it like that, it sounds like "even if at the expense of everyone else". The motto has to be "democracy number 1" or else you will scare off all allies. If all other countries sell out to China, you are fucked.
Electroweak interaction Updated 2025-07-16
Electroweak Theory and the Origin of the Fundamental Forces by PBS Space Time (2020)
Source. Unsatisfactory, as usual. Elementary charge Updated 2025-07-16
Experiments to measure it:
The 2019 redefinition of the SI base units defines it precisely and uses it as a measure of charge: en.wikipedia.org/wiki/2019_redefinition_of_the_SI_base_units#Ampere
Jazz fusion Updated 2025-07-16
Ciro's 2020 perfect Friday evening: jazz fusion + study quantum field theory on an Amazon Kindle. Ahhhhhh.
ELF Hello World Tutorial Minimal ELF file Updated 2025-07-16
It is non-trivial to determine what is the smallest legal ELF file, or the smaller one that will do something trivial in Linux.
Some impressive attempts:
Jazz fusion musician Updated 2025-07-16
Joan Feynman Updated 2025-07-16
My brother, Richard: How he came to be so smart interview with Joan Feynman by Web of Stories (2019)
Source. Ah, shame to see Joan so old. Some good stories. The tiles game thing was not mentioned in Genius: Richard Feynman and Modern Physics by James Gleick (1994) I think. Join two images side-by-side Updated 2025-07-16
Join two SVG side-by-side from the command line Updated 2025-07-16
ELF Hello World Tutorial
.symtab Updated 2025-07-16Section type:
sh_type == SHT_SYMTAB.A good high level tool to disassemble that section is:which gives:
nm hello_world.o0000000000000000 T _start
0000000000000000 d hello_world
000000000000000d a hello_world_lenThis is however a high level view that omits some types of symbols and in which the symbol types . A more detailed disassembly can be obtained with:which gives:
readelf -s hello_world.oSymbol table '.symtab' contains 7 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
1: 0000000000000000 0 FILE LOCAL DEFAULT ABS hello_world.asm
2: 0000000000000000 0 SECTION LOCAL DEFAULT 1
3: 0000000000000000 0 SECTION LOCAL DEFAULT 2
4: 0000000000000000 0 NOTYPE LOCAL DEFAULT 1 hello_world
5: 000000000000000d 0 NOTYPE LOCAL DEFAULT ABS hello_world_len
6: 0000000000000000 0 NOTYPE GLOBAL DEFAULT 2 _startThe binary format of the table is documented at www.sco.com/developers/gabi/2003-12-17/ch4.symtab.html
The data is:which gives:
readelf -x .symtab hello_world.oHex dump of section '.symtab':
0x00000000 00000000 00000000 00000000 00000000 ................
0x00000010 00000000 00000000 01000000 0400f1ff ................
0x00000020 00000000 00000000 00000000 00000000 ................
0x00000030 00000000 03000100 00000000 00000000 ................
0x00000040 00000000 00000000 00000000 03000200 ................
0x00000050 00000000 00000000 00000000 00000000 ................
0x00000060 11000000 00000100 00000000 00000000 ................
0x00000070 00000000 00000000 1d000000 0000f1ff ................
0x00000080 0d000000 00000000 00000000 00000000 ................
0x00000090 2d000000 10000200 00000000 00000000 -...............
0x000000a0 00000000 00000000 ........The entries are of type:
typedef struct {
Elf64_Word st_name;
unsigned char st_info;
unsigned char st_other;
Elf64_Half st_shndx;
Elf64_Addr st_value;
Elf64_Xword st_size;
} Elf64_Sym; Elon Musk Updated 2025-07-16
Respect on the technical side by Ciro Santilli.
But the way he treated his first wife Justine Musk, is very very weird, incomprehensible: www.marieclaire.com/sex-love/a5380/millionaire-starter-wife/
Positive Cirocoins for possibly going to reverse Twitter's unfair Trump ban if his Twitter acquisition goes through:
Unlisted articles are being shown, click here to show only listed articles.