-
Notifications
You must be signed in to change notification settings - Fork 30
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
How can a list of possible observable quantities be retrieved from a LEMS file? #103
Comments
There isn't a utility function that does this at the moment. One has to use pylems to read the model and then iterate over it to list the "exposures" themselves. The exposures are specified in the neuroml/lems schemas. For example: https://docs.neuroml.org/Userdocs/Schemas/Cells.html#basecellmembpot We can add a utility function in pyneuroml that reads the lems file and lists all exposures perhaps. Would that help? |
Of the issues I raised, this would be the most helpful to address. A utility function would be great. Guidance on commands to run would be fine too. |
Great. This is on our backlog now. I'll open a PR once I have it implemented. I think way would be to read the file to create a LEMS model in PyLEMS, and then iterate over the entities of the model to list all exposures. I'll have to look at the PyLEMS API to see how this can be implemented though. |
I started down this path. Now that I worked out how to read files, its easy to iterate over the components. What is the convention is for mapping chains of component ids to paths for observables such as Also, is there analogous way to specify particular values of parameters in the top level LEMS file (something that would override the values indicated in the includes files)? |
Sorry, I'm not sure I understand---one will go `"{}/{}".format(id1, id2) and so on to construct the observable path generally. At the moment this path has to be constructed manually by the user as far as I know: Example: https://docs.neuroml.org/Userdocs/SingleCompartmentHHExample.html#simulating-the-model
Not that I'm aware of. From what I know, the NML files must be regenerated for each new set of parameters. @pgleeson will be able to confirm |
The strings used to address exposures (e.g., |
I'm not sure. I think anything can have an ID and the ID can be used to construct the path. In cases where there's only one entity, it seems that the entity name can be used instead of the ID and it resolves fine. I think exposures can be referred to using id too, but since each component will only have one exposure of a particular name, the name can be used too. Populations and other containers that can have multiple entities of the same component type use the index to refer to a particular entity. I'll discuss this and see if we can add a page to the docs clarifying how this works. I've not found any info in the papers/docs either, so this is certainly missing. |
We have an issue open here: NeuroML/Documentation#15 |
Yes, this in the same issue I'm describing. This can be closed because its redundant with that issue. |
I.e. quantities that could be plotted, e.g.,
The text was updated successfully, but these errors were encountered: