v2ecoli Baseline Showcase: from ecoli-sources to a calibrated whole cell active
Investigation report Β· v2ecoli-baseline-showcase Β· generated 2026-08-17 13:29 UTC Β· for expert review β results below reflect completed runs.
Investigation acceptance: in-progress. 0 of 6 acceptance criteria passing. code-computed from member-study verdicts
π Executive summary in-progress A demonstration walkthrough of the v2ecoli pipeline: ecoli-sources to ParCa to a calibrated baseline to a perturbation to a next-direction decision.β¦
A demonstration walkthrough of the v2ecoli pipeline: ecoli-sources to ParCa to a calibrated baseline to a perturbation to a next-direction decision. Six studies rebuild the ParCa in full, run the wild-type baseline ensemble (multiseed/multigen, checked against doubling time, mass fractions, Toya 2010 FBA flux, and Schmidt/Wisniewski proteome), then compare variants and test large-ensemble equivalence.
Question. Can v2ecoli, starting from the raw ecoli-sources flat files, rebuild the ParCa in full, run a wild-type baseline single-cellβdivision ensemble that reproduces measured E. coli properties (doubling time, mass fractions, FBA fluxes, proteome), and then characterize a perturbation response? This is a demonstration walkthrough of the v2ecoli pipeline (ecoli-sources β ParCa β calibrated whole cell β perturbation), not a test of a scientific hypothesis. It also hands reviewers an explicit perturbation-choice decision.
Each acceptance criterion is a behaviour test declared in a study: a measured field from the run (e.g. closure_gap_size) compared against an explicit pass_if band (a numeric threshold/range). The per-criterion result, each studyβs gate verdict, and this roll-up are computed in code from the run outcomes (deterministic) β not human judgement. Expand a row to see the field, the passing band, and the observed value.
| Study | Behavior | Metric (field Β· pass-if β observed) | Result |
|---|---|---|---|
| showcase-1-parca | parca-rebuilds-full-51-conditions-from-ecoli-sources | β | in-progress |
| showcase-2-baseline-figures | baseline-ensemble-reproduces-wild-type-properties | β | in-progress |
| showcase-3-variant-decide | reviewer-selects-perturbation-variant-to-run | β | in-progress |
| showcase-4-variant-comparison | five-variant-sweep-ranks-perturbation-contrasts-vs-baseline | β | in-progress |
| showcase-5-next-direction-decide | reviewer-selects-next-direction-from-showcase-4-ranking | β | in-progress |
| showcase-6-equivalence-large | large-16x16-baseline-ensemble-equivalent-to-vecoli-within-tolerance | β | in-progress |
𧬠Biology β the mechanism this investigation models This showcase follows the full arc of building a whole-cell E. coli model from primary data. It starts from ecoli-sources -- curated flat files of measured E. coli biologyβ¦
This showcase follows the full arc of building a whole-cell E. coli model from primary data. It starts from ecoli-sources -- curated flat files of measured E. coli biology (gene/protein/reaction annotations, kinetic constants, expression and mass-fraction data). The Parameter Calculator (ParCa) turns those measurements into sim_data, a single self-consistent parameter set: it fits expression levels, RNA/protein counts, and metabolic parameters so that a simulated wild-type cell reproduces bulk physiology.
Running the calibrated model then simulates one cell from birth to division, with the emergent doubling time, mass fractions, metabolic fluxes, and proteome falling out of the mechanism rather than being imposed. Because single cells vary, the baseline is an ensemble over seeds and generations. Validation checks these emergent properties against independent measurements -- doubling time and mass fractions, Toya 2010 central-carbon fluxes, and the Schmidt/Wisniewski proteomes. A perturbation and a next-direction decision then show the calibrated cell being used, not just built.
π¬ Scientific argument 3 for Β· 0 against v2ecoli rebuilds and runs the wild-type baseline from ecoli-sources: the ParCa rebuilds in full (51 TF conditions) from the raw flat files, theβ¦
Main claim. v2ecoli rebuilds and runs the wild-type baseline from ecoli-sources: the ParCa rebuilds in full (51 TF conditions) from the raw flat files, the wild-type baseline single-cellβ division ensemble runs to completion, and the resulting cell matches measured E. coli properties (doubling time, mass fractions, FBA fluxes vs Toya 2010, proteome vs Schmidt/Wisniewski).
Evidence for
- The ParCa builds in full (--mode full, 51 TF conditions) from the ~133 ecoli-sources flat files in ~2.5 min on the mini, producing a complete cache bundle (initial_state.json + sim_data_cache.dill + metadata + cache_version) that reproduces parca_compare. [Target of showcase-1; sim deferred.]
- The wild-type baseline single-cellβdivision ensemble (multiseed + multigen, Ray-parallel dispatch, XArray/zarr emit) runs to completion and reproduces wild-type E. coli properties: doubling time in band, physiological mass fractions, FBA flux correlation to Toya 2010, proteome correlation to Schmidt 2016 / Wisniewski. [Target of showcase-2; sim deferred.]
- v2ecoli characterizes a perturbation response: the showcase-4 5-variant x 2-seed sweep moves the cell off baseline in perturbation-specific ways. media-succinate halves dry mass (271 vs 492 fg), suppresses multifork replication (max oriC 2 vs 4), and decorrelates central-carbon flux from glucose-grown Toya-2010 (r 0.73 β -0.06). ppGpp-off de-represses the ppGpp pool (mean 64.8 β 120.6, 1.86x) and slows growth most (doubling +10.5 min). [Measured in showcase-4.]
Caveats
- This is a demonstration investigation, not a hypothesis test; its purpose is to show the v2ecoli pipeline working, not to test a scientific claim.
- Two showcase-4 perturbations gave weaker-than-expected contrasts: dnaA-2x did not raise the discrete oriC ceiling (it advances re-initiation timing instead), and elong-down (0.7x elongation) was near-null on growth (steady-state charging + variable elongation appear to compensate). The proteome was the least-discriminating readout (Schmidt r 0.70-0.74 across all variants).
- ppGpp-off runs opposite to the naive expectation: disabling ppGpp regulation de-represses ppGpp synthesis (the pool rises rather than collapses). showcase-5 candidate B proposes a synthesis-vs-regulation 2x2 to confirm the mechanism.
- showcase-1/showcase-2 sims are still scaffolded as deferred (their evidence_for items are targets); showcase-4's evidence is measured from the actual sweep.
Open questions & decisions needed
β Decisions needed from reviewers 2 items next: Which variant should we run to demonstrate v2ecoli's perturbation response?
- Which variant should we run to demonstrate v2ecoli's perturbation response?showcase-3-variant-decide commits no variant. The four candidate perturbations (ppgpp_regulation toggle OFF, parameter-sweep via linspace, media/condition change, dnaA expression knob) are listed under proposed_inputs and on the study's followup_study_proposals; reviewers pick which best demonstrates v2ecoli's response. showcase-4 later ran all four (see its measured ranking), so this gate remains only for the reviewer's narrative-highlight choice.
- Which direction should the showcase take next, given the showcase-4 ranking?showcase-5-next-direction-decide commits no direction. Four candidates are seeded from the showcase-4 ranking: (A) deepen the strongest contrast with a growth-condition/carbon-source panel building on media-succinate (mass halved, oriC 2 vs 4, Toya-flux collapse; one full ParCa cache per condition, ~2.5 min each); (B) chase the surprise via a ppGpp synthesis-vs-regulation 2x2 to pin why ppGpp-off de-repressed the pool (rose 1.86x), single-cache; (C) push the partial by sweeping the dnaA init-probability 1x..4x to test the oriC ceiling 2x did not raise; (D) rescue the null by sweeping the ribosome elongation rate over a wider range to find where steady-state-charging compensation breaks. The agent recommends A or B; none is committed.
Investigation roadmap
- β showcase-1-parca (3 pending)
- β showcase-2-baseline-figures (4 passed)
- β½ showcase-3-variant-decide (1 pending)
- π showcase-4-variant-comparison (3 passed Β· 1 skipped)
- β½ showcase-5-next-direction-decide (1 pending)
- β showcase-6-equivalence-large (3 passed Β· 2 failed)
Studies
Each study is collapsed to a one-glance control panel β scan top to bottom, then click any panel to expand its full detail.
1.Rebuild the ParCa in full from the ecoli-sources flat filesβ
PassingβΆ Ran Β· 1 runTests: 3β³β
Passedβ 1 clarity noteEstablish that the v2ecoli ParCa pipeline rebuilds in FULL from the raw
~133 ecoli-sources flat files: --mode full fits all 51 TF conditions and
produces a complete, reproducible cache bundle that downstream studies
(showcase-2 baseline) resume from.
Confidence: highEvidence: direct-runConclusion PASS.4/4 tests passingInsight v2ecoli rebuilds the ParCa in full from the ecoli-sources flat files in minutes, fitting all 51 TF conditions and emitting a complete, simulation- ready cache bundle.
Biology
The ParCa (parameter-calculator) fits heterogeneous measured E. coli datasets into a single self-consistent sim_data parameter set across 51 transcription- factor conditions (basal + with_aa + acetate + succinate + no_oxygen + the active/inactive TF set). The full-mode fit is what calibrates the metabolite concentrations so the whole-cell composite can solve its equilibrium ODEs at steady state β the precondition for a simulation-ready wild-type baseline.
Literature anchors
The biological expectations this study tests, mapped to the model observable that will measure each one. Full citations live in the test cards.
Overview
This study asks whether can v2ecoli rebuild the ParCa in full from the ~133 ecoli-sources flat. We recorded 1 finding confirm the expected biology. Gate decision: Passed. Gate cleared.
Purpose & background (study design)
Detailed findings
Infrastructure / computational findings (1)
Conclusion verdicts
Three-track verdict β each result is computed from canonical fields (gate evaluator, run status, finding tiers). The basis is the author's rationale.
Discovery implications
Where this study's results leave the mechanism model β and what to investigate next.
β Resolved uncertainties
- --mode full fits 51 TF conditions in ~2.4 min on the mini (the docs' 4-8 h / ~300 conditions figure is stale; confirmed 142.4 s, 51 conditions).
- The full-mode cache bundle is simulation-ready (5-step baseline smoke run, no equilibrium-solver crash).
β Remaining uncertainties
- Whether the full ParCa rebuild from ecoli-sources is bit-for-bit reproducible across machines, or only reproducible up to the parca_compare tolerance.
- The cross-tool parca_compare HTML diff vs vivarium-ecoli --save-intermediates was not re-run (reference intermediates absent); reproduces-parca_compare is verified only at the structural-inventory + simulation-readiness level.
Conditions β what we set up to test it
Baseline
v2ecoli.composites.parca.parcafullout/cache-showcaseVariants (2)
Each variant is a perturbation of the baseline β typically a parameter override or a swapped composite. These define the runs that test the assumption.
| Variant | Composite / base | Parameter overrides | Notes | Run |
|---|---|---|---|---|
full-mode (51 TF conditions) | v2ecoli.composites.parca.parca | (no overrides) | β | vwb run study showcase-1-parca --variant full-mode (51 TF conditions) |
fast/debug-mode (~7 TF conditions) | v2ecoli.composites.parca.parca | (no overrides) | β | vwb run study showcase-1-parca --variant fast/debug-mode (~7 TF conditions) |
What we ran (1 simulation)
One row per concrete run: the model composite, what changes vs the reference baseline, the condition / length, and its status.
| Simulation | Composite | Changes vs baseline | Run | CLI | Status |
|---|---|---|---|---|---|
| showcase1-parca-full-2026-06-09 | parca | reference baseline | 3 seeds | vwb run study showcase-1-parca | complete |
Measurements (4 readouts)
Quantities we extract from each simulation run to evaluate the study's tests.
| Readout | Status | Path | Description |
|---|---|---|---|
| tf-condition-count | β | β | TF-condition count fit by the ParCa run (51 = full, ~7 = fast/debug) |
| cache-bundle-artifacts | β | β | cache-bundle artifact presence (initial_state.json + sim_data_cache.dill + metadata.json + cache_version.json) |
| simdata-structural-inventory | β | β | sim_data structural inventory (4538 genes / 3277 TUs / 4309 monomers / 1118 complexes / 9460 metabolic reactions) |
| smoke-run | β | β | 5-step build_composite('ecoli_baseline') smoke run β no equilibrium-solver crash |
Visualisations from the latest run
Success criteria (3 tests β 3 β³ pending)
Each test makes a specific scientific claim with a machine-checkable criterion (measure + pass_if). Tests are now evaluated by code against the run (the run/outcome spine: RunReader β evaluator): the pill shows the result, and the evidence line shows the measured value, whether it was computed by code or routed to an agent, and whether the code verdict agrees with the authored one (reconcile). β³ pending = the study hasn't run yet. Technical assertion + the exact evaluator are under "Technical details".
parca-builds-full-51-conditionsTechnical details
Measure: condition_countPass condition: = 51
Python:
vivarium_workbench/lib/expected_behavior.py β evaluate(); measure kind condition_count via _series_for_simple_kind()/_measure(); op == via _check()cache-bundle-completeTechnical details
Measure: artifacts_presentPass condition: {"op":"all_present","artifacts":["initial_state.json","sim_data_cache.dill","metadata","cache_version"]}
Python:
vivarium_workbench/lib/expected_behavior.py β evaluate(); measure kind artifacts_present via _series_for_simple_kind()/_measure(); op all_present via _check()sim_data-reproduces-parca-comparisonTechnical details
Measure: parca_comparePass condition: {"op":"matches_reference"}
Python:
vivarium_workbench/lib/expected_behavior.py β evaluate(); measure kind parca_compare via _series_for_simple_kind()/_measure(); op matches_reference via _check()Model changes
None β this is the unmodified full-mode ParCa build (the reference pipeline). The only configuration axis exercised is the build MODE: --mode full (51 TF conditions, used) vs fast/debug (~7 conditions, contrast only, never used for simulation because it mis-calibrates dnaA / replication).
Key assumptions
- --mode full fits all 51 TF conditions from the ~133 ecoli-sources flat files and is fast (~2.5 min on the mini). The docs' "4-8 hours / ~300 conditions" figure is stale; verify by condition count (51 = full).
- A complete cache bundle is initial_state.json + sim_data_cache.dill + metadata + cache_version. All four must be present for showcase-2 to resume.
Build / fix list (1)
Concrete engineering work to fully exercise this study.
Conclusion synthesis
Read-only synthesis derived from the study's canonical fields (findings, limitations, follow-up proposals).
- tests: within tolerance
- Report card verdict: within tolerance
Pipeline-gate decision
Passed- PARCA-BUILDS-FULL-51-CONDITIONS
- CACHE-BUNDLE-COMPLETE
- parca-builds-full-51-conditions
- cache-bundle-complete
Pipeline gate & conclusion logic (technical)
Prerequisites: none (root study)
Enables: β
2.Wild-type baseline single-cellβdivision ensemble reproduces E. coli propertiesβ
PassingβΆ Ran Β· 1 runTests: 4ββ
PassedEstablish that the v2ecoli wild-type baseline single-cellβdivision ensemble,
resumed from the showcase-1 full ParCa cache, reproduces measured wild-type
E. coli properties across a multiseed/multigen ensemble: doubling time in
band, physiological mass fractions, FBA flux correlation to Toya 2010, and
proteome correlation to Schmidt 2016 / Wisniewski 2014.
Confidence: highEvidence: multiseed-ensemble + native-analysis galleryConclusion Regenerated from the CLEAN 2-seed Γ 3-generation re-run (gen1 agent=0 / gen2 agent=00 / gen3 agent=000 for both seeds).4/4 tests passingInsight The v2ecoli baseline reproduces wild-type single-cell physiology: clean 3-generation growth/division (cell_mass ramps), physiological biomass composition, and a proteome that correlates with Schmidt 2016 (rβ0.73) and Wisniewski 2014 (rβ0.60), consistent with the upstream vEcoli baseline.
Biology
The wild-type baseline is the unperturbed v2ecoli whole cell growing in glucose minimal medium. Reproducing the four measured-property classes β doubling time, biomass composition (mass fractions), central-carbon flux (vs Toya 2010), and the proteome (vs Schmidt 2016 / Wisniewski 2014) β across a multiseed/multigen ensemble is the evidence that the cell is "the same E. coli" the upstream WCM was validated against, and the reference that all showcase-4 perturbation variants are measured against.
Literature anchors
The biological expectations this study tests, mapped to the model observable that will measure each one. Full citations live in the test cards.
Overview
This study asks whether does the baseline single-cellβdivision sim reproduce wild-type E. coli. We recorded 1 finding confirm the expected biology. Gate decision: Passed. Gate cleared.
Purpose & background (study design)
Detailed findings
Infrastructure / computational findings (2)
Conclusion verdicts
Three-track verdict β each result is computed from canonical fields (gate evaluator, run status, finding tiers). The basis is the author's rationale.
Discovery implications
Where this study's results leave the mechanism model β and what to investigate next.
β Resolved uncertainties
- The central-carbon FBA-vs-Toya-2010 scatter is regenerated on the clean run β the Toya 2010 flux validation TSV (toya_2010_central_carbon_fluxes.tsv) was restored to v2ecoli/validation/ecoli/flat/ and build_validation_data now exposes validation_data.reactionFlux.toya2010fluxes. The baseline FBA fluxes correlate with the Toya 2010 C13-MFA measured fluxes at Pearson R = 0.6990 (p = 2.1e-4, n = 23 reactions).
- The wild-type baseline reproduces the measured-property classes on the clean 3-generation re-run (doubling time in-band, physiological mass fractions, Schmidt rβ0.73 / Wisniewski rβ0.60) β no calibration trade-off appeared across them.
- RESOLVED (was: gen-2 doubling-time step-cap over-report): #173 ends each non-final generation at its real division, so gen-2 now reads 43β52 min (in-band) instead of the old ~104 min cap-inflated value. The doubling_time_line / doubling_time_hist figures show a clean gen-2.
- RESOLVED (reviewer: 'why is the doubling time going down? get more samples'): the apparent decline was the cap-truncated FINAL generation, not a real trend. doubling_time_line / doubling_time_hist now lead with a cap-immune instantaneous doubling-time trace t2 = ln(2)/mu from listeners.mass.instantaneous_growth_rate over the whole lineage (218 per-timestep samples vs the old 3 generational points): STABLE at ~44β52 min (mean ~52 min), no decline. Per-generation division-time markers are kept but the truncated final generation is excluded so it no longer reads as a downward trend.
- RESOLVED (was: gen-3 mislabeled / folded phylogeny): the clean re-run has the correct lineage labelling β gen1 agent=0 / gen2 agent=00 / gen3 agent=000 for both seeds β so cell_mass now renders three distinct clean generations.
β Remaining uncertainties
- The FINAL generation (gen-3) is truncated at the 6500-step emit cap before it divides, so its raw per-generation span reads short (~10β19 min). This no longer affects the headline figures: doubling_time_line / doubling_time_hist now plot the cap-immune instantaneous doubling time (t2 = ln(2)/mu, 52.4 min over the full lineage, matching the runnable test) and the per-generation division-time markers explicitly exclude the truncated final generation (heuristic: last generation of a lineage whose final emitted row lands at the 6500-step cap). A per-generation division-event listener would let the span-based markers identify a real division instead of relying on this cap heuristic.
Conditions β what we set up to test it
Baseline
v2ecoli.composites.ecoli_baseline.ecoli_baseline0out/cache-showcaseVariants (1)
Each variant is a perturbation of the baseline β typically a parameter override or a swapped composite. These define the runs that test the assumption.
| Variant | Composite / base | Parameter overrides | Notes | Run |
|---|---|---|---|---|
wild-type baseline (no perturbation) | v2ecoli.composites.ecoli_baseline.ecoli_baseline | (no overrides) | β | vwb run study showcase-2-baseline-figures --variant wild-type baseline (no perturbation) |
Model settings (3)
Parameters that need human input before the study runs. Edit a value on the dashboard's study-detail page (Build tab) and the next pbg_runner invocation will pick it up.
| Name | Type | Default | Current | Range | Gate | Description |
|---|---|---|---|---|---|---|
multiseed-multigen-ensemble | β | awaiting expert | β | optional | β | |
ray-parallel-dispatch | β | awaiting expert | β | optional | β | |
xarray-zarr-emit | β | awaiting expert | β | optional | β |
What we ran (1 simulation)
One row per concrete run: the model composite, what changes vs the reference baseline, the condition / length, and its status.
| Simulation | Composite | Changes vs baseline | Run | CLI | Status |
|---|---|---|---|---|---|
| showcase2-baseline-ensemble | baseline | reference baseline | 29 seeds | vwb run study showcase-2-baseline-figures | complete |
Measurements (5 readouts)
Quantities we extract from each simulation run to evaluate the study's tests.
| Readout | Status | Path | Description |
|---|---|---|---|
| doubling-time | β | β | cap-immune doubling time t2 = ln(2)/mu averaged over the full lineage (min) |
| mass-fractions | β | β | dry-mass fractions (protein / rRNA / tRNA / DNA) per generation |
| fba-flux-vs-toya2010 | β | β | central-carbon FBA flux vs Toya 2010 C13-MFA (Pearson R over 23 reactions) |
| proteome-correlation | β | β | proteome correlation vs Schmidt 2016 and Wisniewski 2014 (log10 monomer counts) |
| replication-and-regulation | β | β | replication program (oriC copy number over the cell cycle) and ppGpp / tRNA-charging traces |
Visualisations from the latest run
Success criteria (4 tests β 4 β passed)
Each test makes a specific scientific claim with a machine-checkable criterion (measure + pass_if). Tests are now evaluated by code against the run (the run/outcome spine: RunReader β evaluator): the pill shows the result, and the evidence line shows the measured value, whether it was computed by code or routed to an agent, and whether the code verdict agrees with the authored one (reconcile). β³ pending = the study hasn't run yet. Technical assertion + the exact evaluator are under "Technical details".
52.40456derived/in_range Β· by code from run showcase2-baseline-ensembledoubling-time-in-bandTechnical details
Measure: derivedPass condition: in [35, 55]
Python:
vivarium_workbench/lib/expected_behavior.py β evaluate(); measure kind derived via _series_for_simple_kind()/_measure(); op in_range via _check()Cites:
macklin20200.461785generation_average/in_range Β· by code from run showcase2-baseline-ensemblelisteners.mass.protein_mass / listeners.mass.dry_mass (generation_average) in [0.4, 0.55]mass-fraction-physiologicalTechnical details
Measure:listeners.mass.protein_mass / listeners.mass.dry_mass (generation_average)Pass condition: in [0.4, 0.55]
Python:
vivarium_workbench/lib/expected_behavior.py β evaluate(); measure kind generation_average via _series_for_simple_kind()/_measure(); op in_range via _check()Cites:
macklin2020βagent from run showcase2-baseline-ensemblefba-flux-correlates-toya2010Technical details
Measure: flux_correlationPass condition: {"op":"correlates"}
Python:
vivarium_workbench/lib/expected_behavior.py β evaluate(); measure kind flux_correlation via _series_for_simple_kind()/_measure(); op correlates via _check()Cites:
toya2010βagent from run showcase2-baseline-ensembleproteome-correlates-schmidt-wisniewskiTechnical details
Measure: proteome_correlationPass condition: {"op":"correlates"}
Python:
vivarium_workbench/lib/expected_behavior.py β evaluate(); measure kind proteome_correlation via _series_for_simple_kind()/_measure(); op correlates via _check()Cites:
schmidt2016, wisniewski2014Model changes
None β this is the unperturbed wild-type baseline. The only configuration is the multiseed/multigen ensemble + Ray-parallel dispatch + parquet emit (see model_settings); no process parameters are altered.
Key assumptions
- The wild-type baseline resumed from the showcase-1 full ParCa cache reaches a physiological steady state across a multiseed/multigen ensemble, so the four wild-type-property tests are evaluated on the ensemble (not a single cell).
- Ray-parallel dispatch (run_seeds_parallel) + XArray/zarr emit is the correct runner for a multiseed ensemble; the in-engine ParquetEmitter is a RAM trap and is avoided.
Build / fix list (1)
Concrete engineering work to fully exercise this study.
Conclusion synthesis
Read-only synthesis derived from the study's canonical fields (findings, limitations, follow-up proposals).
- tests: within tolerance
- vs_vecoli: drift
- Report card verdict: within tolerance
- Report card verdict: drift
References cited by this study
macklin2020, toya2010, schmidt2016, wisniewski2014
Pipeline-gate decision
Passed- doubling-time-in-band
- mass-fraction-physiological
- fba-flux-correlates-toya2010
- proteome-correlates-schmidt-wisniewski
Pipeline gate & conclusion logic (technical)
Prerequisites: none (root study)
Enables: β
3.Which perturbation best demonstrates v2ecoli's response β reviewers to chooseπ§ͺ Preliminaryβ Not runTests: 1β³β Not runHand reviewers an explicit, OPEN choice: which perturbation should we run on
top of the wild-type baseline to demonstrate v2ecoli's response? This study
deliberately commits no variant (conditions.variants lists four PROPOSED, uncommitted candidates); it presents
four candidates and stays un-run until a reviewer selects one.
Confidence: design-stageEvidence: design-onlyConclusion [NO RUN β decision study.
Biology
This study commits no perturbation. It frames an explicit reviewer choice among four mechanistically-distinct levers β a global regulatory toggle (ppGpp), a dose-response parameter sweep (a transcription/translation knob), an environmental change (carbon source), and a targeted single-gene expression knob (dnaA / TU00259[c]) β each of which would exercise a different part of the v2ecoli whole cell's response. The biology of each candidate lives in the followup_study_proposals below.
Literature anchors
The biological expectations this study tests, mapped to the model observable that will measure each one. Full citations live in the test cards.
Overview
This study asks whether which perturbation best demonstrates v2ecoli's response β reviewers to. We recorded 1 novel computational result. Gate decision: Ready to run. Execute the simulation_set to gather evidence.
Purpose & background (study design)
Detailed findings
Infrastructure / computational findings (1)
Conclusion verdicts
Three-track verdict β each result is computed from canonical fields (gate evaluator, run status, finding tiers). The basis is the author's rationale.
Discovery implications
Where this study's results leave the mechanism model β and what to investigate next.
β Remaining uncertainties
- Which perturbation most clearly demonstrates v2ecoli's response is an OPEN reviewer choice; no variant is committed in this scaffold.
Follow-up study proposals (4)
Click β Add study to spawn a new study node in the investigation graph (seeds a child study.yaml from the proposal, with a leads-to edge back to this study).
Conditions β what we set up to test it
Baseline
v2ecoli.composites.ecoli_baseline.ecoli_baselineVariants (4)
Each variant is a perturbation of the baseline β typically a parameter override or a swapped composite. These define the runs that test the assumption.
| Variant | Composite / base | Parameter overrides | Notes | Run |
|---|---|---|---|---|
ppgpp-regulation-off | v2ecoli.composites.ecoli_baseline.ecoli_baseline | (no overrides) | β | vwb run study showcase-3-variant-decide --variant ppgpp-regulation-off |
parameter-sweep-linspace | v2ecoli.composites.ecoli_baseline.ecoli_baseline | (no overrides) | β | vwb run study showcase-3-variant-decide --variant parameter-sweep-linspace |
media-condition-change | v2ecoli.composites.ecoli_baseline.ecoli_baseline | (no overrides) | β | vwb run study showcase-3-variant-decide --variant media-condition-change |
dnaa-expression-knob | v2ecoli.composites.ecoli_baseline.ecoli_baseline | (no overrides) | β | vwb run study showcase-3-variant-decide --variant dnaa-expression-knob |
What we ran (4 simulations)
One row per concrete run: the model composite, what changes vs the reference baseline, the condition / length, and its status.
| Simulation | Composite | Changes vs baseline | Run | CLI | Status |
|---|---|---|---|---|---|
| candidate-ppgpp-off | baseline | reference baseline | 44 seeds | vwb run study showcase-3-variant-decide | planned |
| candidate-parameter-sweep-linspace | baseline | same params, longer/other | 44 seeds | vwb run study showcase-3-variant-decide | planned |
| candidate-media-condition-change | baseline | same params, longer/other | 44 seeds | vwb run study showcase-3-variant-decide | planned |
| candidate-dnaa-expression-knob | baseline | same params, longer/other | 44 seeds | vwb run study showcase-3-variant-decide | planned |
Measurements (2 readouts)
Quantities we extract from each simulation run to evaluate the study's tests.
| Readout | Status | Path | Description |
|---|---|---|---|
| decision-outcome | β | β | Decision outcome: which candidate perturbation(s) the reviewer selects to run |
| per-candidate-readout | β | β | Per candidate, the proposed primary readout (growth rate, expression, a pathway flux, or the DnaA pool β to be chosen by the reviewer) |
Success criteria (1 tests β 1 β³ pending)
Each test makes a specific scientific claim with a machine-checkable criterion (measure + pass_if). Tests are now evaluated by code against the run (the run/outcome spine: RunReader β evaluator): the pill shows the result, and the evidence line shows the measured value, whether it was computed by code or routed to an agent, and whether the code verdict agrees with the authored one (reconcile). β³ pending = the study hasn't run yet. Technical assertion + the exact evaluator are under "Technical details".
reviewer-selects-perturbation-variantTechnical details
Measure: reviewer_decisionPass condition: {"op":"reviewer_selected_variant"}
Python:
vivarium_workbench/lib/expected_behavior.py β evaluate(); measure kind reviewer_decision via _series_for_simple_kind()/_measure(); op reviewer_selected_variant via _check()Model changes
None yet β the model change is the OPEN decision. Each candidate would alter a different knob (ppgpp_regulation toggle, a swept transcription/translation factor, the growth condition / media, or sim_data.genetic_perturbations ["TU00259[c]"]); see followup_study_proposals.
Key assumptions
- The wild-type baseline (showcase-2) is validated before any perturbation is run, so each candidate variant is a clean delta against a trusted reference.
Build / fix list (1)
Concrete engineering work to fully exercise this study.
Conclusion synthesis
Read-only synthesis derived from the study's canonical fields (findings, limitations, follow-up proposals).
- tests: ungraded
- Report card verdict: ungraded
- ppGpp regulation toggle OFF
- Parameter sweep via linspace (transcription/translation knob)
- Media / condition change (e.g. glucoseβsuccinate or +amino-acids)
- dnaA expression knob (TU00259[c] transcription-init override)
Pipeline-gate decision
Ready to run4.Five-variant perturbation sweep β which perturbation most clearly moves v2ecoli off baselineβ
PassingβΆ Ran Β· 1 runTests: 3β Β· 1ββ
PassedResolve the showcase-3 reviewer decision empirically by running ALL four
candidate perturbations (rather than picking one) as a single 5-variant
sweep (baseline + 4), and measure how far each variant moves the cell off
the wild-type baseline across five readout classes: growth (doubling time,
cell mass), replication (oriC copy number / re-initiation timing),
regulation (ppGpp pool, tRNA charging), central-carbon metabolism (FBA flux
+ Toya-2010 correlation), and the proteome (Schmidt / Wisniewski
correlation). The deliverable is a ranked, quantitative contrast that seeds
the next-direction decision (showcase-5).
Confidence: highEvidence: 5-variant x 2-seed multigen sweep + 8 cross-variant comparison figuresConclusion Measured per-variant scorecard (delta vs baseline; from the scorecard / doubling_time_grouped / regulation_overlay / replication_overlay / fba_flux_overlay / proteome_delta figures): metric baseline ppgpp-off dnaA-2x elong-down media-succinate doubling (min) 51.1 61.6 48.4 49.3 52.9 dry mass (fg) 492 510 489 487 271 <- -45% protein fraction 0.461 0.430 0.453 0.435 0.532 <- +0.07 max oriC 4 4 4 4 2 <- never multiforks mean ppGpp 64.8 120.6 67.9 61.2 56.4 <- 1.86x (ppgpp-off) Schmidt r 0.734 0.696 0.737 0.741 0.716 Toya r 0.727 0.764 0.457 0.698 -0.058 <- collapses (succinate) Strongest, most interpretable contrast = media-succinate: dry mass nearly halved (271 vs 492 fg), the cell never multiforks (max oriC stays 2 vs 4), protein fraction rises to 0.532, and the central-carbon FBA flux distribution decorrelates from the glucose-grown Toya-2010 measurements (Toya r collapses from 0.73 to -0.06, with the largest flux shifts on the TCA / succinate-entry reactions: SUCCINATE-DEHYDROGENASE, 2OXOGLUTARATEDEH, MALATE-DEH).3/3 tests passingInsight Running all four candidates rather than choosing one was the right call: it converted the showcase-3 reviewer decision into a measured ranking.
Biology
A perturbation-response demonstration: each variant is a single mechanistic lever (a regulatory toggle, a gene-expression knob, a translation-rate cut, or a carbon-source change) applied to the validated wild-type baseline. Measuring the delta across five readout classes (growth / replication / regulation / central-carbon flux / proteome) shows which perturbation most clearly and interpretably moves the whole cell off baseline β converting the showcase-3 reviewer decision into a measured ranking.
Literature anchors
The biological expectations this study tests, mapped to the model observable that will measure each one. Full citations live in the test cards.
metric baseline ppgpp-off dnaA-2x elong-down media-succinate doubling (min) 51.1 61.6 48.4 49.3 52.9 dry mass (fg) 492 510 489 487 271 <- -45% protein fraction 0.461 0.430 0.453 0.435 0.532 <- +0.07 max oriC 4 4 4 4 2 <- never multiforks mean ppGpp 64.8 120.6 67.9 61.2 56.4 <- 1.86x (ppgpp-off) Schmidt r 0.734 0.696 0.737 0.741 0.716 Toya r 0.727 0.764 0.457 0.698 -0.058 <- collapses (succinate)
Strongest, most interpretable contrast = media-succinate: dry mass nearly halved (271 vs 492 fg), the cell never multiforks (max oriC stays 2 vs 4), protein fraction rises to 0.532, and the central-carbon FBA flux distribution decorrelates from the glucose-grown Toya-2010 measurements (Toya r collapses from 0.73 to -0.06, with the largest flux shifts on the TCA / succinate-entry reactions: SUCCINATE-DEHYDROGENASE, 2OXOGLUTARATEDEH, MALATE-DEH). Second strongest = ppgpp-off: the ppGpp pool RISES to ~230 by end-of-run (mean 120.6, 1.86x baseline) rather than collapsing, and growth slows the most (doubling 61.6 min, +10.5; only 2 generations reached). This is the honest, slightly counter-intuitive result β disabling ppGpp *regulation* (the feedback the ribosome/RNAP allocation reads) does NOT stop ppGpp *synthesis*, so without the feedback ppGpp accumulates and growth falls. dnaA-2x is a PARTIAL contrast: it does NOT raise the max oriC count above baseline (both peak at 4), but it advances the timing of replication re-initiation (the dnaA-2x oriC curve rises to 4 earlier and re-initiates earlier in the second cycle) and it noticeably degrades the central-carbon flux match (Toya r 0.727 -> 0.457). elong-down is the WEAKEST contrast: the 22->15.4 basal-elongation-rate cut barely moves the cap-immune doubling time (49.3 vs 51.1 min, actually marginally faster), and its proteome / mass / replication readouts are essentially baseline β the steady-state charging model and variable-elongation machinery appear to compensate. tRNA charged fraction stays ~0.97 across ALL variants. The proteome is the least discriminating axis overall: every variant stays tightly correlated to the baseline proteome (Schmidt r 0.70-0.74, Wisniewski ~0.61 across the board).
Overview
This study asks whether of the four perturbations proposed in showcase-3 (ppGpp regulation OFF, a. We recorded 1 finding confirm the expected biology. Gate decision: Passed. Gate cleared.
Purpose & background (study design)
Detailed findings
Infrastructure / computational findings (1)
Conclusion verdicts
Three-track verdict β each result is computed from canonical fields (gate evaluator, run status, finding tiers). The basis is the author's rationale.
Discovery implications
Where this study's results leave the mechanism model β and what to investigate next.
β Resolved uncertainties
- showcase-3's open reviewer decision is resolved empirically: all four candidate perturbations were run as a 5-variant sweep, and the media / condition change is the most demonstrative single perturbation (moves the cell off baseline on mass, replication, composition, and central-carbon flux simultaneously).
- ppGpp-off does NOT collapse the ppGpp pool β it de-represses it (mean ppGpp 64.8 -> 120.6, 1.86x; trace climbs to ~230). Disabling ppGpp *regulation* removes the feedback the allocation reads but not ppGpp *synthesis*. Growth slows the most (doubling +10.5 min, only 2 gens).
- dnaA-2x advances replication re-initiation TIMING and degrades the central-carbon flux match (Toya r 0.727 -> 0.457) but does NOT raise the discrete max oriC ceiling (both peak at 4).
- media-succinate's central-carbon FBA flux decorrelates from the glucose-grown Toya-2010 measurements (Toya r collapses to -0.058), with the largest flux shifts on the TCA / succinate-entry reactions β a clean carbon-source signature.
β Remaining uncertainties
- elong-down is a near-null at the 0.7x magnitude (doubling 49.3 vs 51.1 min) β the steady-state charging + variable-elongation machinery appears to compensate. Whether a larger cut (e.g. 0.4-0.5x) or a different translation knob produces a graded slowdown is open.
- The proteome is the least discriminating axis: all variants stay at Schmidt r 0.70-0.74 / Wisniewski ~0.61. Whether a coarser-grained or pathway-resolved proteome readout would separate the variants is open.
- tRNA charged fraction is pinned at ~0.97 across every variant including ppgpp-off and elong-down β the charging model may be insensitive to these levers, or the readout saturates.
Follow-up study proposals (2)
Click β Add study to spawn a new study node in the investigation graph (seeds a child study.yaml from the proposal, with a leads-to edge back to this study).
Conditions β what we set up to test it
Baseline
v2ecoli.composites.ecoli_baseline.ecoli_baseline0out/cache-showcaseVariants (4)
Each variant is a perturbation of the baseline β typically a parameter override or a swapped composite. These define the runs that test the assumption.
| Variant | Composite / base | Parameter overrides | Notes | Run |
|---|---|---|---|---|
ppgpp-off | v2ecoli.composites.ecoli_baseline.ecoli_baseline | (no overrides) | β | vwb run study showcase-4-variant-comparison --variant ppgpp-off |
dnaA-2x | v2ecoli.composites.ecoli_baseline.ecoli_baseline | (no overrides) | β | vwb run study showcase-4-variant-comparison --variant dnaA-2x |
elong-down | v2ecoli.composites.ecoli_baseline.ecoli_baseline | (no overrides) | β | vwb run study showcase-4-variant-comparison --variant elong-down |
media-succinate | v2ecoli.composites.ecoli_baseline.ecoli_baseline | (no overrides) | β | vwb run study showcase-4-variant-comparison --variant media-succinate |
Model settings (3)
Parameters that need human input before the study runs. Edit a value on the dashboard's study-detail page (Build tab) and the next pbg_runner invocation will pick it up.
| Name | Type | Default | Current | Range | Gate | Description |
|---|---|---|---|---|---|---|
multivariant-multiseed-sweep | β | awaiting expert | β | optional | β | |
generations-vary-by-phenotype | β | awaiting expert | β | optional | β | |
cross-variant-comparison-analyses | β | awaiting expert | β | optional | β |
What we ran (1 simulation)
One row per concrete run: the model composite, what changes vs the reference baseline, the condition / length, and its status.
| Simulation | Composite | Changes vs baseline | Run | CLI | Status |
|---|---|---|---|---|---|
| showcase4-variant-sweep | baseline | reference baseline | 63 seeds | vwb run study showcase-4-variant-comparison | complete |
Measurements (6 readouts)
Quantities we extract from each simulation run to evaluate the study's tests.
| Readout | Status | Path | Description |
|---|---|---|---|
| doubling-time-per-variant | β | β | cap-immune doubling time per variant (growth) |
| mass-per-variant | β | β | dry mass + mass fractions per variant (composition) |
| oric-per-variant | β | β | oriC copy number over the cell cycle (replication / multifork timing) |
| regulation-per-variant | β | β | ppGpp pool + tRNA charged fraction (regulation) |
| fba-flux-per-variant | β | β | central-carbon FBA flux delta + Toya-2010 correlation per variant (metabolism) |
| proteome-per-variant | β | β | proteome log-log vs baseline + Schmidt / Wisniewski correlation per variant |
Visualisations from the latest run
Success criteria (4 tests β 3 β passed Β· 1 β partial)
Each test makes a specific scientific claim with a machine-checkable criterion (measure + pass_if). Tests are now evaluated by code against the run (the run/outcome spine: RunReader β evaluator): the pill shows the result, and the evidence line shows the measured value, whether it was computed by code or routed to an agent, and whether the code verdict agrees with the authored one (reconcile). β³ pending = the study hasn't run yet. Technical assertion + the exact evaluator are under "Technical details".
showcase4-variant-sweepppgpp-off-perturbs-ppgpp-and-growthTechnical details
Measure: scorecard_deltaPass condition: in [1.5, 3]
Python:
vivarium_workbench/lib/expected_behavior.py β evaluate(); measure kind scorecard_delta via _series_for_simple_kind()/_measure(); op in_range via _check()showcase4-variant-sweepdnaa-2x-shifts-replication-and-fluxTechnical details
Measure: scorecard_deltaPass condition: in [0.15, 0.5]
Python:
vivarium_workbench/lib/expected_behavior.py β evaluate(); measure kind scorecard_delta via _series_for_simple_kind()/_measure(); op in_range via _check()showcase4-variant-sweepelong-down-is-near-null-negative-controlTechnical details
Measure: scorecard_deltaPass condition: in [-3, 3]
Python:
vivarium_workbench/lib/expected_behavior.py β evaluate(); measure kind scorecard_delta via _series_for_simple_kind()/_measure(); op in_range via _check()showcase4-variant-sweepmedia-shifts-central-carbon-fluxTechnical details
Measure: scorecard_deltaPass condition: in [0.4, 1.5]
Python:
vivarium_workbench/lib/expected_behavior.py β evaluate(); measure kind scorecard_delta via _series_for_simple_kind()/_measure(); op in_range via _check()Model changes
Four process-level perturbations against the baseline (see enforced_params / conditions.variants): ppGpp regulation toggle, dnaA (TU00259[c]) init-prob 2x, ribosome basal_elongation_rate 0.7x, and a glucose->succinate media change (run on its own full ParCa cache). monomer_counts uses the corrected SET listener (#185, overwrite[monomer_counts_vec]).
Key assumptions
- The showcase-2 wild-type baseline (variant 0) is validated, so each variant's delta is a clean contrast against a trusted reference.
- The four perturbations are the four candidates proposed in showcase-3 (ppGpp-off, dnaA knob, elongation-rate sweep point, media change); running all four resolves the showcase-3 reviewer decision empirically.
- monomer_counts is the corrected SET listener (#185, overwrite[monomer_counts_vec]) so each row carries the instantaneous proteome (not an accumulating sum); the proteome_delta / scorecard Schmidt/Wisniewski correlations rely on this.
Build / fix list (1)
Concrete engineering work to fully exercise this study.
Conclusion synthesis
Read-only synthesis derived from the study's canonical fields (findings, limitations, follow-up proposals).
- tests: within tolerance
- Report card verdict: within tolerance
- Deepen the strongest contrast β media / growth-condition response (dose of carbon sources)
- Chase the ppGpp-off surprise β why does the pool rise, not collapse?
References cited by this study
macklin2020, toya2010, schmidt2016, wisniewski2014
Pipeline-gate decision
Passed- ppgpp-off-perturbs-ppgpp-and-growth
- elong-down-is-near-null-negative-control
- media-shifts-central-carbon-flux
Pipeline gate & conclusion logic (technical)
Prerequisites: none (root study)
Enables: β
5.Which direction next β deepen the strongest perturbation contrast (reviewers to choose)π§ͺ Preliminaryβ Not runTests: 1β³β Not runHand reviewers an explicit, OPEN choice for the NEXT direction, grounded in
the showcase-4 measured contrasts: which follow-up best advances the
showcase? This study deliberately commits no variant (conditions.variants
lists four PROPOSED, uncommitted candidate directions); it presents candidate
directions seeded from the showcase-4 ranking
and stays un-run until a reviewer selects one.
Confidence: design-stageEvidence: design-only (seeded from showcase-4 measured results)Conclusion [NO RUN β decision study.
Biology
This study commits no direction. It frames an explicit reviewer choice among four follow-ups, each grounded in a measured showcase-4 contrast: deepen the strongest contrast (a carbon-source panel), chase the most informative surprise (decompose ppGpp synthesis vs regulation), push the partial (a dnaA init-probability sweep), or rescue the null (a graded translation dose-response). The biology of each candidate lives in followup_study_proposals.
Literature anchors
The biological expectations this study tests, mapped to the model observable that will measure each one. Full citations live in the test cards.
- STRONGEST contrast (media-succinate): dry mass halved, never multiforks (oriC 2 vs 4), Toya-2010 flux correlation collapsed 0.727 -> -0.058. => candidate A: deepen the growth-condition response (carbon-source panel). - MOST INFORMATIVE SURPRISE (ppgpp-off): ppGpp pool ROSE (1.86x) rather than collapsing; growth slowed most. => candidate B: decompose ppGpp synthesis vs regulation (2x2). - PARTIAL (dnaA-2x): advanced re-init timing + dropped Toya r, but did not raise the oriC ceiling. => candidate C: push the dnaA knob harder / connect to the dnaa-replication investigation. - NEAR-NULL (elong-down): 0.7x elongation barely moved growth. => candidate D: a graded translation-knob dose-response (larger cuts). ]
Overview
This study asks whether given the showcase-4 5-variant sweep, which direction should the showcase. We recorded 1 novel computational result. Gate decision: Ready to run. Execute the simulation_set to gather evidence.
Purpose & background (study design)
Detailed findings
Infrastructure / computational findings (1)
Conclusion verdicts
Three-track verdict β each result is computed from canonical fields (gate evaluator, run status, finding tiers). The basis is the author's rationale.
Discovery implications
Where this study's results leave the mechanism model β and what to investigate next.
β Remaining uncertainties
- Which direction to deepen is an OPEN reviewer choice; no direction is committed in this scaffold.
- elong-down's near-null leaves open where (if anywhere) a translation-rate cut starts to slow growth in v2ecoli β candidate D would resolve it.
- The ppGpp-off de-repression mechanism (rise, not collapse) is asserted but not decomposed β candidate B would confirm it.
Follow-up study proposals (4)
Click β Add study to spawn a new study node in the investigation graph (seeds a child study.yaml from the proposal, with a leads-to edge back to this study).
Conditions β what we set up to test it
Baseline
v2ecoli.composites.ecoli_baseline.ecoli_baselineVariants (4)
Each variant is a perturbation of the baseline β typically a parameter override or a swapped composite. These define the runs that test the assumption.
| Variant | Composite / base | Parameter overrides | Notes | Run |
|---|---|---|---|---|
A-growth-condition-panel | v2ecoli.composites.ecoli_baseline.ecoli_baseline | (no overrides) | β | vwb run study showcase-5-next-direction-decide --variant A-growth-condition-panel |
B-ppgpp-synthesis-vs-regulation | v2ecoli.composites.ecoli_baseline.ecoli_baseline | (no overrides) | β | vwb run study showcase-5-next-direction-decide --variant B-ppgpp-synthesis-vs-regulation |
C-dnaa-knob-deepening | v2ecoli.composites.ecoli_baseline.ecoli_baseline | (no overrides) | β | vwb run study showcase-5-next-direction-decide --variant C-dnaa-knob-deepening |
D-graded-translation-dose-response | v2ecoli.composites.ecoli_baseline.ecoli_baseline | (no overrides) | β | vwb run study showcase-5-next-direction-decide --variant D-graded-translation-dose-response |
What we ran (4 simulations)
One row per concrete run: the model composite, what changes vs the reference baseline, the condition / length, and its status.
| Simulation | Composite | Changes vs baseline | Run | CLI | Status |
|---|---|---|---|---|---|
| direction-A-growth-condition-panel | baseline | reference baseline | 44 seeds | vwb run study showcase-5-next-direction-decide | planned |
| direction-B-ppgpp-synthesis-vs-regulation | baseline | same params, longer/other | 44 seeds | vwb run study showcase-5-next-direction-decide | planned |
| direction-C-dnaa-knob-deepening | baseline | same params, longer/other | 44 seeds | vwb run study showcase-5-next-direction-decide | planned |
| direction-D-graded-translation-dose-response | baseline | same params, longer/other | 44 seeds | vwb run study showcase-5-next-direction-decide | planned |
Measurements (2 readouts)
Quantities we extract from each simulation run to evaluate the study's tests.
| Readout | Status | Path | Description |
|---|---|---|---|
| decision-outcome | β | β | Decision outcome: which candidate next-direction(s) the reviewer selects |
| per-direction-readout | β | β | Per direction, the proposed primary readout (growth rate, central-carbon flux / Toya-r, ppGpp pool, or replication-initiation timing β to be chosen by the reviewer) |
Success criteria (1 tests β 1 β³ pending)
Each test makes a specific scientific claim with a machine-checkable criterion (measure + pass_if). Tests are now evaluated by code against the run (the run/outcome spine: RunReader β evaluator): the pill shows the result, and the evidence line shows the measured value, whether it was computed by code or routed to an agent, and whether the code verdict agrees with the authored one (reconcile). β³ pending = the study hasn't run yet. Technical assertion + the exact evaluator are under "Technical details".
reviewer-selects-next-directionTechnical details
Measure: reviewer_decisionPass condition: {"op":"reviewer_selected_variant"}
Python:
vivarium_workbench/lib/expected_behavior.py β evaluate(); measure kind reviewer_decision via _series_for_simple_kind()/_measure(); op reviewer_selected_variant via _check()Model changes
None yet β the model change is the OPEN decision. Each candidate would alter a different axis (carbon source + its ParCa cache; ppGpp synthesis vs regulation decomposition; the dnaA init-probability; or the ribosome elongation rate over a wider range); see followup_study_proposals.
Key assumptions
- The showcase-4 5-variant sweep is complete and its ranking (media strongest, ppGpp-off most informative surprise, dnaA-2x partial, elong-down near-null) is the trusted basis for choosing the next direction.
Build / fix list (1)
Concrete engineering work to fully exercise this study.
Conclusion synthesis
Read-only synthesis derived from the study's canonical fields (findings, limitations, follow-up proposals).
- tests: ungraded
- Report card verdict: ungraded
- A β Growth-condition panel (deepen the strongest contrast)
- B β ppGpp synthesis vs regulation 2x2 (chase the surprise)
- C β dnaA init-probability sweep (push the partial)
- D β graded translation dose-response (rescue the null)
Pipeline-gate decision
Ready to run6.v1βv2 equivalence at scale: a large (16Γ16) baseline ensemble graded against vEcoliβ BlockedβΆ Ran Β· 2 runsTests: 3β Β· 2ββ FailingEstablish whether the v2ecoli wild-type baseline population phenotype is
equivalent (within tolerance) to vEcoli's at large ensemble scale. The
instrument is the population_phenotype_basal report card (PR #134) rendered
in its vs_vecoli equivalence mode: the SAME 21-axis / 5-group card
(Physiology Β· Composition Β· Ribosomes Β· Exchange fluxes Β· Gene expression),
graded against a matched vEcoli ("v1") ensemble rather than v2's self-pin.
Scale is 16 seeds Γ 16 generations (2Γ the seeds of the #134 8Γ16 demo),
burn-in generation_lower_bound=3.
Confidence: highEvidence: matched 16Γ16 v2 (256 cells) vs vEcoli (185 cells) ensembles + reference-driven typed-criteria report card (PRConclusion Card overall: MISMATCH (12 within_tol β Β· 6 drift β Β· 3 mismatch β Β· 0 ungraded), over all 21 axes graded at 16Γ16.4/6 tests passingInsight The #134 8Γ16 equivalence picture HOLDS at the larger 16Γ16 scale: v2 is behaviorally the same E.
Biology
Whether v2ecoli is still "the same E. coli" as the upstream vEcoli (v1) at a population scale large enough to tighten the omics/flux equivalence axes. The report card grades emergent population phenotypes (cell-level aggregation over a 16Γ16 seedsΓgens ensemble) on 21 axes / 5 groups, comparing v2's distribution against a matched v1 reference. Equivalence on physiology / composition / ribosomes with a localized respiratory-exchange divergence (#143) is the honest reading of how faithfully v2 reproduces v1's wild-type phenotype.
Literature anchors
The biological expectations this study tests, mapped to the model observable that will measure each one. Full citations live in the test cards.
MEASURED (v2) side: v2ecoli.composites.ecoli_baseline.ecoli_baseline driven by the basal stimulus config v2ecoli/configs/population_phenotype_basal_16x16.json (16 seeds Γ 16 generations, single_daughters, burn-in 3), resumed from a full-ParCa cache (out/cache_full, 51 TF conditions). Dispatched Ray-parallel (run_seeds_parallel) on the Mac mini with the parquet store as authoritative (the in-engine ParquetEmitter is a RAM trap β use the sidecar). The card is regenerated over the existing sweep with `v2ecoli-analyze <sweep> --config configs/population_phenotype_basal_16x16.json` (no re-sim).
REFERENCE (vEcoli / v1) side: a matched 16Γ16 vEcoli ensemble produced from the vEcoli source ALREADY AVAILABLE WITHIN v2ecoli (the in-repo vEcoli / comparison-harness machinery used by the other v1βv2 comparison reports β NOT an external SMS/vecoli-benchmarking checkout). The reference is pinned with scripts/pin_vecoli_equivalence_reference.py, which reuses the self-pin reference as the presentation/criterion template and swaps in v1's per-cell distributions (it carries self-contained cross-implementation readers for the two v1βv2 emit-schema differences β vEcoli's cumulative `time` vs `global_time`, and positional `bulk` vs paired `bulk__id`/`bulk__count`), so the shared analysis_runner stays untouched. The v1 commit is stamped in the reference's stimulus.blessed_model_ref.
RENDER: reports/population_phenotype_basal_report.py --analysis out/ppb16_parallel/parquet/analysis.json --reference docs/report_cards/population_phenotype_basal/vs_vecoli/vecoli_reference.json --sweep-dir out/ppb16_parallel/parquet --gen-lb 3 --model-ref bd2123d2 --out-dir docs/report_cards/population_phenotype_basal/vs_vecoli/ β report_card.{html,md} (regenerated at 16Γ16 for this study). Rendered WITH vector extraction (not --no-vectors) so the gene-expression r2 + exchange-flux axes are graded, not ungraded.
ACTUAL RUN: v2 dispatched via the NEW parallel-by-default multi-seed path (run_workflow β run_seeds_parallel, one Ray worker per seed, ~6 concurrent on the 12-core/64 GB mini), which cut wall-time from ~17 h (single-process meta-composite, ~4 min/cell sequential) to ~3.6 h for the full 256-cell ensemble. vEcoli ran its own Nextflow workflow (CovertLab/vEcoli @ b237873e) from the sibling in-repo checkout.
By group (Ξ = v2 vs v1; p = Welch; d = Cohen's d): β’ PHYSIOLOGY (4 β / 2 β): doubling time Ξ β2.2% β, cell mass β4.4% β, cell volume β4.4% β, replication completion +4.7% β; oriC β6.3% β drift, replication initiation β7.2% β drift. β’ COMPOSITION (3 β): protein/DW +3.3% β, RNA/DW β1.5% β, DNA/DW +1.0% β β fully equivalent. β’ RIBOSOMES (2 β / 2 β): active fraction +0.1% β, elongation rate +0.2% β; total ribosomes β5.8% β drift, rRNA-init production β8.7% β drift. β’ EXCHANGE FLUXES (3 β / 1 β / 2 β β THE DIVERGENCE): overall flux fingerprint RΒ² = 0.9989 β (40 matched, 0 appeared/lost, 6 sub-floor), glucose β4.4% β, ammonium β2.4% β; but Oβ exchange Ξ β40.4% β mismatch and COβ exchange Ξ β20.3% β mismatch (acetate sentinel β drift, near floor). This is the Oβ/COβ respiration deficit filed as issue #143 β and it PERSISTS at 16Γ16. β’ GENE EXPRESSION (1 β / 1 β): transcriptome (mRNA cistrons) RΒ² = 0.9461 β (below the strict 0.99 band), proteome (monomers) RΒ² = 0.9613 β drift β highly correlated but short of the strict self-pin equivalence band.
Overview
This study asks whether is the v2ecoli wild-type baseline still "the same E. coli" as vEcoli (v1) when. We recorded 2 contradict it. Gate decision: Blocked. Investigate why 2 test(s) failed.
Purpose & background (study design)
Detailed findings
Infrastructure / computational findings (2)
Conclusion verdicts
Three-track verdict β each result is computed from canonical fields (gate evaluator, run status, finding tiers). The basis is the author's rationale.
Discovery implications
Where this study's results leave the mechanism model β and what to investigate next.
β Resolved uncertainties
- The #134 8Γ16 equivalence picture HOLDS at 16Γ16: Physiology / Composition / Ribosomes within tolerance (12 axes β, 6 minor drift), the overall exchange-flux fingerprint near-identical (RΒ²=0.9989), the exchange-flux metabolic divergence (Oβ -40%, COβ -20%) persisting (issue #143), and gene expression highly correlated but below the strict 0.99 band (transcriptome RΒ²=0.946, proteome RΒ²=0.961 vs ~0.93β0.94 at 8Γ16). The larger sample tightened the statistics without changing the qualitative verdict.
- A matched 16Γ16 vEcoli reference IS feasible from the in-repo sibling vEcoli (CovertLab/vEcoli @ b237873e) via its own Nextflow workflow. It ran to its natural maximum of 185 cells (9/16 single-daughter lineages completed all 16 gens; 7 truncated at deterministic FBA metabolic dead-ends β 256 unreachable for this seed set). 185 cells is a large, valid reference (> the 128-cell 8Γ16 demo).
- v2's single-process meta-composite is impractically slow for 16Γ16 (~4 min/cell sequential β ~17 h); the new parallel-by-default multi-seed path (run_seeds_parallel) cut it to ~3.6 h for the full 256-cell ensemble. v2 completed all 16/16 lineages (256 cells); 24/256 generations hit the duration cap without dividing (the #142 sawtooth), surfaced by the card's sim-health banner.
β Remaining uncertainties
- The gene-expression 'mismatch' is a strict-band artifact (RΒ²=0.946 vs a 0.99 threshold inherited from the self-pin template). The principled cross-impl form β TOST + per-axis Ξ΄ equivalence margins β would convert this into an explicit equivalence-margin verdict rather than a hard fail. Nice-to-have, not blocking.
- Root cause of the Oβ/COβ respiratory-exchange divergence (issue #143) is not resolved here β this study confirms it is stable and localized at scale, it does not explain it.
Conditions β what we set up to test it
Baseline
v2ecoli.composites.ecoli_baseline.ecoli_baseline0out/cache_fullVariants (1)
Each variant is a perturbation of the baseline β typically a parameter override or a swapped composite. These define the runs that test the assumption.
| Variant | Composite / base | Parameter overrides | Notes | Run |
|---|---|---|---|---|
vEcoli (v1) reference ensemble | v2ecoli.composites.ecoli_baseline.ecoli_baseline | (no overrides) | β | vwb run study showcase-6-equivalence-large --variant vEcoli (v1) reference ensemble |
Model settings (5)
Parameters that need human input before the study runs. Edit a value on the dashboard's study-detail page (Build tab) and the next pbg_runner invocation will pick it up.
| Name | Type | Default | Current | Range | Gate | Description |
|---|---|---|---|---|---|---|
reference-mode-v1v2-equivalence | β | awaiting expert | β | optional | β | |
large-ensemble-16x16 | β | awaiting expert | β | optional | β | |
ray-parallel-dispatch | β | awaiting expert | β | optional | β | |
parquet-authoritative | β | awaiting expert | β | optional | β | |
vecoli-source-in-repo | β | awaiting expert | β | optional | β |
What we ran (2 simulations)
One row per concrete run: the model composite, what changes vs the reference baseline, the condition / length, and its status.
| Simulation | Composite | Changes vs baseline | Run | CLI | Status |
|---|---|---|---|---|---|
| v2-16x16-parallel-ensemble | baseline | reference baseline | 37 seeds | vwb run study showcase-6-equivalence-large | complete |
| vecoli-16x16-reference-ensemble | vEcoli (CovertLab/vEcoli @ b237873e) | different model vEcoli (CovertLab/vEcoli @ b237873e) | 67 seeds | vwb run study showcase-6-equivalence-large | complete |
Measurements (5 readouts)
Quantities we extract from each simulation run to evaluate the study's tests.
| Readout | Status | Path | Description |
|---|---|---|---|
| physiology-group | β | β | Physiology group: doubling time, cell mass, cell volume, oriC, replication init/completion timing |
| composition-group | β | β | Composition group: protein / RNA / DNA dry-mass fractions |
| ribosomes-group | β | β | Ribosomes group: total ribosomes, active fraction, elongation rate, rRNA-init production |
| exchange-fluxes-group | β | β | Exchange fluxes group: overall flux fingerprint RΒ², glucose / ammonium / Oβ / COβ / acetate exchange |
| gene-expression-group | β | β | Gene expression group: transcriptome (mRNA cistrons) RΒ² + proteome (monomers) RΒ² over ensemble-mean count vectors |
Success criteria (5 tests β 3 β passed Β· 2 β failed)
Each test makes a specific scientific claim with a machine-checkable criterion (measure + pass_if). Tests are now evaluated by code against the run (the run/outcome spine: RunReader β evaluator): the pill shows the result, and the evidence line shows the measured value, whether it was computed by code or routed to an agent, and whether the code verdict agrees with the authored one (reconcile). β³ pending = the study hasn't run yet. Technical assertion + the exact evaluator are under "Technical details".
physiology-equivalent-to-vecoliTechnical details
Measure: report_card_axisPass condition: {"op":"report_card_group_within_tol"}
Python:
vivarium_workbench/lib/expected_behavior.py β evaluate(); measure kind report_card_axis via _series_for_simple_kind()/_measure(); op report_card_group_within_tol via _check()composition-equivalent-to-vecoliTechnical details
Measure: report_card_axisPass condition: {"op":"report_card_group_within_tol"}
Python:
vivarium_workbench/lib/expected_behavior.py β evaluate(); measure kind report_card_axis via _series_for_simple_kind()/_measure(); op report_card_group_within_tol via _check()ribosomes-equivalent-to-vecoliTechnical details
Measure: report_card_axisPass condition: {"op":"report_card_group_within_tol"}
Python:
vivarium_workbench/lib/expected_behavior.py β evaluate(); measure kind report_card_axis via _series_for_simple_kind()/_measure(); op report_card_group_within_tol via _check()exchange-fluxes-equivalent-to-vecoliTechnical details
Measure: report_card_axisPass condition: {"op":"report_card_group_within_tol"}
Python:
vivarium_workbench/lib/expected_behavior.py β evaluate(); measure kind report_card_axis via _series_for_simple_kind()/_measure(); op report_card_group_within_tol via _check()gene-expression-correlates-vecoliTechnical details
Measure: report_card_axisPass condition: {"op":"report_card_group_within_tol"}
Python:
vivarium_workbench/lib/expected_behavior.py β evaluate(); measure kind report_card_axis via _series_for_simple_kind()/_measure(); op report_card_group_within_tol via _check()Model changes
None to the model β this grades the unperturbed baseline at scale. The change vs the #134 8Γ16 demo is purely SCALE (16 seeds Γ 16 gens, 2Γ the seeds) and the reference MODE (vs_vecoli equivalence rather than self-pin), plus the new parallel-by-default multi-seed dispatch (run_seeds_parallel) that cut wall-time from ~17 h to ~3.6 h.
Key assumptions
- A matched 16Γ16 vEcoli reference can be generated from the in-repo vEcoli source and pinned with pin_vecoli_equivalence_reference.py; v1 and v2 share cistron/monomer/flux ordering exactly, so the omics/flux vectors align positionally with no ID remapping (verified at 8Γ16 in #134).
- The population_phenotype_basal report card (PR #134) grades the SAME 21 axes at 16Γ16 as at 8Γ16 β scale changes the population statistics, not the axis definitions or criteria β so the equivalence verdict at large scale is directly comparable to the #134 8Γ16 demo.
- v2's single-process multi-generation lineage runner sawtooths (in-process state accumulation β degrade β divide-fail β reset-from-cache; #142); at 16 generations the burn-in (generation_lower_bound=3) and the card's stationarity flag / variance decomposition surface this honestly rather than letting it corrupt the graded window.
Build / fix list (1)
Concrete engineering work to fully exercise this study.
Conclusion synthesis
Read-only synthesis derived from the study's canonical fields (findings, limitations, follow-up proposals).
- tests: mismatch
- Basal-condition population phenotype β v1βv2 equivalence: mismatch (12 β 6 β 3 β)
- Report card verdict: mismatch
- 12 β 6 β 3 β
References cited by this study
macklin2020
Pipeline-gate decision
Blocked- vecoli-reference-pinned
- physiology-equivalent-to-vecoli
- composition-equivalent-to-vecoli
- ribosomes-equivalent-to-vecoli
- exchange-fluxes-equivalent-to-vecoli
- gene-expression-correlates-vecoli
Pipeline gate & conclusion logic (technical)
Prerequisites: none (root study)
Enables: β
Appendices
Method-grading and verification detail β kept at the back, after the main narrative.
How the verdict is computed β acceptance criteria & gating matrix
Each acceptance criterion is a behaviour test declared in a study: a measured field from the run (e.g. closure_gap_size) compared against an explicit pass_if band (a numeric threshold/range). The per-criterion result, each studyβs gate verdict, and this roll-up are computed in code from the run outcomes (deterministic) β not human judgement. Expand a row to see the field, the passing band, and the observed value.
| Acceptance criterion | Gating study | Result |
|---|---|---|
| parca-rebuilds-full-51-conditions-from-ecoli-sources | showcase-1-parca | β in-progress |
| baseline-ensemble-reproduces-wild-type-properties | showcase-2-baseline-figures | β in-progress |
| reviewer-selects-perturbation-variant-to-run | showcase-3-variant-decide | β in-progress |
| five-variant-sweep-ranks-perturbation-contrasts-vs-baseline | showcase-4-variant-comparison | β in-progress |
| reviewer-selects-next-direction-from-showcase-4-ranking | showcase-5-next-direction-decide | β in-progress |
| large-16x16-baseline-ensemble-equivalent-to-vecoli-within-tolerance | showcase-6-equivalence-large | β in-progress |
All 6 acceptance criteria are linked to a gating study.
π¬ Evidence & rigor β how well the method defends its claims 2/6 investigation rigor dimensions addressed Β· 4 gap(s)
Deterministic feedback on how well the method defends its claims against a skeptical reader β a method-level judgement, distinct from the per-study model verdicts above. Computed from declared fields, not judged. Gaps are an invitation to add negative controls, replicate across seeds, weigh alternative explanations, state falsifiability, or add an adversarial study.
Per-study rigor
showcase-1-parca β 3/12 rigor dimensions addressed Β· 8 gap(s)
showcase-2-baseline-figures β 4/12 rigor dimensions addressed Β· 7 gap(s)
showcase-3-variant-decide β 6/12 rigor dimensions addressed Β· 5 gap(s)
showcase-4-variant-comparison β 3/12 rigor dimensions addressed Β· 8 gap(s)
showcase-5-next-direction-decide β 6/12 rigor dimensions addressed Β· 5 gap(s)
showcase-6-equivalence-large β 4/12 rigor dimensions addressed Β· 6 gap(s)
π Framework scorecard framework-self metrics (n=14 investigations)
Framework-self metrics aggregated across every study and investigation in the workspace β how consistently the framework itself applies its own rigor practices (discriminating controls, emergent-mechanism labelling, threshold provenance, replication, verdict divergence, falsification exposure). Computed deterministically from declared fields by pbg_superpowers.rigor.framework_metrics.
π§© Suggested additions β pending your approval 4 items Β· 4 pending
Four candidate VARIANTS for showcase-3-variant-decide, proposed by the agent for reviewers to Accept or Decline. None is committed β the reviewer chooses which perturbation best demonstrates v2ecoli's response. (See the investigation-level decisions_needed and showcase-3's discovery_implications.followup_study_proposals for the same four.)
showcase-3-variant-decideshowcase-3-variant-decideshowcase-3-variant-decideshowcase-3-variant-decideReferences (4 cited across this investigation)
Union of bibliography.bib_keys and per-behavior cites: across all studies in this investigation. Click DOI or link to open the source.
macklin2020· Macklin, Derek N. and Ahn-Horst, Travis A. and Choi, Heejo and Ruggero, Nicholas A. and Carrera, Javier and Mason, John C. and others (2020). Simultaneous cross-evaluation of heterogeneous E. coli datasets via mechanistic simulation. Science 369(6502), pp. eaav3751 Β· doi:10.1126/science.aav3751Note: The v2ecoli (Covert-lab) WCM. DUF ref [1].schmidt2016· Schmidt, Alexander and Kochanowski, Karl and Vedelaar, Silke and Ahrn\'e, Erik and Volkmer, Benjamin and Callipo, Luciano and Knoops, K\`evin and Bauer, Manuel and Aebersold, Ruedi and Heinemann, Matthias (2016). The quantitative and condition-dependent Escherichia coli proteome. Nature Biotechnology 34(1), pp. 104--110 Β· doi:10.1038/nbt.3418Note: Absolute condition-dependent E. coli proteome (often cited as "Schmidt 2015/2016"); the measured proteome the v2ecoli baseline monomer counts are correlated against (showcase-2 Schmidt r, showcase-4 proteome panel).toya2010· Toya, Yoshihiro and Ishii, Nobuyoshi and Nakahigashi, Kenji and Hirasawa, Takashi and Soga, Tomoyoshi and Tomita, Masaru and Shimizu, Kazuyuki (2010). 13C-metabolic flux analysis for batch culture of Escherichia coli and its pyk and pgi gene knockout mutants based on mass isotopomer distribution of intracellular metabolites. Biotechnology Progress 26(4), pp. 975--992 Β· doi:10.1002/btpr.420Note: C13-MFA central-carbon flux measurements for glucose-grown E. coli; the reference flux dataset the v2ecoli baseline FBA fluxes are correlated against (showcase-2/showcase-4). toya_2010_central_carbon_fluxes.tsv.wisniewski2014· Wi\'sniewski, Jacek R. and Rakus, Dariusz (2014). Multi-enzyme digestion FASP and the `Total Protein Approach'-based absolute quantification of the Escherichia coli proteome. Journal of Proteomics 109, pp. 322--331 Β· doi:10.1016/j.jprot.2014.07.012Note: Total-Protein-Approach absolute E. coli proteome quantification; the second measured-proteome reference the v2ecoli baseline monomer counts are correlated against (showcase-2 Wisniewski r ~0.60, showcase-4 proteome panel).- v2ecoli issue #143 β O2/CO2 respiratory-exchange divergence βTracking issue for the localized respiratory-exchange (O2 -40% / CO2 -20%) deficit this study confirms is stable and localized at 16x16 scale (not a new bug).