Skip to content

OpenWorm Modeling Approach

Mission

Our main goal is to build the world's first virtual organism — an in silico implementation of a living creature — for the purpose of achieving an understanding of the events and mechanisms of living cells.

This is now formalized in 28 Design Documents (DD001-DD027, plus DD014.1 and DD014.2) that specify every subsystem from ion channels to organism behavior, validated against experimental data.


From Prototype to Production (2011-2026)

The Early Vision (2011-2014): CyberElegans Prototype

When OpenWorm started, we built a prototype (CyberElegans, 2014) demonstrating the core idea: simulate neurons, muscles, and body physics in a coupled loop to produce emergent locomotion.

Watch the CyberElegans prototype

This prototype proved the concept worked. But it was:

  • Not validated against experimental data
  • Hardcoded parameters (not tunable)
  • 302 identical neurons (not biologically differentiated)
  • No organ systems (pharynx, intestine, reproductive)

The Current Architecture (2018-2026): Design Document Era

Today, OpenWorm is built on formal Design Documents that specify:

These three DDs (the "core chain") are WORKING and VALIDATED:

  • 15ms simulations produce emergent locomotion
  • Validated against Schafer lab kinematics (speed, wavelength, frequency within +/-15%)
  • Published: Sarma et al. 2018, Gleeson et al. 2018

Watch the current simulation


The Multi-Scale Architecture

OpenWorm doesn't model at one scale — it models at five scales simultaneously, coupled together:

Scale Time Space Design Documents Validation
Molecular Microseconds Angstroms DD017 (foundation models to params) Protein structures (AlphaFold)
Channel Milliseconds Nanometers DD001 (HH channels), DD005 (CeNGEN to conductances) Patch clamp electrophysiology
Cellular Milliseconds-seconds Micrometers DD001 (neurons), DD002 (muscles), DD007-DD009 (organs) Calcium imaging, EMG
Tissue Seconds Hundreds of um DD003 (body physics), DD004 (cell identity) Kinematics, organ function
Organism Seconds-minutes Millimeters DD010 (behavioral validation), DD019 (closed-loop) Behavioral assays

This is what makes OpenWorm unique compared to other computational biology projects:

  • Virtual Cell projects (CZI, Arc) focus on single-cell molecular scale
  • Connectome projects focus on neural wiring
  • OpenWorm is the only project coupling all 5 scales into a single whole-organism simulation

The Causal Loop (Bottom-Up + Validated)

Inspired by Robert Rosen's work on causal loops (referenced in DD001), OpenWorm focuses on the sensorimotor loop as the minimum core:

OpenWorm Sensorimotor Causal Loop — click any DD to navigate

DD019 (Closed-Loop Touch Response) closes this loop — the worm can sense its environment (cuticle strain to MEC-4 channels to neural response to motor pattern to movement).


Components (Now Fully Specified)

Body and Environment

Historical (2014): CyberElegans prototype demonstrated SPH body physics

Current Specifications:

  • DD003 (Body Physics): PCISPH algorithm, ~100K particles (liquid, elastic, boundary), validated
  • DD004 (Mechanical Cell Identity): Per-particle cell IDs, 959 somatic cells, cell-type-specific elasticity
  • DD022 (Environment): Substrates (agar, liquid, soil), chemical/thermal gradients, food particles

Implementation: Sibernetic repository

Neurons

Historical: 302-neuron NeuroML connectome (all neurons identical)

Current Specifications:

  • DD001 (Neural Circuit): Multi-level HH framework (Levels A-D), graded synapses (Level C1 default)
  • DD005 (Cell-Type Specialization): 128 distinct neuron classes from CeNGEN single-cell transcriptomics
  • DD006 (Neuropeptides): 31,479 peptide-receptor interactions (Ripoll-Sanchez 2023), slow modulation
  • DD007 (Pharynx): 20 pharyngeal neurons (semi-autonomous pumping circuit)
  • DD018 (Egg-Laying): 2 HSN serotonergic + 6 VC cholinergic neurons (two-state pattern)
  • DD019 (Touch): 6 touch receptor neurons (MEC-4 mechanotransduction)
  • DD023 (Proprioception): B-class motor neuron stretch receptors

Implementation: c302 repository

Muscle Cells

Historical: Generic muscle model

Current Specifications:

  • DD002 (Body Wall): 95 muscles, HH conductances 10-1000x smaller than neurons
  • DD007 (Pharyngeal): 20 pharyngeal muscles, plateau potentials, gap-junction-synchronized
  • DD018 (Reproductive): 16 sex muscles (8 vulval, 8 uterine), EGL-19/UNC-103 channels

Implementation: c302 repository + muscle_model repository

Organs (New!)

Added in Phase 3:

  • DD007 (Pharynx): 63-cell semi-autonomous organ, 3-4 Hz pumping
  • DD009 (Intestine): 20-cell IP3/Ca oscillator, 50s defecation motor program
  • DD018 (Egg-Laying): 28-cell reproductive circuit

These weren't in the original vision but are now formalized with quantitative validation targets.


Validation (Now 3-Tier Framework)

Historical: "Movement validation project" (vague)

Current Specification: DD010: Validation Framework

Tier What Validation Data Blocking?
Tier 1 Single-cell electrophysiology Goodman lab patch clamp No (warning)
Tier 2 Circuit functional connectivity Randi 2023 whole-brain imaging YES (r > 0.5)
Tier 3 Behavioral kinematics Schafer lab WCON database YES (+/-15%)

Tool: open-worm-analysis-toolbox (being revived per DD021)

More details available on the Validation page.


Tuning and Optimization

Historical: "Use genetic algorithms to search parameter space"

Current Specification: DD017: Hybrid Mechanistic-ML Framework

4 components:

  1. Differentiable simulation backend — PyTorch ODE solver, gradient descent auto-fitting
  2. Neural surrogate for SPH — FNO learns muscle-to-movement mapping, 1000x speedup
  3. Foundation model to ODE parameters — ESM3/AlphaFold predict channel kinetics from gene sequences
  4. Learned sensory transduction — RNN learns stimulus-to-neuron response (chemotaxis, thermotaxis)

The mechanistic core (DD001-003 HH+SPH equations) is preserved. ML operates at boundaries (parameter fitting, acceleration, sensory front-end), never replacing causal interpretability.


Reproducibility (Platform Evolution)

Historical: Geppetto (2014-2020) — Java-based web platform for multi-algorithm simulation

Current Specification: DD014: Dynamic Visualization

  • Phase 1: Trame viewer (PyVista + live server, organism + tissue scales)
  • Phase 2: Interactive layers (neuropeptides, organs, validation overlay)
  • Phase 3: Three.js + WebGPU static site, molecular scale, wormsim.openworm.org (WormSim 2.0)

Why the evolution from Geppetto? DD014 Alternatives Considered: Geppetto is Java-based, requires per-client server processes, not updated for WebGPU. Trame is lighter, Python-native (matches contributor skillset), actively maintained.

Geppetto is preserved as historical documentation and in the GitHub repository.


Integration (Now Formal Architecture)

Historical: "Multi-algorithm integration" concept (no formal spec)

Current Specification: DD013: Simulation Stack

  • openworm.yml config system (single source of truth)
  • Multi-stage Docker build (neural, body, validation, viewer stages)
  • docker-compose.yml (quick-test, simulation, validate services)
  • versions.lock (pin exact commits for reproducibility)
  • Integration Maintainer role (coordinates coupling between DDs)

Each DD's Integration Contract specifies exactly what it consumes and produces, ensuring composability.


What's Next

The path from today's 302-neuron simulation to the complete 959-cell organism is organized into 4 implementation phases over ~18 months, progressing through cell-type specialization, sensory integration, organ systems, and finally the full organism with photorealistic visualization. See the Implementation Roadmap for the complete phase-by-phase timeline with milestones and Design Document assignments.

Contribute: Check the Design Documents for areas that match your skills, then follow the DD contribution workflow.