Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What is the relationship between values for Display/Line quantity field in LEMS vs NEURON? #50

Open
JustasB opened this issue May 17, 2017 · 1 comment

Comments

@JustasB
Copy link

JustasB commented May 17, 2017

Using the jLEMS simulator, I can find out the path of a desired variable by using Menu > Simulation > Dump simulation info button.

I then use that path in the quantity field of a Display/Line or a Output/Column element. This works in jLEMS and results in a plot with the variable changing over time, and there are no warnings or errors in the console.... E.g:

        <Display id="CG_LTS_ModelDB_test" title="PospischilEtAl2008: Default Simulation Configuration, CG_LTS_ModelDB, VOLTAGE" xmin="0" xmax="1000" ymin="-100" ymax="70" timeScale="1ms">
            <Line id="v" timeScale="1 ms" quantity="CG_LTS_ModelDB/0/LTS_ModelDB/v" scale="1 mV" color="#000000"/>
        </Display>
        
        <Display id="CG_LTS_ModelDB_testi" title="i PospischilEtAl2008: Default Simulation Configuration, CG_LTS_ModelDB, VOLTAGE" xmin="0" xmax="1000" ymin="0" ymax="1" timeScale="1ms">
            <Line id="i" timeScale="1 ms" quantity="CG_LTS_ModelDB/0/LTS_ModelDB/biophys/membraneProperties/IT_all/channelf" scale="1" color="#000000"/>
        </Display>

However, when I use the -neuron flag, for some variables I get the expected plot, while for others I get an empty plot, with the NEURON console showing e.g. "Graph:: presently invalid expression: a_CG_LTS_ModelDB[0].Soma.channelf(0.5)". In NEURON, the v plot shows up ok, but the channelf shows 0 values throughout the sim window.

This suggests that there are two different sets of allowable/supported quantity paths for LEMS and NEURON. I cannot find any documentation on what is universally supported, vs. supported in jLEMS only, vs. supported in NEURON only. So, is there a set of rules that can be used to determine if a quantity that is safe for jLEMS will also work in NEURON too?

I could modify the resulting NEURON code after jnml generates it, but I'm looking for a simulator-independent way to reliably set the quantity in the LEMS file.

@pgleeson
Copy link
Member

Generally the same paths should be supported in Neuron as jLems. Have a look in the standard examples for usage which is working on jLEMS & Neuron, e.g. https://github.com/NeuroML/NeuroML2/blob/development/LEMSexamples/LEMS_NML2_Ex5_DetCell.xml#L34.

For channels you will usually need to record the current or conductance densities, and paths like hhpop[0]/bioPhys1/membraneProperties/naChans/iDensity and hhpop[0]/bioPhys1/membraneProperties/kChans/gDensity should work in Neuron.

Usually if something is not supported in Neuron, it's just that I haven't gotten round to testing/implementing that type of path yet. There has been some work updating the supported paths in Neuron on the development version recently, so pull down the latest code and you might have more success.

I've been overdue for a while documenting these paths, apologies for this. See for more example paths https://github.com/NeuroML/org.neuroml.export/blob/development/src/main/java/org/neuroml/export/neuron/LEMSQuantityPathNeuron.java, https://github.com/NeuroML/org.neuroml.export/blob/development/src/main/java/org/neuroml/export/utils/LEMSQuantityPath.java#L308

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 🆕 New
Development

No branches or pull requests

2 participants