openworm / muscle_model

Model of C elegans body wall muscle based on Boyle & Cohen 2008
http://www.opensourcebrain.org/projects/muscle_model
Other
47 stars 24 forks source link

Update optimization.py to run with neurotune instead of optimalneuron #18

Closed VahidGh closed 9 years ago

VahidGh commented 9 years ago

Based on the changes in the neurotune, I guess optimalneuron should be replaced with neurotune in the optimization.py.

pgleeson commented 9 years ago

Thanks for checking through these @VahidGh. Yes, neurotune (and pyelectro) have replaced optimalneuron. Unfortunately these files haven't been updated since that change.

Also in that time, libNeuroML has become more stable, pyramidal hasn't been updated much & jNeuroML is the most well tested way for running NeuroML2 models. Now the preferred pipeline is:

libNeuroML (create/edit model) -> NeuroML2 XML files -> jNeuroML (load) -> simulate -> check & optimise

or

libNeuroML (create/edit model) -> NeuroML2 XML files -> jNeuroML (load & export to NEURON) -> simulate -> check & optimise

as opposed to:

libNeuroML -> Pyramidal -> NEURON -> simulate -> check & optimise

My suggestions for updating this code are:

Try my forks of neurotune and pyelectro, as I've retested & updated these recently.

VahidGh commented 9 years ago

@pgleeson, Could you please explain what is the meaning of these gating parameters, and why do we choose these values?

pgleeson commented 9 years ago

I wouldn't take any meaning from those particular values, they look like they are based on the HH model and probably were used just for testing. It's a long time since that code worked...

VahidGh commented 9 years ago

@pgleeson, Thanks for your reply. I was going to look if I can do something with this code, regarding to the optimization case study issue. Is this still your suggested pipeline? or it could be implemented easier via PyNeuroML, now?

VahidGh commented 9 years ago

@pgleeson, another question related to the gating states of an ion channel: is there a way that I can represent a Markov model (gating dynamics) via NeuroML2/LEMS?

pgleeson commented 9 years ago

For your 2nd question, see here an example of a kinetic scheme based channel specification in NeuroML2: https://github.com/NeuroML/NeuroML2/blob/development/LEMSexamples/LEMS_NML2_Ex4_KS.xml. This runs with jNeuroML (but not jNeuroML->NEURON), but I don't believe this channel type has been tested/used beyond this example...

Re optimisation, I started this updated version of the optimiser code to work with c302, but it's not yet finished. Have a look if you like. Requires my forks of neurotune and pyelectro. Hope to get this more stable in the next week.

VahidGh commented 9 years ago

Actually I needed that type of gating kinetics for other purposes (representing channel kinetics with Markov models I saw in some studies). Although here was not a right place to ask the question, but thank you for your explanation :)

pgleeson commented 9 years ago

This issue is redundant, due to the work ongoing to use neurotune in c302, see https://github.com/openworm/CElegansNeuroML/blob/master/CElegans/pythonScripts/c302/tune/c302tuner.py, and ChannelWorm https://github.com/VahidGh/ChannelWorm/tree/cwFitter/cwFitter.

The code in this repo using neurotune/optimalneuron probably won't be revived (sorry @vellamike)...

VahidGh commented 9 years ago

@pgleeson, Now I'm much more familiar with all these stuff. I can also work on this if we need to.