Hi
After going through 'Using the CellBuilder' tutorials, I try to modify CA3 Pyramidal Neuron (Migliore et al 1995).
First I wanted to import the cell into the CellBuilder before making any changes to the model.
To keep topology, 3-D info, subsets and biophysics, I wanted to export the model to NeuroML and import it:
- opened Modelview
- saw the warning and runned define_shape()
oc>define_shape()
- exported to NeuroML saved it as 'ca3cell.xml'
- opened CellBuilder and imported 'ca3cell.xml'
All I can see is a long line of soma. Did I do anything wrong?
Or do I need to import from top level and then make subsets and specify biophysics by myself manually?
Many thanks!
Export to NeuroML
-
- Site Admin
- Posts: 6289
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: Export to NeuroML
First, a side comment: this model is implemented with code that intermingles model setup with simulation initialization. One must first run a simulation to ensure that all the complete model specification code has been executed.
So I did that (clicked on the "run burst" button), then after the simulation finished, executed define_shape() and then exported a NeuroML level 2 file. Next I exited NEURON, then restarted NEURON and used a CellBuilder to try to import the xml file. Result: NEURON issued this error message--
Traceback (most recent call last):
File "<string>", line 1, in ?
TypeError: rdxml() takes exactly 2 arguments (1 given)
and the CellBuilder showed only one section, which it called soma. The xml file defines many sections with different names, and specifies their various attributes, so this looks like a bug in either the Model View tool's export XML function or the CellBuilder's import XML function in the standard distribution of NEURON 7.0.
So I did that (clicked on the "run burst" button), then after the simulation finished, executed define_shape() and then exported a NeuroML level 2 file. Next I exited NEURON, then restarted NEURON and used a CellBuilder to try to import the xml file. Result: NEURON issued this error message--
Traceback (most recent call last):
File "<string>", line 1, in ?
TypeError: rdxml() takes exactly 2 arguments (1 given)
and the CellBuilder showed only one section, which it called soma. The xml file defines many sections with different names, and specifies their various attributes, so this looks like a bug in either the Model View tool's export XML function or the CellBuilder's import XML function in the standard distribution of NEURON 7.0.
Re: Export to NeuroML
There are two problems that you can work around as follows.
I'll update the xml cellbuild importer when I figure out how to handle inhomogeneities within
sections.
1) the last change to rdxml got propagated to import3d but not to cellbild
edit nrn/lib/hoc/celbild/celmang.hoc and remove and add the lines as indicated
2) cellbild has a problem when importing mechanisms that have no parameters.
Until I figure out a proper fix, edit the model's cadiv.mod as follows
I'll update the xml cellbuild importer when I figure out how to handle inhomogeneities within
sections.
1) the last change to rdxml got propagated to import3d but not to cellbild
edit nrn/lib/hoc/celbild/celmang.hoc and remove and add the lines as indicated
Code: Select all
nrnpython("import rdxml")
p = new PythonObject()
- p.rdxml.__setattr__("i3d", this)
- sprint(s.s, "rdxml.rdxml('%s')", $s1)
- nrnpython(s.s)
- p.rdxml.__setattr__("i3d", nil)
+ p.rdxml.rdxml($s1, this)
bild.consist()
bild.page(5)
Until I figure out a proper fix, edit the model's cadiv.mod as follows
Code: Select all
GLOBAL vol, Buffer0
- RANGE ipump
+ RANGE ipump, foo
}
...
PARAMETER {
+ foo = 1
DFree = .6 (um2/ms)
Re: Export to NeuroML
Actually I had worked around three problems but forgot about one of them when I wrote the previous message.
The fix involves several line so 1) above and the one I forgot to mention are committed to the repository in
http://www.neuron.yale.edu/hg/neuron/nr ... 293c112c59
and
http://www.neuron.yale.edu/hg/neuron/nr ... f5b6a772a9
You still have to work around the problem of no parameters for cadiv.mod by introducing a dummy parameter.
I have to think about how to fix that since it may be a limitation of the NeuroML standard. ie mechanisms
have no subset information, only parameters of mechanisms.
The fix involves several line so 1) above and the one I forgot to mention are committed to the repository in
http://www.neuron.yale.edu/hg/neuron/nr ... 293c112c59
and
http://www.neuron.yale.edu/hg/neuron/nr ... f5b6a772a9
You still have to work around the problem of no parameters for cadiv.mod by introducing a dummy parameter.
I have to think about how to fix that since it may be a limitation of the NeuroML standard. ie mechanisms
have no subset information, only parameters of mechanisms.
Re: Export to NeuroML
Thanks!
With the fix, I could import NeuroML file with 2 subsets.
However,
although I could import the full topology with right subsets, I could merely import biophysics parameters.
Reading your reply, can I conclude that at the moment this is all I can do with GUI to import existing models?
Many thanks!
With the fix, I could import NeuroML file with 2 subsets.
However,
although I could import the full topology with right subsets, I could merely import biophysics parameters.
Reading your reply, can I conclude that at the moment this is all I can do with GUI to import existing models?
Many thanks!
Re: Export to NeuroML
What else did you want to import?... I could merely import biophysics parameters.
Re: Export to NeuroML
Everything really... including ion channels
I have realised I could not add some ion channels on CellBuilder / Biophysics.
Many thanks!
I have realised I could not add some ion channels on CellBuilder / Biophysics.
Many thanks!
Re: Export to NeuroML
Ok. I forgot about ion properties. Apart from the fact that there is apparently no slot for them
presently in NeuroML (someone please let me know if I am mistaken), the problem with those and the dynamically
changing CellBuilder is that whether an ion variable is a PARAMETER, ASSIGNED, or STATE is context dependent.
So from the ModelView, (that can handle the context since it is a static view of what is actually present),
I see that ena and ek are parameters but eca is ASSIGNED and cai, cao are STATES.
The only PARAMETERS for ca_ion are the GLOBAL variables cai0_ca_ion = 5e-5
and cao0_ca_ion = 2. Who knows if those actually define the initialization of cai (one would have to
look at the INITIAL block of the ca accumulation mechanism and/or whether there is any hoc code that
specifically initializes cai)
So at present, one needs to handle ion parameters explicitly in code.
presently in NeuroML (someone please let me know if I am mistaken), the problem with those and the dynamically
changing CellBuilder is that whether an ion variable is a PARAMETER, ASSIGNED, or STATE is context dependent.
So from the ModelView, (that can handle the context since it is a static view of what is actually present),
I see that ena and ek are parameters but eca is ASSIGNED and cai, cao are STATES.
The only PARAMETERS for ca_ion are the GLOBAL variables cai0_ca_ion = 5e-5
and cao0_ca_ion = 2. Who knows if those actually define the initialization of cai (one would have to
look at the INITIAL block of the ca accumulation mechanism and/or whether there is any hoc code that
specifically initializes cai)
So at present, one needs to handle ion parameters explicitly in code.