971 MB
675 files
Updated 25 days ago
Name
Size
data
random
results
v0
v1
v2
v3
v4_opt
wcm_gene_set
README.md5.13 kB
xet
README.md

McClain/minimal_genomes — HF Bucket

Data for the genome-minimizer-2 Cell Systems rebuttal. Private bucket.

Paper: "Designing minimal E. coli genomes using variational autoencoders" (Barnes et al., CELL-SYSTEMS-D-25-00724)

Access

# Requires huggingface_hub >= 1.8.0
hf buckets ls hf://buckets/McClain/minimal_genomes/
hf buckets sync hf://buckets/McClain/minimal_genomes/ ./local_copy/   # download all
hf buckets sync ./local_dir hf://buckets/McClain/minimal_genomes/path/ # upload

Layout

McClain/minimal_genomes/
├── v0/samples/                          # VAE v0 (baseline, hidden=1024, latent=64)
│   ├── v0_samples.npy                   #   Raw decoder output (100 x 55039, continuous)
│   ├── v0_gene_lists.npy                #   Gene names after 0.5 threshold (no repair)
│   ├── v0_gene_lists_no_repair.npy      #   Same as above (alias for clarity)
│   └── v0_gene_lists_with_essentials.npy #  Gene names with 358 literature essentials added
├── v1/samples/                          # VAE v1 (+ gene abundance loss, L1)
├── v2/samples/                          # VAE v2 (+ cosine KL annealing)
├── v3/samples/                          # VAE v3 (+ weighted gene abundance) — paper's primary
├── random/samples/                      # Random baseline (core + freq-weighted accessory)
│   ├── random_gene_lists.npy
│   ├── random_gene_lists_no_repair.npy
│   └── random_gene_lists_with_essentials.npy
│
└── results/
    ├── 1gen_repair/                     # vEcoli 1-generation, literature essential repair
    │   ├── random/result_sample*.json
    │   ├── v0/result_sample*.json
    │   ├── v1/result_sample*.json
    │   ├── v2/result_sample*.json
    │   └── v3/result_sample*.json
    ├── 1gen_no_repair/                  # vEcoli 1-generation, no essential repair (pending)
    ├── 20gen_repair/                    # vEcoli 20-generation, literature essential repair (pending)
    │   └── v3/result_sample0_seed0.json #   Test result: VIABLE 20/20 gens
    └── 20gen_no_repair/                 # vEcoli 20-generation, no repair (future)

Samples

100 genomes per variant, sampled from the VAE prior N(0,1) with seed=42. Binary threshold at 0.5. Gene names from F4_complete_presence_absence.csv (55,039 genes).

Variant Mean genes (raw) Mean genes (w/ essentials) Pangenome reduction
v0 4307 4355 92.1%
v1 4062 4110 92.5%
v2 4152 4199 92.4%
v3 3163 3217 94.2%
random 3217 3268 94.1%

Random baseline: all core genes (>95% frequency, n=3091) + frequency-weighted random sample of accessory genes to match v3 gene count.

Results

1-gen with repair (COMPLETE)

vEcoli 1.1.0, 1 generation, 358 literature essential genes added before eval.

Variant Viable Total Rate
random 97 100 97%
v0 97 100 97%
v1 96 100 96%
v2 97 100 97%
v3 96 100 96%

All variants (including random) show near-identical ~96% viability. This is expected: with essential genes repaired and only ~50% of vEcoli genes knocked out, E. coli is robust enough to divide.

20-gen with repair (IN PROGRESS)

vEcoli 1.1.0, 20 generations, literature essential repair. Matches paper methodology (except paper used wcEcoli with 1,872 genes, not vEcoli with 4,739).

Test result: v3 sample 0 survived all 20 gens (4.8h wall time).

1-gen no repair (PENDING)

Same as above but essential genes NOT added back. This tests whether the VAE learns to retain essentials on its own (reviewer concern).

Result JSON format

{
    "sample_idx": 0,
    "seed": 0,
    "divided": true,                    // 1-gen results
    "viable": true,                     // 20-gen results
    "target_generations": 20,
    "generations_completed": 20,
    "n_genes_in_list": 3195,
    "n_genes_mapped_to_vecoli": 2231,
    "n_vecoli_genes_total": 4739,
    "n_knockouts": 2508,
    "total_wall_time_s": 17407.38,
    "generation_details": [...]         // 20-gen only
}

Evaluation infrastructure

vEcoli runs on UCL Myriad HPC via Apptainer container (Python 3.12.12-bookworm). See evaluation/infra.md in the genome-minimizer-2 repo for full details.

Key methodological note

The original paper used wcEcoli (Feb 2023, 1,872 modelled genes) and got 6/100 viable. We use vEcoli 1.1.0 (4,739 modelled genes). vEcoli is a port of wcEcoli to the Vivarium framework with an expanded gene set. Results are not directly comparable to the paper's 6/100 rate due to the different gene count and model version.

Total size
971 MB
Files
675
Last updated
Jun 12
Pre-warmed CDN
US EU US EU

Contributors