Creating the first virtual organisms: the OpenWorm digital life project
If you ever walked into a bait shop and asked for a bag of self-hooking worms, the attendant would probably look at you like you had two heads. A slightly more sophisticated sports outfitter running the latest version of the creature-simulating platform, OpenWorm, and packing a well-stocked biohacker lab might instead lead you behind the counter and ask you to design your own. OpenWorm is an open-source project that aims to create a virtual nematode worm in a computer. The wiki and code are on GitHub, which makes it easy for anyone with coding skills to get involved. What makes this project different from any other attempt to create virtual organisms is that its bottom-up approach starts with data from scientific experiments, and builds up a complete worm cell by cell.
Feynman made the open-ended assertion that understanding of something is not entry into a mental state of new knowledge, but rather the physical process of building it. Despite years of study, a principled understanding of the tiny roundworm, c. elegans, still eludes researchers. By capturing sufficient complexity at a low level in the worm itself, and including a similarly-detailed model of its environment, researchers anticipate worm-appropriate behaviors to spontaneously emerge that are consistent with experimental data.
With just a thousand cells, the real worm solves the basic problems of feeding, mate-finding, and predator avoidance. Its brain is composed of 302 neurons and their entire connectome has previously been mapped out in detail by other researchers. Using the connectome as a starting point, comprehensive computational models that describe compartments of each neuron, and the synaptic connections between them can be described.
A standalone model of a worm is just that, a sterile facsimile of the real thing. The real power is that a good model can potentially be more than the organism it represents. For argument’s sake, we might imagine adding a network of 50 additional neurons to the worm in attempt to breed in or otherwise teach it to self-bait under the appropriate conditions or stimulus. Doing such a thing in software could be a whole lot faster than in the real worm. At this point in time at least, the OpenWorm project does not simulate development, nor utilize information from the known genome of the worm itself. It does, however, incorporate some sophisticated software already.
The OpenWorm project has developed a Java OSGi modular platform known as Geppetto, to enable multi-scale interactive simulation of biological systems. It features a built-in WebGL visualizer that runs right in the browser. The OpenWorm Browser enables access to a cell-by-cell 3D representation of the worm. The connectome is described using the NeuroML language, and employs an optimization engine that uses genetic algorithms to fill in gaps in the worm’s physiology, including the simulation of the muscles. The project also implements smoothed particle hydrodynamics algorithms to simulate body — environment interaction using GPUs. Initially worked out in C++ with OpenGL visualization, it was then ported to Java as a bundle for Geppetto.
How can we even imagine going about building the self-baiting worm?
In the real world, one established mechanism for reprogramming neurally-controlled behaviors from the outside is through viral infection. Examples in literature abound with tales of viruses making ants climb to the top of tall blades of grass to be eaten for transmission of the virus to the next host. The same for infecting mice to lose fear and be captured by cats. At the core, though, the virus is just a convenient way to package molecular agents used to modify some already extant behaviors. The need for viral transformation of behavioral might therefore be superfluous in a simulation. One could imagine, for example, breeding or programming worms with hyperactive iron transporters to concentrate iron or other metals in their blood. After many iterations of feeding them iron-laced sustenance and exposing them to sharp objects, a few may stumble upon the therapeutic blood-letting techniques so valued by Stone Age medical practitioners. These guys could then both be relieved of excess iron and be regaled by potential mates for their unique survival talents.
In a simulation environment that includes genetics and breeding, self-impalement could be made more than just a mechanism to forestall hemochromatosis (medical iron surplus), but rather it could become the very reason for existence of the worm. While this clear perversion of nature is for example only (c. elegans is very tiny), it illustrates the power of these approaches. We have recently seen the remarkable simulation effects displayed by Nvidia’s PhysX real-time rendered water. The future challenge is as much defining the parameters to simulate, as it is getting advanced simulation packages to work together. Provided these projects do not crumble under their own computation weight, and distributed complexity, we should begin to see some pretty cool effects in building virtual organisms.