OpenWorm aims to build the first comprehensive computational model of Caenorhabditis elegans (C. elegans), a microscopic roundworm. With only a thousand cells, it solves basic problems such as feeding, mate-finding and predator avoidance. Despite being extremely well-studied in biology, a deep, principled understanding of the biology of this organism remains elusive.
We are using a bottom-up approach, aimed at observing the worm behaviour emerge from a simulation of data derived from scientific experiments carried out over the past decade. To do so we are incorporating the data available from the scientific community into software models. We are also forging new collaborations with universities and research institutes to collect data that fill in the gaps.
We have put together a docker container that pulls together the major components of our simulation and runs it on your machine. When you get it all running it do the following:
- Run our nervous system model, known as c302, on your computer.
- Run our body model, known as sibernetic, on your computer, using the output of the nervous system model.
- Produce graphs from the output of the nervous system model that demonstrate its output on your computer for you to inspect.
- Produce a movie showing the output of the body model for you to inspect.
Example Output
Installation
Pre-requisites:
- Currently Windows is not supported; you will need Mac OS or Linux (or a virtual environment on Windows that runs either of those).
- You should have at least 60 GB of free space on your machine and at least 2GB of RAM
To Install:
- Install Docker on your system.
Running
- Open a terminal and run
run-with-shell.sh
. - Run
DISPLAY=:44 python master_openworm.py
. - About 5-10 minutes of output will display on the screen as the steps run.
- The simulation will end. Exit the container with
exit
and runstop.sh
on your system to clean up the running container. - Inspect the output in the
output
directory.
Advanced
Try the following to play around with the system:
- Open a terminal and run
run-with-shell.sh
. This will let you log into the system before it has runmaster_openworm.py
. From here you can inspect the internals of the various checked out code bases and installed systems and modify things. Afterwards you'll still need to runstop.sh
to clean up. - If you modify what gets installed, you should modify Dockerfile. If you modify what runs, you should modify
master_openworm.py
. Either way you will need to runbuild.py
in order to rebuild the image locally. Afterwards you can run normally.
Find out more about OpenWorm. Documentation is available at http://docs.openworm.org
This repository stores:
- A project-wide Kanban board of all issues
- Project-wide tracking via high-level issues and milestones