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

Include morphology from another file #150

Open
pgleeson opened this issue Mar 23, 2021 · 1 comment
Open

Include morphology from another file #150

pgleeson opened this issue Mar 23, 2021 · 1 comment

Comments

@pgleeson
Copy link
Member

pgleeson commented Mar 23, 2021

Is your feature request related to a problem? Please describe.
Use one NML morphology in multiple active files

Describe the solution you'd like
Be able to include with one line the morphology section from another cell

Perhaps something like:

<neuroml>

  <include href="pyr_morphology.nml"/>
  <include href="pyr_biophysics.nml"/>

    <cell id="pyr_full" morphology="pyr_morphology/morph" biophysical_properties="pyr_biophysics/biophysicalProperties">

        <notes>Points to definitions in other cells</notes>

    </cell>
</neuroml>

See https://github.com/pgleeson/morphology_include/blob/main/pyr_full.cell.nml

@spanag
Copy link

spanag commented May 10, 2024

FWIW, Eden handles <morphology>s and <biophysicalProperties> outside the <cell> as attributes, as seen on:
https://gitlab.com/c7859/neurocomputing-lab/Inferior_OliveEMC/eden/-/blob/main/eden/NeuroML.cpp#L5303 and 5330 .
Because the <biophysicalProperties> can thus be used with different morphs in different cell types, they get re-interpreted for each cell type.
This behaviour was guessed by reading the schema, see https://github.com/NeuroML/NeuroML2/blob/NMLv2.1/Schemas/NeuroML2/NeuroML_v2.1.xsd#L1534 .

If we point to a LEMS path to hijack the morphologies of a different cell type, it's a bit irregular and we have to make sure no e.g dynamic properties are ever allowed to happen because they would expose the links.
How difficult would it be to spawn a child component as a subclass of an existing LEMS component, when the attribute is present? IIRC there is <Structure> support to do this, if only it wasn't optional.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: ✅ Done
Development

No branches or pull requests

3 participants