Skip to content

Commit

Permalink
Merge pull request #5 from pgleeson/development
Browse files Browse the repository at this point in the history
Adds morphology only export option to GUI; tests generated nml files
  • Loading branch information
sanjayankur31 authored Jul 1, 2024
2 parents de81eec + 3ef1e59 commit 480c0cc
Show file tree
Hide file tree
Showing 37 changed files with 50,707 additions and 22 deletions.
41 changes: 41 additions & 0 deletions .github/workflows/omv-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@

name: Continuous build using OMV

on:
schedule:
- cron: "1 1 1 */2 *"
push:
branches: [ main, development, experimental, test* ]
pull_request:
branches: [ main, development, experimental, test* ]

jobs:
build:

runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: [ 3.9, "3.11" ]
engine: [ jNeuroML_validate, jNeuroML_NEURON, jNeuroML_EDEN ]

steps:
- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Install OMV
run: |
pip install git+https://github.com/OpenSourceBrain/osb-model-validation
- name: Run OMV tests on engine ${{ matrix.engine }}
run: |
omv all -V --engine=${{ matrix.engine }}
- name: OMV final version info
run: |
omv list -V # list installed engines
env
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,12 @@ nbproject/private
cvapp.jar
temp
build
/spherSomaSwc/NeuroML2/*.mod
*_nrn.py
/spherSomaSwc/NeuroML2/*.hoc
arm64
/spherSomaSwc/NeuroML2/*.dat
/spherSomaSwc/NeuroML2/simulator.props
*_code.gen.c
*_code.gen.so
*_eden.py
102 changes: 102 additions & 0 deletions caseExamples/NeuroML2/Case1_new.cell.nml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
<neuroml xmlns="http://www.neuroml.org/schema/neuroml2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.neuroml.org/schema/neuroml2 https://raw.github.com/NeuroML/NeuroML2/development/Schemas/NeuroML2/NeuroML_v2.3.1.xsd"
id="Case1_new">

<cell id="Case1_new">
<notes>
Neuronal morphology exported in NeuroML v2.3.1 from CVapp (NeuroMorpho.org version)
Original file: Case1_new.swc </notes>

<morphology id="morphology_Case1_new">

<!-- First point is of a multi point soma => not spherical! -->

<segment id="0" name="Seg_0"> <!-- "Cable" is 0-->

<!-- Cylindrical soma... -->
<proximal x="0" y="-10" z="0" diameter="20"/>
<distal x="0" y="0" z="0" diameter="20"/>
</segment>

<segment id="1" name="Seg_1"> <!-- "Cable" is 0-->
<parent segment="0"/>
<distal x="0" y="10" z="0" diameter="20"/>
</segment>

<!-- Parent point is on soma! Not creating 'real' segment -->

<segment id="2" name="Seg_2"> <!-- "Cable" is 1-->
<parent segment="0"/>
<proximal x="10" y="0" z="0" diameter="4"/>
<distal x="30" y="0" z="0" diameter="4"/>
</segment>

<segment id="3" name="Seg_3"> <!-- "Cable" is 2-->
<parent segment="2"/>
<proximal x="30" y="0" z="0" diameter="4"/>
<distal x="40" y="10" z="0" diameter="4"/>
</segment>

<segment id="4" name="Seg_4"> <!-- "Cable" is 3-->
<parent segment="2"/>
<proximal x="30" y="0" z="0" diameter="4"/>
<distal x="40" y="-10" z="0" diameter="4"/>
</segment>

<segmentGroup id="Cable_0" >
<member segment="0"/>
<member segment="1"/>
</segmentGroup>

<segmentGroup id="Cable_1" >
<member segment="2"/>
</segmentGroup>

<segmentGroup id="Cable_2" >
<member segment="3"/>
</segmentGroup>

<segmentGroup id="Cable_3" >
<member segment="4"/>
</segmentGroup>

<segmentGroup id="color_white" >
<include segmentGroup="Cable_0"/>
</segmentGroup>

<segmentGroup id="dendrite_group" >
<include segmentGroup="Cable_1"/>
<include segmentGroup="Cable_2"/>
<include segmentGroup="Cable_3"/>
</segmentGroup>

<segmentGroup id="soma_group" >
<include segmentGroup="Cable_0"/>
</segmentGroup>

<segmentGroup id="basal_dendrite" >
<include segmentGroup="Cable_1"/>
<include segmentGroup="Cable_2"/>
<include segmentGroup="Cable_3"/>
</segmentGroup>

<segmentGroup id="color_green" >
<include segmentGroup="Cable_1"/>
<include segmentGroup="Cable_2"/>
<include segmentGroup="Cable_3"/>
</segmentGroup>

<segmentGroup id="all" >
<include segmentGroup="Cable_0"/>
<include segmentGroup="Cable_1"/>
<include segmentGroup="Cable_2"/>
<include segmentGroup="Cable_3"/>
</segmentGroup>

</morphology>

<!-- No biophysical properties, as this cell was generated from an SWC morphology file -->

</cell>
</neuroml>
98 changes: 98 additions & 0 deletions caseExamples/NeuroML2/Case1_new_morphOnly.cell.nml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
<neuroml xmlns="http://www.neuroml.org/schema/neuroml2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.neuroml.org/schema/neuroml2 https://raw.github.com/NeuroML/NeuroML2/development/Schemas/NeuroML2/NeuroML_v2.3.1.xsd"
id="Case1_new_morphology">

<notes>
Neuronal morphology exported in NeuroML v2.3.1 from CVapp (NeuroMorpho.org version)
Original file: Case1_new.swc </notes>

<morphology id="morphology_Case1_new">

<!-- First point is of a multi point soma => not spherical! -->

<segment id="0" name="Seg_0"> <!-- "Cable" is 0-->

<!-- Cylindrical soma... -->
<proximal x="0" y="-10" z="0" diameter="20"/>
<distal x="0" y="0" z="0" diameter="20"/>
</segment>

<segment id="1" name="Seg_1"> <!-- "Cable" is 0-->
<parent segment="0"/>
<distal x="0" y="10" z="0" diameter="20"/>
</segment>

<!-- Parent point is on soma! Not creating 'real' segment -->

<segment id="2" name="Seg_2"> <!-- "Cable" is 1-->
<parent segment="0"/>
<proximal x="10" y="0" z="0" diameter="4"/>
<distal x="30" y="0" z="0" diameter="4"/>
</segment>

<segment id="3" name="Seg_3"> <!-- "Cable" is 2-->
<parent segment="2"/>
<proximal x="30" y="0" z="0" diameter="4"/>
<distal x="40" y="10" z="0" diameter="4"/>
</segment>

<segment id="4" name="Seg_4"> <!-- "Cable" is 3-->
<parent segment="2"/>
<proximal x="30" y="0" z="0" diameter="4"/>
<distal x="40" y="-10" z="0" diameter="4"/>
</segment>

<segmentGroup id="Cable_0" >
<member segment="0"/>
<member segment="1"/>
</segmentGroup>

<segmentGroup id="Cable_1" >
<member segment="2"/>
</segmentGroup>

<segmentGroup id="Cable_2" >
<member segment="3"/>
</segmentGroup>

<segmentGroup id="Cable_3" >
<member segment="4"/>
</segmentGroup>

<segmentGroup id="color_white" >
<include segmentGroup="Cable_0"/>
</segmentGroup>

<segmentGroup id="dendrite_group" >
<include segmentGroup="Cable_1"/>
<include segmentGroup="Cable_2"/>
<include segmentGroup="Cable_3"/>
</segmentGroup>

<segmentGroup id="soma_group" >
<include segmentGroup="Cable_0"/>
</segmentGroup>

<segmentGroup id="basal_dendrite" >
<include segmentGroup="Cable_1"/>
<include segmentGroup="Cable_2"/>
<include segmentGroup="Cable_3"/>
</segmentGroup>

<segmentGroup id="color_green" >
<include segmentGroup="Cable_1"/>
<include segmentGroup="Cable_2"/>
<include segmentGroup="Cable_3"/>
</segmentGroup>

<segmentGroup id="all" >
<include segmentGroup="Cable_0"/>
<include segmentGroup="Cable_1"/>
<include segmentGroup="Cable_2"/>
<include segmentGroup="Cable_3"/>
</segmentGroup>

</morphology>

</neuroml>
94 changes: 94 additions & 0 deletions caseExamples/NeuroML2/Case1_orig.cell.nml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
<neuroml xmlns="http://www.neuroml.org/schema/neuroml2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.neuroml.org/schema/neuroml2 https://raw.github.com/NeuroML/NeuroML2/development/Schemas/NeuroML2/NeuroML_v2.3.1.xsd"
id="Case1_orig">

<cell id="Case1_orig">
<notes>
Neuronal morphology exported in NeuroML v2.3.1 from CVapp (NeuroMorpho.org version)
Original file: Case1_orig.swc </notes>

<morphology id="morphology_Case1_orig">

<!-- First point is of a multi point soma => not spherical! -->

<segment id="0" name="Seg_0"> <!-- "Cable" is 0-->

<!-- Cylindrical soma... -->
<proximal x="-10" y="10" z="0" diameter="0.2"/>
<distal x="10" y="10" z="0" diameter="0.2"/>
</segment>

<segment id="1" name="Seg_1"> <!-- "Cable" is 0-->
<parent segment="0"/>
<distal x="10" y="-10" z="0" diameter="0.2"/>
</segment>

<segment id="2" name="Seg_2"> <!-- "Cable" is 0-->
<parent segment="1"/>
<distal x="-10" y="-10" z="0" diameter="0.2"/>
</segment>

<segment id="3" name="Seg_3"> <!-- "Cable" is 0-->
<parent segment="2"/>
<distal x="-10" y="10" z="0" diameter="0.2"/>
</segment>

<!-- Parent point is on soma! Not creating 'real' segment -->

<!-- Parent point is on soma! Not creating 'real' segment -->

<!-- Parent point is on soma! Not creating 'real' segment -->

<!-- Parent point is on soma! Not creating 'real' segment -->

<segmentGroup id="Cable_0" >
<member segment="0"/>
<member segment="1"/>
<member segment="2"/>
<member segment="3"/>
</segmentGroup>

<segmentGroup id="dendrite_group" >
<include segmentGroup="Cable_1"/>
<include segmentGroup="Cable_2"/>
<include segmentGroup="Cable_3"/>
<include segmentGroup="Cable_4"/>
</segmentGroup>

<segmentGroup id="soma_group" >
<include segmentGroup="Cable_0"/>
</segmentGroup>

<segmentGroup id="color_green" >
<include segmentGroup="Cable_1"/>
<include segmentGroup="Cable_2"/>
<include segmentGroup="Cable_3"/>
<include segmentGroup="Cable_4"/>
</segmentGroup>

<segmentGroup id="basal_dendrite" >
<include segmentGroup="Cable_1"/>
<include segmentGroup="Cable_2"/>
<include segmentGroup="Cable_3"/>
<include segmentGroup="Cable_4"/>
</segmentGroup>

<segmentGroup id="all" >
<include segmentGroup="Cable_0"/>
<include segmentGroup="Cable_1"/>
<include segmentGroup="Cable_2"/>
<include segmentGroup="Cable_3"/>
<include segmentGroup="Cable_4"/>
</segmentGroup>

<segmentGroup id="color_white" >
<include segmentGroup="Cable_0"/>
</segmentGroup>

</morphology>

<!-- No biophysical properties, as this cell was generated from an SWC morphology file -->

</cell>
</neuroml>
Loading

0 comments on commit 480c0cc

Please sign in to comment.