NeuroML / NeuroML2

This repository hosts the NeuroML 2 Schema, the ComponentType definitions in LEMS and the core documentation of NeuroML2.
https://docs.neuroml.org
GNU Lesser General Public License v3.0
50 stars 24 forks source link

Improve support for Brian/Brian2 #35

Open pgleeson opened 10 years ago

pgleeson commented 10 years ago

Note: the latest examples of NeuroML<->Brain(2) are in https://github.com/OpenSourceBrain/BrianShowcase

Brian export is still in development, but works for single cell/compartment models. Works for Brian v1 & v2.

The main class for export to Brian is https://github.com/NeuroML/org.neuroml.export/blob/development/src/main/java/org/neuroml/export/brian/BrianWriter.java

A working example in LEMS that can be exported to Brian is at LEMS_NML2_Ex9_FN.xml. This can be converted to Brian format with jNeuroML:

jnml LEMS_NML2_Ex9_FN.xml -brian 
jnml LEMS_NML2_Ex9_FN.xml -brian2

This produces the following Brian v1 file: LEMS_NML2_Ex9_FN_brian.py and the following v2 file: LEMS_NML2_Ex9_FN_brian2.py

More examples which can be mapped to Brain1/2 include: FergusonEtAl2013-PVFastFiringCell FitzHugh-Nagumo hodgkin_huxley_tutorial

Major enhancements which are required include:

Synaptic connections as used here: https://github.com/NeuroML/NeuroML2/blob/development/examples/NML2_InstanceBasedNetwork.nml & https://github.com/NeuroML/NeuroML2/blob/development/LEMSexamples/LEMS_NML2_Ex13_Instances.xml Note: this could potentially be facilitated by making an Brian interface for NeuroMLlite

pgleeson commented 4 years ago

Updated description and moving to Milestone: https://github.com/NeuroML/NeuroML2/milestone/6