Export to NeuroML

Using the graphical user interface to build and exercise models. Includes customizing the GUI by writing a little bit of hoc.
Post Reply
mingu31

Export to NeuroML

Post by mingu31 » Tue Aug 25, 2009 11:13 am

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!

ted
Site Admin
Posts: 5704
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Export to NeuroML

Post by ted » Tue Aug 25, 2009 1:33 pm

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.

hines
Site Admin
Posts: 1590
Joined: Wed May 18, 2005 3:32 pm

Re: Export to NeuroML

Post by hines » Tue Aug 25, 2009 4:27 pm

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

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)
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

Code: Select all

        GLOBAL vol, Buffer0
-       RANGE ipump
+       RANGE ipump, foo
 }
...
 PARAMETER {
+       foo = 1
        DFree = .6      (um2/ms)

hines
Site Admin
Posts: 1590
Joined: Wed May 18, 2005 3:32 pm

Re: Export to NeuroML

Post by hines » Tue Aug 25, 2009 5:25 pm

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.

mingu31

Re: Export to NeuroML

Post by mingu31 » Wed Aug 26, 2009 1:28 pm

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!

hines
Site Admin
Posts: 1590
Joined: Wed May 18, 2005 3:32 pm

Re: Export to NeuroML

Post by hines » Wed Aug 26, 2009 4:38 pm

... I could merely import biophysics parameters.
What else did you want to import?

mingu31

Re: Export to NeuroML

Post by mingu31 » Thu Aug 27, 2009 9:55 am

Everything really... including ion channels
I have realised I could not add some ion channels on CellBuilder / Biophysics.

Many thanks!

hines
Site Admin
Posts: 1590
Joined: Wed May 18, 2005 3:32 pm

Re: Export to NeuroML

Post by hines » Thu Aug 27, 2009 10:39 am

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.

Post Reply