Project Overview

Name of the project

IMPROVED MODEL DESCRIPTION FUNCTIONALITY IN BRIAN

Contributions

The project was done by Vigneswaran C, as his Google Summer of Code - 2020 project, under the guidance of Marcel Stimberg (Primary mentor) and Dan Goodman (Secondary mentor). The project was selected under Brian team and INCF (parent organization)

What is this project about?

The project aims to create a standard model description framework for Brian2 that involves collecting all required information from Brian script and represent them in intuitive hierarchy of information using dictionary-like format.

Why it is needed?

In Computational Neuroscience, experimentation involves plethora of complex synaptic pathways, parameters and model dynamics and therefore standardizing the way to represent them becomes very important. Also, the representation should not pose software-based syntactic constraints for "general" users. So, the project creates a standard framework for model descriptions and also provide flexibility to build other exporters on top of it. Currently `markdown` export and `NeuroML` export (PR yet to be merged) use the base export to get information about Brian model.

Weekly progress

Week Highlights Issue(s) associated Pull Request(s) associated
1 Collect function for NeuronGroup
with name, size and Equations
- -
2 Collect function with Events and
Identifiers
brian2tools/issues/25 brian2tools/pull/30
3 Support PoissonGroup and
SpikeGeneratorGroup
brian2tools/issues/25
brian2tools/issues/29
brian2tools/pull/30
4 Baseexport device brian2tools/issues/26 brian2tools/pull/31
5 Supporting monitors and
run_regularly(). Support multiple
run()
brian2tools/issues/33 brian2tools/pull/31
brian2tools/pull/34
6 Refactor NeuroML export brian2tools/issues/27 brian2tools/pull/35
7 Refactor NeuroML export and
conceptualize human readable
export
brian2tools/issues/27
brian2tools/issues/28
brian2tools/pull/35
8 Exporter for human readable
export using markdown
brian2tools/issues/28 brian2tools/pull/37
9 Support Synapses brian2tools/issues/38 brian2tools/pull/39
10 Support Synapses and implement
array_cache mechanism
brian2tools/issues/38 brian2tools/pull/39
11 Support PoissonInput, TimedArray,
and Custom user functions
brian2tools/issues/38 brian2tools/pull/39
12 Finalizing human readable export
with mdexport device
brian2tools/issues/28 brian2tools/pull/37
13 Final stretch: wrapping, documenting
and report submission.
Showcase: Brian2 examples descriptions using markdown export
-
-

Acknowledgements

At the outset of the program, I would like to thank Marcel Stimberg for his encouraging and impeccable guidance, and Brian team, INCF and Google for providing me this amazing opportunity.