diff --git a/docs/Projects/browser.md b/docs/Projects/browser.md new file mode 100644 index 00000000..4915b55f --- /dev/null +++ b/docs/Projects/browser.md @@ -0,0 +1,12 @@ +OpenWorm Browser +========================== + +A WebGL based _C. elegans_ body browser implemented as part of the OpenWorm project. + +The 3D _C. elegans_ neurons are provided by the [VirtualWorm project](http://caltech.wormbase.org/virtualworm). We are using the [open-3d-viewer](http://code.google.com/p/open-3d-viewer/) as WebGl engine. + +![Worm Browser](../../images/OpenWormBrowser.png) + +The OpenWorm Browser can be accessed [here](http://browser.openworm.org/). + +The source code for this project can be found [here](https://github.com/openworm/wormbrowser). \ No newline at end of file diff --git a/docs/Projects/datarep.md b/docs/Projects/datarep.md index 6df49694..d04e6586 100644 --- a/docs/Projects/datarep.md +++ b/docs/Projects/datarep.md @@ -31,7 +31,7 @@ A lot of data about _C. elegans_ is integrated into the model. In this project, NeuroML Connectome ------------------ -Our computational strategy to accomplish this involves first reusing the _C. elegans_ connectome and the 3D anatomical map of the _C. elegans_ nervous system and body plan. We have used the NeuroML standard (Gleeson et al., 2010) to describe the 3D anatomical map of the _C. elegans_ nervous system. This has been done by discretizing each neuron into multiple compartments, while preserving its three-dimensional position and structure. We have then defined the connections between the NeuroML neurons using the _C. elegans_ connectome. Because NeuroML has a well-defined mapping into a system of Hodgkin-Huxley equations, it is currently possible to import the "spatial connectome" into the NEURON simulator (Hines & Carnevale 1997) to perform in silico experiments. +Our computational strategy to accomplish this involves first reusing the _C. elegans_ connectome and the 3D anatomical map of the _C. elegans_ nervous system and body plan. We have used the NeuroML standard [(Gleeson et al., 2010)](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1000815) to describe the 3D anatomical map of the _C. elegans_ nervous system. This has been done by discretizing each neuron into multiple compartments, while preserving its three-dimensional position and structure. We have then defined the connections between the NeuroML neurons using the _C. elegans_ connectome. Because NeuroML has a well-defined mapping into a system of Hodgkin-Huxley equations, it is currently possible to import the "spatial connectome" into the NEURON simulator [(Hines & Carnevale 1997)](https://ieeexplore.ieee.org/abstract/document/6795645) to perform in silico experiments. ### Previous accomplishments diff --git a/docs/Projects/docker.md b/docs/Projects/docker.md new file mode 100644 index 00000000..eb1c96be --- /dev/null +++ b/docs/Projects/docker.md @@ -0,0 +1,10 @@ +Docker simulation stack +========================== + +We have created a [Docker container](https://docs.docker.com/guides/docker-concepts/the-basics/what-is-a-container/) which contains all of the major components of the simulation stack we have built so far (including [Sibernetic](../sibernetic/) and [c302](../c302/)). It can be used to run a preliminary model of the worm in 3D on your computer. + +![Docker](../../images/worm-crawling.gif) + +Details on installing and using the OpenWorm Docker simulation stack can be found [here](https://github.com/openworm/OpenWorm/blob/master/README.md#quickstart). + +The source code for this project can be found [here](https://github.com/openworm/OpenWorm). \ No newline at end of file diff --git a/docs/Projects/muscle-neuron-integration.md b/docs/Projects/muscle-neuron-integration.md index 99fdd124..21824230 100644 --- a/docs/Projects/muscle-neuron-integration.md +++ b/docs/Projects/muscle-neuron-integration.md @@ -133,7 +133,7 @@ The [muscle model subproject](https://github.com/openworm/muscle_model/) is conc This depends on what happens in [ChannelWorm](#channelworm), since ion channel dynamics are integral to our simulation of membrane dynamics. -Because the muscle cell is driven both by an electrical model and a mechanical model, it is a focus of integration between different algorithms. Previously we have created a separate [repository for the muscle model](https://github.com/openworm/muscle_model) that is an adaptation of the work by [Boyle & Cohen, 2008](http://www.comp.leeds.ac.uk/netta/CV/papers/BC08b.pdf). We have an [approximately working version](http://www.opensourcebrain.org/projects/muscle_model/wiki) implemented in NEURON and are porting this to be fully NeuroML2 compliant. +Because the muscle cell is driven both by an electrical model and a mechanical model, it is a focus of integration between different algorithms. Previously we have created a separate [repository for the muscle model](https://github.com/openworm/muscle_model) that is an adaptation of the work by [Boyle & Cohen, 2008](https://www.sciencedirect.com/science/article/abs/pii/S0303264708001408). We have an [approximately working version](http://www.opensourcebrain.org/projects/muscle_model/wiki) implemented in NEURON and are porting this to be fully NeuroML2 compliant. The electrical side of the model is currently the focus of the OpenWorm Muscle / Neuron Team. You can connect with the team [on real time chat](https://app.slack.com/client/T02EPNETZ/C40BEV91S) (if you haven't signed up as a contributor to get your Slack invitation, you can [do that here](https://goo.gl/3ncZWn)). diff --git a/docs/Projects/sibernetic.md b/docs/Projects/sibernetic.md index 90439f85..c6049f14 100644 --- a/docs/Projects/sibernetic.md +++ b/docs/Projects/sibernetic.md @@ -3,7 +3,7 @@ NeuroMechanical Modeling - Sibernetic While our ultimate goal is to simulate every cell in the c. Elegans, we are starting out by building a model of its body, its nervous system, and its environment. [Sibernetic](https://openworm.org/sibernetic/) is the home of the C++ code base that implements the core of the model. We have implemented an algorithm called Smoothed Particle Hydrodynamics (SPH) to simulate the body of the worm and its environment using GPUs. This algorithm has been initially worked out in C++ (with OpenGL visualization). -To get a quick idea of what this looks like, check out the [latest movie](https://www.youtube.com/watch?v=SaovWiZJUWY). In this movie you can see a simulated 3D c. elegans being activated in an environment. Its muscles are located around the outside of its body, and as they turn red, they are exerting forces on the body that cause the bending to happen. +To get a quick idea of what this looks like, check out the [latest movie](https://www.youtube.com/watch?v=SaovWiZJUWY). In this movie you can see a simulated 3D _C. elegans_ being activated in an environment. Its muscles are located around the outside of its body, and as they turn red, they are exerting forces on the body that cause the bending to happen. Previous accomplishments ------------------------ diff --git a/docs/Resources/resources.md b/docs/Resources/resources.md index 80002fab..088174ff 100644 --- a/docs/Resources/resources.md +++ b/docs/Resources/resources.md @@ -15,7 +15,7 @@ Geppetto is a generic multi-algorithm integration platform written in Java and H More information on running Geppetto is [available online](http://geppetto.org). -[The project page for Geppetto](../Projects/geppetto/) has information about getting involved in its development with OpenWorm. +[The project page for Geppetto](../../Projects/geppetto/) has information about getting involved in its development with OpenWorm. ### Sibernetic @@ -25,7 +25,7 @@ Sibernetic is the code base that currently implements the crawling model. Sibern More information on running Sibernetic is [available online](https://openworm.org/sibernetic/). -[The project page for Sibernetic](../Projects/sibernetic/) has information about getting involved with its development. +[The project page for Sibernetic](../../Projects/sibernetic/) has information about getting involved with its development. ### Connectome Engine and Lego Mindstorms robot @@ -47,25 +47,17 @@ Here muscle cells cause the motion of the body of the worm along the surface of Inside the worm, motor neurons are responsible for activating the muscles, which them makes the worms move. The blue portions of the loop diagram above are those aspects that are covered by the initial prototype. We are now in the process of both adding in the missing portions of the loop, as well as making the existing portions more biologically realistic, and making the software platform they are operating on more scalable. -You can [download the binary for the CyberElegans](http://g.ua/MKja) (Windows only) +You can [download the binary for the CyberElegans](https://github.com/openworm/CyberElegans) (Windows only) This code base is not currently in active development. Visualization Environments -------------------------- -### Connectome Browser - -The [Connectome browser](http://goo.gl/XGQPX), created by the team at the [Open Source Brain](http://opensourcebrain.org), is a way to explore the NeuroML connectome produced by the project. You can investigate the current settings of the dynamics of each neuron, and by clicking "selection mode" you can click on individual neurons to see their synaptic partners in 3D. This is built from the [Virtual Worm Blender files](http://caltech.wormbase.org/virtualworm/) - -![Connectome browser](https:\/\/docs.google.com\/uc?authuser=0&id=0B_t3mQaA-HaMek5wb0trd00wVFU&export=download&revid=0B_t3mQaA-HaMWkIxc214bk12UU9lOWdDRHZKQzc2eWdOWm4wPQ) - -### WormBrowser (HTML5 and iOS) +### WormBrowser Explore the c. elegans in 3D! The [WormBrowser](http://browser.openworm.org) is an interactive virtual experience of browsing the C. elegans worm anatomy. This is built from the [Virtual Worm Blender files](http://caltech.wormbase.org/virtualworm/) -![WormBrowser](https:\/\/docs.google.com\/uc?authuser=0&id=0B_t3mQaA-HaMdkMzaUI3VWVtOG8&export=download&revid=0B_t3mQaA-HaMTXhPY0R0VDlMejd3NVpVTkpRY2diZ01vcXNnPQ) - Source code for [the web version](https://github.com/openworm/wormbrowser) and [an iOS version](https://github.com/openworm/openwormbrowser-ios) are available online. We don't currently have active development happening with either, but if you are interested in helping with the iOS code base, [here's a walkthrough](https://www.youtube.com/watch?v=b5X5fz7pZME) of how to get started with the codebase. Data sets @@ -80,8 +72,8 @@ that we have come across and adapted on Google Drive. ### C. elegans NeuroML model in NeuroConstruct -The NeuroML conversion of the [Virtual Worm Blender files](http://caltech.wormbase.org/virtualworm/) has been imported into a [neuroConstruct](http://www.neuroConstruct.org) project. [This page](../Resources/running-nc/) provides instructions for obtaining the latest version of neuroConstruct, getting the latest CElegans project and generating/visualizing the cells and connections. +The NeuroML conversion of the [Virtual Worm Blender files](http://caltech.wormbase.org/virtualworm/) has been imported into a [neuroConstruct](http://www.neuroConstruct.org) project. [This page](../running-nc/) provides instructions for obtaining the latest version of neuroConstruct, getting the latest CElegans project and generating/visualizing the cells and connections. ![CElegansnC](https://github.com/openworm/CElegansNeuroML/raw/master/CElegans/images/CElegans_nC.png) -More information about working with the data within it and other data entities can be found on the data representation [project page](../Projects/datarep/) +More information about working with the data within it and other data entities can be found on the data representation [project page](../../Projects/datarep/) diff --git a/docs/Resources/running-nc.md b/docs/Resources/running-nc.md index b78262a4..dcd65dc7 100644 --- a/docs/Resources/running-nc.md +++ b/docs/Resources/running-nc.md @@ -66,10 +66,6 @@ Go to folder `pythonScript` and run: ~/neuroConstruct/nC.sh -python GenerateNeuroML.py -Regenerate the connectome in NeuroML format -------------------------------------------- - -See [here](Regenerate%20the%20connectome%20in%20NeuroML%20format) for more details. ------------------------------------------------------------------------ diff --git a/docs/fullhistory.md b/docs/fullhistory.md index 9950a99a..d50f838b 100644 --- a/docs/fullhistory.md +++ b/docs/fullhistory.md @@ -81,12 +81,47 @@ January 2014: [OpenWorm Release 5](../releases/) Summer 2014: Two OpenWorm volunteers are sponsored by the Google Summer of Code program via the [INCF](http://incf.org). +3 November 2014: [Article](https://www.frontiersin.org/journals/computational-neuroscience/articles/10.3389/fncom.2014.00137/full): OpenWorm: an open-science approach to modeling Caenorhabditis elegans + 4-6 November 2014: **Second OpenWorm Conference**, in London, UK. April 2015: Amazon Web Services donates credits to the OpenWorm project. Summer 2015: One OpenWorm volunteer is sponsored by the Google Summer of Code program via the [INCF](http://incf.org). +18 July 2015: [Article](https://bmcneurosci.biomedcentral.com/articles/10.1186/1471-2202-16-S1-P141): The OpenWorm Project: currently available resources and future plans + +8 March 2016: [Article](https://drive.google.com/file/d/0B_t3mQaA-HaMWEJ4aG5fVm9QUWc/view?resourcekey=0-ZZ7AAhC17f2Vt3JDBmv4_g): Application of smoothed particle hydrodynamics to modeling mechanisms of biological tissue + +18 August 2016: [Article](https://www.mdpi.com/2079-7737/5/3/33): Quantifying Mosaic Development: Towards an Evo-Devo Postmodern Synthesis of the Evolution of Development Via Differentiation Trees of Embryos + +10 August 2016: [Article](https://f1000research.com/articles/5-1946/v1): Unit Testing, Model Validation, and Biological Simulation + +29-30 January 2018: **Royal Society Discussion meeting: Connectome to behaviour: modelling C. elegans at cellular resolution.** +[Meeting report](https://royalsocietypublishing.org/doi/10.1098/rstb.2017.0366). + +September 2018: A number of publications from the OpenWorm community following on from the Royal Society Discussion meeting mentioned above: + +- [Article](https://royalsocietypublishing.org/doi/10.1098/rstb.2017.0376): Three-dimensional simulation of the Caenorhabditis elegans body and muscle cells in liquid and gel environments for behavioural analysis. +- [Article](https://royalsocietypublishing.org/doi/10.1098/rstb.2017.0379): c302: a multiscale framework for modelling the nervous system of Caenorhabditis elegans. +- [Article](https://royalsocietypublishing.org/doi/10.1098/rstb.2017.0380): Geppetto: a reusable modular open platform for exploring neuroscience data and models. +- [Article](https://royalsocietypublishing.org/doi/10.1098/rstb.2017.0381): Towards systematic, data-driven validation of a collaborative, multi-scale model of Caenorhabditis elegans. +- [Article](https://royalsocietypublishing.org/doi/10.1098/rstb.2017.0382): OpenWorm: overview and recent advances in integrative biological simulation of Caenorhabditis elegans. + +November 2018: [Article](https://www.sciencedirect.com/science/article/abs/pii/S030326471830220X): Cell differentiation processes as spatial networks: Identifying four-dimensional structure in embryogenesis, [Article](https://www.sciencedirect.com/science/article/abs/pii/S0303264718302120): The Emergent Connectome in Caenorhabditis elegans Embryogenesis. + +15 September 2020: [Article](https://www.frontiersin.org/journals/cellular-neuroscience/articles/10.3389/fncel.2020.524791/full): Raising the Connectome: the emergence of neuronal activity and behavior in C. elegans + +22 December 2020: [Article](https://link.springer.com/epdf/10.1007/s12021-020-09508-1?sharing_token=SfbCril4XIxa5dgqd7LItve4RwlQNchNByi7wbcMAY77bKFVCUdSZ0ZaLpXFrJ62d0wsNV70TpSD7PMHFW2pjlOQt8qjlwvfr5BFDdTMwhzQj9AbfORflfPVm45t-7xEoVn2UKvEnNnJSZYmt67DEQlxSUqkL4lxeCDFwUJpVYA%3D): Data-theoretical Synthesis of the Early Developmental Process + +6 January 2021: [Article](https://www.sciencedirect.com/science/article/abs/pii/S0303264721000629): Periodicity in the Embryo: emergence of order in space, diffusion of order in time + +September 2022: [OpenWorm Newsletter 1](https://openworm.org/news.html#September2022): DevoWorm hosted four Google Summer of Code students; electrophysiological recordings from individual neurons; NeuroPAL developed a new technique to create a genetic strain of the worm; OpenWorm studentships completed their first successful projects. + +June 2023: [OpenWorm Newsletter 2](https://openworm.org/news.html#June2023): DevoWorm sponsored two more students through the Google Summer of Code; 2D worm body model visualisations were created to aid the 3D Sibernetic models; an interactive tutorial for the Hodgkin Huxley model was developed; OpenWorm presented at the main _C. elegans_ scientific conference in Glasgow. + +May 2024: [OpenWorm Newsletter 3](https://openworm.org/news.html#May2024): DevoWorm celebrated its 10th anniversary; new cell and ion channel models were developed in NeuroML; the OpenWorm Docker simulation stack was updated; OpenWorm was interviewed on the Data Skeptic podcast. + Projects similar to OpenWorm ---------------------------- @@ -110,6 +145,5 @@ September 2011 - October 2013 **[Project Nemaload](http://nemaload.davidad.org/) Acknowledgements ---------------- -Credit to James Pearn of [Artificial Brains](http://www.artificialbrains.com/openworm) for the information on projects similar to OpenWorm. +Credit to James Pearn of Artificial Brains for contributions to the early OpenWorm history. -Credit to Eugenio Battaglia for the [story on his blog](http://www.sciencetogrok.com/2013/03/a-great-role-model-for-collaborative.html) of the early OpenWorm history diff --git a/docs/images/OpenWormBrowser.png b/docs/images/OpenWormBrowser.png new file mode 100644 index 00000000..e7e302eb Binary files /dev/null and b/docs/images/OpenWormBrowser.png differ diff --git a/docs/images/worm-crawling.gif b/docs/images/worm-crawling.gif new file mode 100644 index 00000000..53ad7607 Binary files /dev/null and b/docs/images/worm-crawling.gif differ diff --git a/docs/modeling.md b/docs/modeling.md index 135aaadb..6c9da17f 100644 --- a/docs/modeling.md +++ b/docs/modeling.md @@ -14,7 +14,7 @@ This picture is purposefully drawn with an underlying loop of causal relationshi - Enables the study of the nervous system as a real time control system for a body - Provides the model with a minimum core to which other biological processes and cell types can be added. -Having chosen one loop to focus on first, we can now re-define the problem as how to construct an acceptable neuromechanical model. There have been [other attempts](http://www.artificialbrains.com/openworm#similar) to do this in the past and there are some groups currently working on the problem using different approaches (e.g. [Cohen](http://www.comp.leeds.ac.uk/celegans/), [Lockery](https://www.lockerylab.org/), [Si Elegans](http://www.si-elegans.eu/)). +Having chosen one loop to focus on first, we can now re-define the problem as how to construct an acceptable neuromechanical model. There have been other attempts to do this in the past and there are some groups currently working on the problem using different approaches (e.g. [Cohen](http://wormlab.eu/author/netta-cohen/), [Lockery](https://www.lockerylab.org/), [Si Elegans](http://www.si-elegans.eu/)). Our approach involves building a 3D mechanical model of the worm body and nervous system, tuning the model using model optimization techniques, validating the model using real data, and ensuring the model is reproducible by other labs by exposing it through a web-based simulation engine. @@ -68,7 +68,7 @@ Neurons This is a much more faithful representation of the neurons and their positions within the worm's body. -Our computational strategy to model the nervous system involves first reusing the [_C. elegans_ connectome](http://dx.plos.org/10.1371/journal.pcbi.1001066) and the [3D anatomical map of the _C. elegans_ nervous system and body plan](http://g.ua/MhxC). We have used the NeuroML standard ([Gleeson et al., 2010](http://dx.plos.org/10.1371/journal.pcbi.1000815)) to describe the 3D anatomical map of the _C. elegans_ nervous system. This has been done by discretizing each neuron into multiple compartments, while preserving its three-dimensional position and structure. We have then defined the connections between the NeuroML neurons using the _C. elegans_ connectome. Because NeuroML has a well-defined mapping into a system of Hodgkin-Huxley equations, it is currently possible to import the “spatial connectome” into the NEURON simulator ([Hines & Carnevale 1997](http://www.ncbi.nlm.nih.gov/pubmed/9248061)) to perform *in silico* experiments. +Our computational strategy to model the nervous system involves first reusing the [_C. elegans_ connectome](http://dx.plos.org/10.1371/journal.pcbi.1001066) and the 3D anatomical map of the _C. elegans_ nervous system and body plan. We have used the NeuroML standard ([Gleeson et al., 2010](http://dx.plos.org/10.1371/journal.pcbi.1000815)) to describe the 3D anatomical map of the _C. elegans_ nervous system. This has been done by discretizing each neuron into multiple compartments, while preserving its three-dimensional position and structure. We have then defined the connections between the NeuroML neurons using the _C. elegans_ connectome. Because NeuroML has a well-defined mapping into a system of Hodgkin-Huxley equations, it is currently possible to import the “spatial connectome” into the NEURON simulator ([Hines & Carnevale 1997](http://www.ncbi.nlm.nih.gov/pubmed/9248061)) to perform *in silico* experiments. To start getting some practical experience playing with dynamics that come from the connectome, we have simplified it into a project called the 'connectome engine' and integrated its dynamics into a Lego Mindstorms EV3 robot. You can [see a movie of this in action](https://www.youtube.com/watch?v=D8ogHHwqrkI). diff --git a/docs/projects.md b/docs/projects.md index 638fed70..db7b24bd 100644 --- a/docs/projects.md +++ b/docs/projects.md @@ -1,15 +1,22 @@ -**OpenWorm Projects** +## OpenWorm Projects The OpenWorm project is currently laid out into the major areas shown below: +### Currently active projects + - [Neuromechanical modeling with Sibernetic](../Projects/sibernetic/) - [c302 multiscale modelling framework](../Projects/c302/) +- [OpenWorm Browser](../Projects/browser/) - [DevoWorm project](../Projects/DevoWorm/) +- [Docker simulation stack](../Projects/docker/) +- [Community outreach](../Projects/community-proj/) + +### Projects still maintained, less active + +- [Data collection and representation](../Projects/datarep/) - [Movement analysis](../Projects/worm-movement/) - [Geppetto Simulation Engine](../Projects/geppetto/) - [Optimization engine](../Projects/optimization/) -- [Data collection and representation](../Projects/datarep/) -- [Community outreach](../Projects/community-proj/) - [Muscle-Neuron integration](../Projects/muscle-neuron-integration/) - [_C. elegans_ robots](../Projects/c-elegans-robot/) diff --git a/docs/releases.md b/docs/releases.md index 0ea2a6b6..24df2c6d 100644 --- a/docs/releases.md +++ b/docs/releases.md @@ -86,7 +86,7 @@ This release, among many acheivements, we accomplished the following: [Detailed release notes from this release can be found online](https://docs.google.com/a/metacell.us/document/d/1cg1YnKI92tN9HZeXachTfpRlKP10OuJhXlRBabeTnuI/pub) -Our second release pointed us in a good direction for the future, and provided some [[](http://browser.openworm.org) exciting products]. In release 3, we worked to develop additional products that are more easily used by the outside world. +Our second release pointed us in a good direction for the future, and provided some [exciting products](http://browser.openworm.org). In release 3, we worked to develop additional products that are more easily used by the outside world. ### EPIC-1: As a user, I want to be able to mark synapses and have them integrated into the model diff --git a/mkdocs.yml b/mkdocs.yml index 91fdf1dc..2fbaee2c 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -13,7 +13,9 @@ nav: - Projects Overview : projects.md - Sibernetic : Projects/sibernetic.md - c302 : Projects/c302.md + - Worm Browser : Projects/browser.md - DevoWorm : Projects/DevoWorm.md + - Docker simulation stack : Projects/docker.md - Movement : Projects/worm-movement.md - Geppetto : Projects/geppetto.md - Optimization : Projects/optimization.md