NeuroML / NeuroML2

This repository hosts the NeuroML 2 Schema, the ComponentType definitions in LEMS and the core documentation of NeuroML2.
https://docs.neuroml.org
GNU Lesser General Public License v3.0
49 stars 24 forks source link

Implementing Ca2+ dependent K channels #117

Open pgleeson opened 5 years ago

pgleeson commented 5 years ago

Regarding a question by @jkopsick about implementing Ca dependence in K (or Ca) channels, here is a list of example channels in NeuroML2 which have a [Ca2+] dependence in the activation variables

Many of these have no voltage dependence in the activation rates, and only depend on [Ca2+].

To test these or a new channel, it may be useful to use the "Calcium Clamp" code (which adjusts CaConc at a specific level between set time points) as used here: https://github.com/mbezaire/ca1/tree/development/NeuroML2/channels/test_Cadynamics/NeuroML2. An equivalent piece of code in the native simulator which adjusts Ca directly would also be required for comparison.

jkopsick commented 5 years ago

Good afternoon Padraig,

Thank you very much for including links to these channel types. We are using MOOSE as the simulator for these channels, and I am beginning to think there is something going awry in how MOOSE is interpreting these calcium channels. I've attached a zip folder that contains code that will try implementing a reduced morphology of our D1/D2 neurons with the SKCa channel type -- you'll notice that the error message states that the calcium concentration ("caConc") is not defined and that the issue occurs in pyneuroML. You'll also noticed that this is using the SK Channel from the Allen Institute link you sent, with our version commented out. If you have any insight into why this is occurring, it would be greatly appreciated. I've also emailed @dilawar in regards to this issue, but will include him here as well to get MOOSE represented here as well.

MOOSE version used: 3.2.0.dev20181028 --> this version can be obtained from the command line using the following statement: python -m pip install pymoose --pre --upgrade --user

PyNeuroML version used: 0.3.13

pgleeson commented 5 years ago

@jkopsick, just to clarify, are you testing the NeuroML2 models by importing them into MOOSE & using the native execution of them there? If so, this functionality has only recently been updated and has only been tested in a limited number of cases... mainly only for single compartment models with simple channels (no complex Ca2+ dynamics).

I'd recommend testing the NML conversion with jnml (or pynml) for single compartment cells first, then testing running on Neuron with jnml -neuron, for both single and multicompartmental models. I started a (long overdue) document here outlining the recommended process for getting a cell model into NeuroML2...

If the model is a multicomp with a Ca pool and Ca dep K channels, I suspect there will have to be a few updates to the MOOSE importer before it will run NML->MOOSE. But you can of course compare the original MOOSE model behaviour to that in Neuron in the first instance...

sanjayankur31 commented 1 month ago

I'm converting the purkinje cell model in Zang et al 2018 that includes a few Ca dependent channels. I intend to document the process in another walkthrough on the docs at docs.neuroml.org.