Skip to content

Commit

Permalink
Merge branch 'main'
Browse files Browse the repository at this point in the history
  • Loading branch information
sanjayankur31 committed Mar 19, 2024
2 parents 55268bc + 4c1c3ba commit 8bb336e
Show file tree
Hide file tree
Showing 15 changed files with 182 additions and 20 deletions.
13 changes: 12 additions & 1 deletion .all-contributorsrc
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,19 @@
"code",
"content"
]
},
{
"login": "erik-ski",
"name": "erik-ski",
"avatar_url": "https://avatars.githubusercontent.com/u/108799727?v=4",
"profile": "https://github.com/erik-ski",
"contributions": [
"bug",
"review"
]
}
],
"contributorsPerLine": 7,
"linkToUsage": true
"linkToUsage": true,
"commitType": "docs"
}
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
[![Twitter Follow](https://img.shields.io/twitter/follow/NeuroML?style=social)](https://twitter.com/NeuroML)
[![Gitter](https://badges.gitter.im/NeuroML/community.svg)](https://gitter.im/NeuroML/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-5-orange.svg?style=flat-square)](#contributors-)
[![All Contributors](https://img.shields.io/badge/all_contributors-6-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->


Expand Down Expand Up @@ -37,6 +37,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
<td align="center" valign="top" width="14.28%"><a href="https://github.com/borismarin"><img src="https://avatars.githubusercontent.com/u/3452783?v=4?s=100" width="100px;" alt="Boris Marin"/><br /><sub><b>Boris Marin</b></sub></a><br /><a href="https://github.com/NeuroML/Documentation/commits?author=borismarin" title="Code">💻</a> <a href="#content-borismarin" title="Content">🖋</a> <a href="https://github.com/NeuroML/Documentation/pulls?q=is%3Apr+reviewed-by%3Aborismarin" title="Reviewed Pull Requests">👀</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/shayan823"><img src="https://avatars.githubusercontent.com/u/16141677?v=4?s=100" width="100px;" alt="Shayan Shafquat"/><br /><sub><b>Shayan Shafquat</b></sub></a><br /><a href="https://github.com/NeuroML/Documentation/commits?author=shayan823" title="Code">💻</a> <a href="#content-shayan823" title="Content">🖋</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ramcdougal"><img src="https://avatars.githubusercontent.com/u/6668090?v=4?s=100" width="100px;" alt="Robert A McDougal"/><br /><sub><b>Robert A McDougal</b></sub></a><br /><a href="https://github.com/NeuroML/Documentation/commits?author=ramcdougal" title="Code">💻</a> <a href="#content-ramcdougal" title="Content">🖋</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/erik-ski"><img src="https://avatars.githubusercontent.com/u/108799727?v=4?s=100" width="100px;" alt="erik-ski"/><br /><sub><b>erik-ski</b></sub></a><br /><a href="https://github.com/NeuroML/Documentation/issues?q=author%3Aerik-ski" title="Bug reports">🐛</a> <a href="https://github.com/NeuroML/Documentation/pulls?q=is%3Apr+reviewed-by%3Aerik-ski" title="Reviewed Pull Requests">👀</a></td>
</tr>
</tbody>
<tfoot>
Expand Down
42 changes: 42 additions & 0 deletions source/Events/202404-Harmony.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
(neuromlevents:202404harmony)=
# April 2024: NeuroML hackathon at HARMONY 2024

```{admonition} Registration for the COMBINE initiative's HARMONY 2024 meeting is free.
:class: tip
Please register for the COMBINE HARMONY 2024 meeting [here](https://co.mbine.org/author/harmony-2024/) if you are coming to our NeuroML workshop.
Registration for HARMONY is free.
```

We will be running a NeuroML workshop during the upcoming [COMBINE network's HARMONY 2024](https://co.mbine.org/author/harmony-2024/) meeting on Tues 9th April 2024 in London, entitled:

**NeuroML hackathon: convert your neuron and network models to open, standardised, reusable formats**

This will be an opportunity for developers of models in computational neuroscience to get an introduction to the aims and structure of NeuroML, a guide to the tools available for building/converting their models to NeuroML, and to receive hands on help with expressing their models (or other published models they are interested in) in NeuroML format, making them more open, accessible and reusable.

(neuromlevents:202404harmony:agenda)=
## Agenda

More details to follow

(neuromlevents:202404harmony:when)=
## Times and dates


More details to follow

(neuromlevents:202404harmony:registration)=
## Registration

To take part in the workshop, please register [here](https://co.mbine.org/author/harmony-2024/) for the HARMONY meeting (registration is free).


(neuromlevents:202404harmony:prepare)=
## Open an issue beforehand!
While it will be possible to raise and discuss new issues at the workshop, it will be easier to manage and plan work/discussions if you open an issue with a description of the problem you are trying to address at: [https://github.com/NeuroML/NeuroML2/issues](https://github.com/NeuroML/NeuroML2/issues).

(neuromlevents:202404harmony:slack)=
## Slack
To aid communication with the community during (and after) the meeting, we have a **Slack channel** for NeuroML related discussions.
Please contact [Padraig Gleeson](mailto:p_DOT_gleeson_AT_ucl.ac.uk) for an invite.

We look forward to working with the community to drive further uptake of NeuroML compliant models and tools!
64 changes: 64 additions & 0 deletions source/Events/202407-CNS2024.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
(neuromlevents:202407cns)=
# July 2024: NeuroML tutorial at CNS 2024

```{admonition} Registration for the annual meeting of the Organisation of Computational Neuroscience, CNS 2024, is open.
:class: tip
Please register for the CNS 2024 [here](https://www.cnsorg.org/cns-2024-quick).
```

We will be running a full day NeuroML tutorial during the [annual meeting of the Organisation of Computational Neuroscience, 2024](https://www.cnsorg.org/cns-2024-quick) meeting in Natal, Brazil from July 20--24.

**Standardised, data-driven computational modelling with NeuroML using Open Source Brian**

Data-driven models of neurons and circuits are important for understanding how the
properties of membrane conductances, synapses, dendrites and the anatomical connectivity
between neurons generate the complex dynamical behaviours of brain circuits in health and
disease. However, even though data and models are being made publicly available in recent
years and the use of standards such as [Neurodata Without Borders (NWB)](https://nwb.org)
and NeuroML to promote FAIR (Findable, Accessible, Interoperable
and Reusable) neuroscience is on the rise, development of data driven models remains
hampered by the difficulty of finding appropriate data and the inherent complexity involved in
their construction.

The [Open Source Brain web platform (OSB)](https://opensourcebrain.org) brings together
data, accompanying analysis tools, and computational models in a single, scalable resource.
It indexes repositories from established sources such as the [DANDI data
archive](https://dandiarchive.org), the [ModelDB model sharing
archive](https://modeldb.science), and GitHub to provide easy access to a
plethora of experimental data and models, including
a large number standardised in NWB and NeuroML formats

OSB also incorporates the NeuroML software ecosystem. NeuroML is an established
community standard and software ecosystem that enables the development of biophysically
detailed models using a declarative, simulator independent description. The software
ecosystem supports all steps of the model lifecycle and allows users to automatically
generate code and run their NeuroML models using a number of well established simulation
engines (NEURON/NetPyNE).

Read the NeuroML pre-print here: https://www.biorxiv.org/content/10.1101/2023.12.07.570537v1

(neuromlevents:202407cns:agenda)=
## Agenda

In this tutorial, attendees will learn about:

- Finding data and models on OSB
- NeuroML and its software ecosystem
- Using NeuroML models on OSB
- Building and simulating new NeuroML models constrained by the data on OSB

We will also provide assistance with advanced tasks, and discuss new features to further aid researchers.


(neuromlevents:202407cns:when)=
## Times and dates

More details to follow

(neuromlevents:202407cns:registration)=
## Registration

To take part in the tutorial, please register [here](https://www.cnsorg.org/cns-2024-quick) for CNS 2024.


We look forward to working with the community to drive further uptake of NeuroML compliant models and tools!
7 changes: 7 additions & 0 deletions source/Landing.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@

*A model description language for computational neuroscience.*


```{admonition} Read the latest NeuroML preprint on bioRxiv
:class: attention
[The NeuroML ecosystem for standardized multi-scale modeling in neuroscience](https://www.biorxiv.org/content/10.1101/2023.12.07.570537v1)
```


<!-- be careful with the indentation -->

<div id="carousel-neuroml" class="carousel slide" data-ride="carousel">
Expand Down
5 changes: 4 additions & 1 deletion source/Userdocs/IzhikevichNetworkExample.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,10 @@ We will create a small network of cells, simulate this network, and generate a p
Spike times of neurons in 2 populations recorded from the simulation.
```

The Python script used to create the model, simulate it, and generate this plot is below:
The Python script used to create the model, simulate it, and generate this plot is below.
Please note that this example uses the {ref}`NEURON <userdocs:neuron>` simulator to simulate the model.
Please ensure that the `NEURON_HOME` environment variable is correctly set as noted {ref}`here <userdocs:neuron:envvar>`.

```{literalinclude} ./NML2_examples/izhikevich-network.py
----
language: python
Expand Down
3 changes: 3 additions & 0 deletions source/Userdocs/MultiCompartmentOLMexample.md
Original file line number Diff line number Diff line change
Expand Up @@ -394,6 +394,9 @@ Level 10 network graph generated by pynml
```
## Simulating the model

Please note that this example uses the {ref}`NEURON <userdocs:neuron>` simulator to simulate the model.
Please ensure that the `NEURON_HOME` environment variable is correctly set as noted {ref}`here <userdocs:neuron:envvar>`.

Now that we have declared and inspected our network model and all its components, we can proceed to simulate it.
We do this in the `main` function:
```{literalinclude} ./NML2_examples/olm-example.py
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<!--
This LEMS file has been automatically generated using PyNeuroML v1.1.10 (libNeuroML v0.5.8)
This LEMS file has been automatically generated using PyNeuroML v1.1.13 (libNeuroML v0.5.8)
-->

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<!--
This LEMS file has been automatically generated using PyNeuroML v1.1.10 (libNeuroML v0.5.8)
This LEMS file has been automatically generated using PyNeuroML v1.1.13 (libNeuroML v0.5.8)
-->

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<!--
This LEMS file has been automatically generated using PyNeuroML v1.1.10 (libNeuroML v0.5.8)
This LEMS file has been automatically generated using PyNeuroML v1.1.13 (libNeuroML v0.5.8)
-->

Expand Down
2 changes: 1 addition & 1 deletion source/Userdocs/NML2_examples/LEMS_olm_example_sim.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<!--
This LEMS file has been automatically generated using PyNeuroML v1.1.10 (libNeuroML v0.5.8)
This LEMS file has been automatically generated using PyNeuroML v1.1.13 (libNeuroML v0.5.8)
-->

Expand Down
23 changes: 23 additions & 0 deletions source/Userdocs/Software/Tools/NEURON.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

[NEURON](http://www.neuron.yale.edu/neuron) is a widely used simulation environment and is one of the main target platforms for a standard facilitating exchange of neuronal models.

(userdocs:neuron:simulating)=
## Simulating NeuroML models in NEURON

{ref}`jNeuroML <jneuroml>` or {ref}`pyNeuroML <pyNeuroML>` can be used to convert NeuroML2/LEMS models to NEURON. This involves pointing at a {ref}`LEMS Simulation file <userdocs:lemssimulation>` describing what to simulate, and using the `-neuron` option:
Expand Down Expand Up @@ -32,6 +33,28 @@ from pyneuroml.pynml import run_lems_with_jneuroml_neuron
run_lems_with_jneuroml_neuron(lems_file_name)
```

(userdocs:neuron:envvar)=
## Setting the NEURON_HOME environment variable

Since it is possible to install multiple versions of NEURON in different places, the NeuroML tools need to be told where the NEURON tools are.
To do this, they look at the `NEURON_HOME` environment variable.
This needs to hold the path to where the binary (`bin`) folder holding the NEURON tools such as `nrniv` are located.
On Linux like systems, one can use `which` to find these tools and set the variable:

``` {code-block} bash
$ which nrniv
~/.local/share/virtualenvs/neuroml-311-dev/bin/nrniv
$ export NEURON_HOME="~/.local/share/virtualenvs/neuroml-311-dev/"
```

One can combine these commands together also:

``` {code-block} bash
$ export NEURON_HOME="$(dirname $(dirname $(which nrniv)))"
```

(userdocs:neuron:neuroconstruct)=
## Using neuroConstruct

NEURON simulations can also be generated from NeuroML model components by {ref}`neuroConstruct <userdocs:supporting:apps:neuroconstruct>`, but most of this functionality is related to {ref}`NeuroML v1 <userdocs:neuromlv1>`.
29 changes: 17 additions & 12 deletions source/Userdocs/Software/pyNeuroML.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,24 +67,29 @@ pip install pyneuroml
By default, this will only install the minimal set of packages required to use pyNeuroML.
To use pyNeuroML with specific {ref}`supporting tools <userdocs:supporting:apps>`, please install them as required:

For {ref}`NEURON <userdocs:supporting:apps:neuron>`

```{code-block} console
pip install NEURON
pip install pyneuroml[neuron] # for NEURON simulation backend
pip install pyneuroml[brian] # for Brian2 simulation backend
pip install pyneuroml[netpyne] # for NetPyNE simulation backend
pip install pyneuroml[povray] # for povray functions
pip install pyneuroml[hdf5] # for HDF5 support
pip install pyneuroml[analysis] # for analysis functions
pip install pyneuroml[tune] # for tuning/fitting functions
pip install pyneuroml[vispy] # for 3D interactive morphology plotting using vispy
pip install pyneuroml[plotly] # for interactive plotting with plotly
pip install pyneuroml[nsg] # pulls in pynsgr to use NSG
pip install pyneuroml[combine] # includes libsbml, libsedml
pip install pyneuroml[tellurium] # for Tellurium simulation backend
pip install pyneuroml[all] # installs all of the above
pip install pyneuroml[dev] # installs the above and other test related packages
pip install pyneuroml[doc] # for building documentation
```

For compiling NEURON mod files, you also need a C compiler and the make utility installed on your computer.
Please note that for compiling NEURON mod files, you also need a C compiler and the `make` utility installed on your computer.
Additionally, to run parallel simulations the [MPI](https://en.wikipedia.org/wiki/Message_Passing_Interface) libraries are also needed.
Please see the [NEURON installation documentation](https://www.neuron.yale.edu/neuron/download) for more information on installing NEURON on your computer.

{ref}`Brian <userdocs:supporting:apps:brian>`, {ref}`NetPyNE <userdocs:supporting:apps:netpyne>` can also be similarly installed:

```
pip install netpyne
pip install brian2
```

For more information, please refer to their respective documentations.
For more information on individual simulation backends, please refer to their respective documentations.

(pyneuroml:install_fedora)=
### Installation on Fedora Linux
Expand Down
3 changes: 2 additions & 1 deletion source/_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

title: "NeuroML Documentation" # Leave empty: logo says NeuroML
author: "NeuroML contributors"
copyright: "2024" # Copyright year to be placed in the footer
logo: images/logo.png

# List bibtex source file
Expand All @@ -25,7 +26,7 @@ latex:
repository:
url: https://github.com/NeuroML/Documentation # Online location of your book
path_to_book: source # Optional path to your book, relative to the repository root
branch: master # Which branch of the repository should be used when creating links (optional)
branch: main # Which branch of the repository should be used when creating links (optional)

# Add GitHub buttons to your book
# See https://jupyterbook.org/customize/config.html#add-a-link-to-your-repository
Expand Down
2 changes: 2 additions & 0 deletions source/_toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,8 @@ parts:
- file: Userdocs/FAQ
- caption: NeuroML events
chapters:
- file: Events/202407-CNS2024
- file: Events/202404-Harmony
- file: Events/20220630-CNS2022
- file: Events/202204-Harmony
- file: Events/202109-COMBINE
Expand Down

0 comments on commit 8bb336e

Please sign in to comment.