From 39c11d22c95abbf1a05a48d0a488b204661d3bd9 Mon Sep 17 00:00:00 2001 From: Stephen Larson Date: Sat, 3 Jan 2015 07:39:45 -0800 Subject: [PATCH 01/12] adding Rayner to main README --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 86d9355..1f04982 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Open Worm muscle model [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/openworm/muscle_model?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) -Authors: Mike Vella, Alex Dibert, Padraig Gleeson +Authors: Mike Vella, Alex Dibert, Padraig Gleeson, Rayner Lucas email:mv333@cam.ac.uk If you contribute to the project please add your name to the Authors field @@ -28,7 +28,7 @@ This repository contains the following: **Note: see https://github.com/openworm/muscle_model/issues/18 for details on the current status of these subprojects.** -See https://github.com/openworm/muscle_model/blob/master/pyramidal_implementation/README.md +See https://github.com/openworm/muscle_model/blob/master/pyramidal_implementation/README.md 3. C++ Module for SPH/muscle_model integration ---------------------------------------------- @@ -37,9 +37,9 @@ See https://github.com/openworm/muscle_model/blob/master/pyramidal_implementatio This is still at an alpha stage, but has been demonstrated to function as expected. -to compile and run (temp notes with hardcoded paths - replace with your own path) +to compile and run (temp notes with hardcoded paths - replace with your own path) run the following commands from inside curdir: - + $ export PYTHONPATH="/home/mike/dev/cpp_pyramidal_integration/" OR export PYTHONPATH=$PYTHONPATH:/home/mike/dev/muscle_model/pyramidal_implementation/ From 0bb9ec3e7501224fd83eba8e153f822291b1389e Mon Sep 17 00:00:00 2001 From: Stephen Larson Date: Sat, 3 Jan 2015 07:49:26 -0800 Subject: [PATCH 02/12] Adding link to paper, fixing text --- BoyleCohen2008/README.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/BoyleCohen2008/README.md b/BoyleCohen2008/README.md index 2b338ad..b3120ea 100644 --- a/BoyleCohen2008/README.md +++ b/BoyleCohen2008/README.md @@ -1,18 +1,16 @@ Muscle cell code from Boyle and Cohen 2008 ------------------------------------------ -This software was used in the publication: +This software was used in [the publication](https://groups.google.com/group/openworm-discuss/attach/df619bba6defa84f/C.%20elegans%20Body%20Wall%20Muscles%20are%20Simple%20Actuators%20-%20Boyle,%20Cohen%20-%202007.pdf?part=0.2&authuser=0): _J.H. Boyle, N. Cohen, Caenorhabditis elegans body wall muscles are simple actuators, BioSystems 94 (2008) 170–181_ -to optmise the parameters of a muscle cell model for C. elegans. +to both define and optimise the parameters of a muscle cell model for C. elegans. **If you use or alter this code please cite the above publication.** -This will be used by the OpenWorm project to create an [initial model of a muscle cell in NeuroML 2](https://github.com/openworm/muscle_model/tree/master/NeuroML2). +This is being used by the OpenWorm project to create an [initial model of a muscle cell in NeuroML 2](https://github.com/openworm/muscle_model/tree/master/NeuroML2). A key matlab script is located at [BoyleCohen2008/MatlabSupport/Main_Version/vclamp.m](https://github.com/openworm/muscle_model/blob/master/BoyleCohen2008/MatlabSupport/Main_Version/vclamp.m) which, when run, should produce a main graph of the paper. This code is released under the terms of the MIT license. - - From 9e7073956d158ff24a6ae2f9cc60df02c44ab820 Mon Sep 17 00:00:00 2001 From: Stephen Larson Date: Sat, 3 Jan 2015 08:19:41 -0800 Subject: [PATCH 03/12] adding link to image of dynamics we reproduce --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 1f04982..5453215 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,11 @@ If you contribute to the project please add your name to the Authors field Introduction ------------ +This repository contains several different subprojects all related to the construction of a biophysically-detailed model +of the dynamic properties of electrical excitation of the body wall muscle of the c. elegans. + +![Overview of dynamics we are reproducing](https://cloud.githubusercontent.com/assets/1037756/5602898/094dd1c4-9321-11e4-9d01-bc4b73112951.png) + This repository contains the following: 1. Simulation of C.Elegans muscle cell electrical properties, based on Boyle & Cohen 2008. @@ -23,6 +28,9 @@ This repository contains the following: 1. Simulation of C.Elegans muscle cell electrical properties ----------------------------------------------------------- + + + 2. Optimization script for the above model ------------------------------------------ From 99aa44e66d2cd3c5a48e8a382b3ab120f328d0f4 Mon Sep 17 00:00:00 2001 From: Stephen Larson Date: Sat, 3 Jan 2015 08:43:12 -0800 Subject: [PATCH 04/12] Adding more basic introduction --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 5453215..262576b 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,12 @@ of the dynamic properties of electrical excitation of the body wall muscle of th ![Overview of dynamics we are reproducing](https://cloud.githubusercontent.com/assets/1037756/5602898/094dd1c4-9321-11e4-9d01-bc4b73112951.png) +In the figure above, you can see the basic functionality that we are seeking to reproduce. The electrical activity of a muscle cell +can be recorded using an electrode that is stuck into a c. elegans body wall muscle cell. Connecting the electrode to a sensitive +amplifier and stimulator allows a researcher to either use a [current clamp](https://en.wikipedia.org/wiki/Electrophysiology#Current_clamp) or [voltage clamp](https://en.wikipedia.org/wiki/Voltage_clamp) mode to control and examine the dynamics of the voltage changes or current flow across the membrane. + +Ultimately, we understand from [Hodgkin and Huxley](https://en.wikipedia.org/wiki/Hodgkin%E2%80%93Huxley_model) that these electrical dynamics of the membrane are fully determined by the dynamics of [ion channels](https://en.wikipedia.org/wiki/Ion_channel) that sit across the membrane. + This repository contains the following: 1. Simulation of C.Elegans muscle cell electrical properties, based on Boyle & Cohen 2008. From e5082be10afd4e415ca26a94e031c98b12979592 Mon Sep 17 00:00:00 2001 From: Stephen Larson Date: Sat, 3 Jan 2015 08:45:07 -0800 Subject: [PATCH 05/12] more intro --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index 262576b..1b1a56e 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,16 @@ amplifier and stimulator allows a researcher to either use a [current clamp](htt Ultimately, we understand from [Hodgkin and Huxley](https://en.wikipedia.org/wiki/Hodgkin%E2%80%93Huxley_model) that these electrical dynamics of the membrane are fully determined by the dynamics of [ion channels](https://en.wikipedia.org/wiki/Ion_channel) that sit across the membrane. +In 2008, Dr. Netta Cohen and Dr. Jordan Boyle at the University of Leeds published an article with their mathematical model of these dynamics based on . +This model was expressed as a system of equations and a set of parameters in their publication, as well as C++ and Matlab code. +Their original code has been graciously shared with the OpenWorm project under the BoyleCohen2008 directory. In addition, a Python port of key components of the model +has been added by OpenWorm contributors (Rayner Lucas). + +For the purposes of re-using the model as a component of the larger OpenWorm project, we have converted the mathematical model of Cohen & Boyle into NeuroML2, an XML-based +description of the system of equations that make up mathematical models of biophysically-based models of excitable membranes. + + + This repository contains the following: 1. Simulation of C.Elegans muscle cell electrical properties, based on Boyle & Cohen 2008. From 1b1ee0928844c39cdc174441bd9253917bc2ce0d Mon Sep 17 00:00:00 2001 From: Stephen Larson Date: Sat, 3 Jan 2015 08:59:49 -0800 Subject: [PATCH 06/12] fixing incomplete sentence --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1b1a56e..0ee10da 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ amplifier and stimulator allows a researcher to either use a [current clamp](htt Ultimately, we understand from [Hodgkin and Huxley](https://en.wikipedia.org/wiki/Hodgkin%E2%80%93Huxley_model) that these electrical dynamics of the membrane are fully determined by the dynamics of [ion channels](https://en.wikipedia.org/wiki/Ion_channel) that sit across the membrane. -In 2008, Dr. Netta Cohen and Dr. Jordan Boyle at the University of Leeds published an article with their mathematical model of these dynamics based on . +In 2008, Dr. Netta Cohen and Dr. Jordan Boyle at the University of Leeds published an article with their mathematical model of these dynamics based on real data. This model was expressed as a system of equations and a set of parameters in their publication, as well as C++ and Matlab code. Their original code has been graciously shared with the OpenWorm project under the BoyleCohen2008 directory. In addition, a Python port of key components of the model has been added by OpenWorm contributors (Rayner Lucas). From 47d06cfbd8cf78fe52bd4551922d7197a3048242 Mon Sep 17 00:00:00 2001 From: Stephen Larson Date: Sat, 3 Jan 2015 10:02:08 -0800 Subject: [PATCH 07/12] better grammar --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0ee10da..6921231 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ of the dynamic properties of electrical excitation of the body wall muscle of th ![Overview of dynamics we are reproducing](https://cloud.githubusercontent.com/assets/1037756/5602898/094dd1c4-9321-11e4-9d01-bc4b73112951.png) In the figure above, you can see the basic functionality that we are seeking to reproduce. The electrical activity of a muscle cell -can be recorded using an electrode that is stuck into a c. elegans body wall muscle cell. Connecting the electrode to a sensitive +can be recorded using an electrode that is stuck into it. Connecting the electrode to a sensitive amplifier and stimulator allows a researcher to either use a [current clamp](https://en.wikipedia.org/wiki/Electrophysiology#Current_clamp) or [voltage clamp](https://en.wikipedia.org/wiki/Voltage_clamp) mode to control and examine the dynamics of the voltage changes or current flow across the membrane. Ultimately, we understand from [Hodgkin and Huxley](https://en.wikipedia.org/wiki/Hodgkin%E2%80%93Huxley_model) that these electrical dynamics of the membrane are fully determined by the dynamics of [ion channels](https://en.wikipedia.org/wiki/Ion_channel) that sit across the membrane. From 737243f0aa5205bf6c72576a362ddf470eaafac4 Mon Sep 17 00:00:00 2001 From: Stephen Larson Date: Sat, 3 Jan 2015 10:14:51 -0800 Subject: [PATCH 08/12] Adding mention of Python version --- BoyleCohen2008/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/BoyleCohen2008/README.md b/BoyleCohen2008/README.md index b3120ea..66a8c7b 100644 --- a/BoyleCohen2008/README.md +++ b/BoyleCohen2008/README.md @@ -13,4 +13,6 @@ This is being used by the OpenWorm project to create an [initial model of a musc A key matlab script is located at [BoyleCohen2008/MatlabSupport/Main_Version/vclamp.m](https://github.com/openworm/muscle_model/blob/master/BoyleCohen2008/MatlabSupport/Main_Version/vclamp.m) which, when run, should produce a main graph of the paper. +A python version of this has been added at [BoyleCohen2008/PythonSupport/Main_Version/vclamp.py](https://github.com/openworm/muscle_model/blob/master/BoyleCohen2008/PythonSupport/Main_Version/vclamp.py) + This code is released under the terms of the MIT license. From 572d9fb5042ba1b24ab9ab005d52aa34951ac852 Mon Sep 17 00:00:00 2001 From: Stephen Larson Date: Sat, 3 Jan 2015 10:19:44 -0800 Subject: [PATCH 09/12] Update README.md --- BoyleCohen2008/README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/BoyleCohen2008/README.md b/BoyleCohen2008/README.md index 66a8c7b..c005136 100644 --- a/BoyleCohen2008/README.md +++ b/BoyleCohen2008/README.md @@ -13,6 +13,10 @@ This is being used by the OpenWorm project to create an [initial model of a musc A key matlab script is located at [BoyleCohen2008/MatlabSupport/Main_Version/vclamp.m](https://github.com/openworm/muscle_model/blob/master/BoyleCohen2008/MatlabSupport/Main_Version/vclamp.m) which, when run, should produce a main graph of the paper. -A python version of this has been added at [BoyleCohen2008/PythonSupport/Main_Version/vclamp.py](https://github.com/openworm/muscle_model/blob/master/BoyleCohen2008/PythonSupport/Main_Version/vclamp.py) +A python version of this has been added at [BoyleCohen2008/PythonSupport/Main_Version/vclamp.py](https://github.com/openworm/muscle_model/blob/master/BoyleCohen2008/PythonSupport/Main_Version/vclamp.py). When run correctly it should produce the following image: + +![vclamp.py running correctly](https://cloud.githubusercontent.com/assets/1037756/5603263/93dc8866-9331-11e4-8696-cc26a85b6208.png) + +This reproduces figure 2B of the Boyle & Cohen paper. This code is released under the terms of the MIT license. From bcbdeb75c36bc7c24a717b2b1ec604cee04d12c8 Mon Sep 17 00:00:00 2001 From: Stephen Larson Date: Sat, 3 Jan 2015 10:24:53 -0800 Subject: [PATCH 10/12] Reordering topics --- README.md | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 6921231..1de0f03 100644 --- a/README.md +++ b/README.md @@ -24,8 +24,10 @@ amplifier and stimulator allows a researcher to either use a [current clamp](htt Ultimately, we understand from [Hodgkin and Huxley](https://en.wikipedia.org/wiki/Hodgkin%E2%80%93Huxley_model) that these electrical dynamics of the membrane are fully determined by the dynamics of [ion channels](https://en.wikipedia.org/wiki/Ion_channel) that sit across the membrane. -In 2008, Dr. Netta Cohen and Dr. Jordan Boyle at the University of Leeds published an article with their mathematical model of these dynamics based on real data. +In 2008, Dr. Netta Cohen and Dr. Jordan Boyle at the University of Leeds published an article with their mathematical model of these dynamics based on real data. + This model was expressed as a system of equations and a set of parameters in their publication, as well as C++ and Matlab code. + Their original code has been graciously shared with the OpenWorm project under the BoyleCohen2008 directory. In addition, a Python port of key components of the model has been added by OpenWorm contributors (Rayner Lucas). @@ -37,24 +39,35 @@ description of the system of equations that make up mathematical models of bioph This repository contains the following: 1. Simulation of C.Elegans muscle cell electrical properties, based on Boyle & Cohen 2008. -2. Optimization script for the above model, utliising Optimal Neuron package. Optimizing towards sharp electrode data obtained from lab of Michael M Francis. -3. C++ Module for importation of arbitrary Pyramidal model into C++ program such as Palyanov et al SPH solver. -4. NeuroML 2/LEMS conversion of the muscle cell model +2. NeuroML 2/LEMS conversion of the muscle cell model +3. Optimization script for the above model, utliising Optimal Neuron package. Optimizing towards sharp electrode data obtained from lab of Michael M Francis. +4. C++ Module for importation of arbitrary Pyramidal model into C++ program such as Palyanov et al SPH solver. 1. Simulation of C.Elegans muscle cell electrical properties ----------------------------------------------------------- +2. NeuroML 2/LEMS conversion of the muscle cell model +----------------------------------------------------- + +This version of the muscle model reflects an initial attempt to convert the model from: http://www.sciencedirect.com/science/article/pii/S0303264708001408 into NeuroML 2 (http://www.neuroml.org/neuroml2.php). + +We're in the process of updating this to match the version in: https://github.com/openworm/muscle_model/tree/master/neuron_implementation + +See issue: https://github.com/openworm/OpenWorm/issues/169 for the latest. + +See also http://www.opensourcebrain.org/projects/muscle_model/wiki. + -2. Optimization script for the above model +3. Optimization script for the above model ------------------------------------------ **Note: see https://github.com/openworm/muscle_model/issues/18 for details on the current status of these subprojects.** See https://github.com/openworm/muscle_model/blob/master/pyramidal_implementation/README.md -3. C++ Module for SPH/muscle_model integration +4. C++ Module for SPH/muscle_model integration ---------------------------------------------- **Note: see https://github.com/openworm/muscle_model/issues/18 for details on the current status of these subprojects.** @@ -72,15 +85,4 @@ $ ./sim The resultant so file will then be importable in any c++ module and present a PyramidalSimulation class with a run() method which will return the membrane potential at the end of execution of a fixed timestep. -4. NeuroML 2/LEMS conversion of the muscle cell model ------------------------------------------------------ - -This version of the muscle model reflects an initial attempt to convert the model from: http://www.sciencedirect.com/science/article/pii/S0303264708001408 into NeuroML 2 (http://www.neuroml.org/neuroml2.php). - -We're in the process of updating this to match the version in: https://github.com/openworm/muscle_model/tree/master/neuron_implementation - -See issue: https://github.com/openworm/OpenWorm/issues/169 for the latest. - -See also http://www.opensourcebrain.org/projects/muscle_model/wiki. - [![Build Status](https://travis-ci.org/openworm/muscle_model.svg?branch=master)](https://travis-ci.org/openworm/muscle_model) From 7f6b9029a3a1f0f7344c7a86c144f15b2d14ea6a Mon Sep 17 00:00:00 2001 From: Stephen Larson Date: Sat, 3 Jan 2015 10:25:48 -0800 Subject: [PATCH 11/12] Relative links --- BoyleCohen2008/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BoyleCohen2008/README.md b/BoyleCohen2008/README.md index c005136..4beabff 100644 --- a/BoyleCohen2008/README.md +++ b/BoyleCohen2008/README.md @@ -11,9 +11,9 @@ to both define and optimise the parameters of a muscle cell model for C. elegans This is being used by the OpenWorm project to create an [initial model of a muscle cell in NeuroML 2](https://github.com/openworm/muscle_model/tree/master/NeuroML2). -A key matlab script is located at [BoyleCohen2008/MatlabSupport/Main_Version/vclamp.m](https://github.com/openworm/muscle_model/blob/master/BoyleCohen2008/MatlabSupport/Main_Version/vclamp.m) which, when run, should produce a main graph of the paper. +A key matlab script is located at [MatlabSupport/Main_Version/vclamp.m](MatlabSupport/Main_Version/vclamp.m) which, when run, should produce a main graph of the paper. -A python version of this has been added at [BoyleCohen2008/PythonSupport/Main_Version/vclamp.py](https://github.com/openworm/muscle_model/blob/master/BoyleCohen2008/PythonSupport/Main_Version/vclamp.py). When run correctly it should produce the following image: +A python version of this has been added at [PythonSupport/Main_Version/vclamp.py](PythonSupport/Main_Version/vclamp.py). When run correctly it should produce the following image: ![vclamp.py running correctly](https://cloud.githubusercontent.com/assets/1037756/5603263/93dc8866-9331-11e4-8696-cc26a85b6208.png) From cf737dcde44a5e01c6e5b4d283df3b4d09b0a5a5 Mon Sep 17 00:00:00 2001 From: Stephen Larson Date: Sat, 3 Jan 2015 10:29:51 -0800 Subject: [PATCH 12/12] Filling in content for the first section --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 1de0f03..1477ceb 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,9 @@ This repository contains the following: 1. Simulation of C.Elegans muscle cell electrical properties ----------------------------------------------------------- +The authoritative version of the muscle cell model from Boyle & Cohen has been shared with the project under the [BoyleCohen2008/](BoyleCohen2008/) directory. Here you will also find a Python port of some of the scripts that demonstrate the dynamics of the muscle model. + +A conversion of this model into the NEURON package is available in the [neuron_implementation/](neuron_implementation/) directory. 2. NeuroML 2/LEMS conversion of the muscle cell model -----------------------------------------------------