py-bluepyopt

Blue Brain Python Optimisation Library

https://github.com/bluebrain/bluepyopt

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 8 DOI reference(s) in README
  • Academic publication links
    Links to: biorxiv.org, frontiersin.org, zenodo.org
  • Committers with academic emails
    19 of 35 committers (54.3%) from academic institutions
  • Institutional organization owner
    Organization bluebrain has institutional domain (portal.bluebrain.epfl.ch)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.8%) to scientific vocabulary

Keywords

biological-simulations computational-neuroscience cross-platform electrophysiology evolutionary-algorithms genetic-algorithm modelling neurons neuroscience optimisations parameter python

Keywords from Contributors

neuron biology emodel brain cell circuit connection mpi mathematics transformer
Last synced: 6 months ago · JSON representation

Repository

Blue Brain Python Optimisation Library

Basic Info
Statistics
  • Stars: 211
  • Watchers: 17
  • Forks: 101
  • Open Issues: 20
  • Releases: 19
Archived
Topics
biological-simulations computational-neuroscience cross-platform electrophysiology evolutionary-algorithms genetic-algorithm modelling neurons neuroscience optimisations parameter python
Created about 10 years ago · Last pushed 12 months ago
Metadata Files
Readme License Authors Zenodo

README.rst

.. warning::
   The Blue Brain Project concluded in December 2024, so development has ceased under the BlueBrain GitHub organization.
   Future development will take place at: https://github.com/openbraininstitute/BluePyOpt

|banner|

BluePyOpt
=========


+----------------+------------+
| Latest Release | |pypi|     |
+----------------+------------+
| Documentation  | |docs|     |
+----------------+------------+
| License        | |license|  |
+----------------+------------+
| Build Status 	 | |build|    |
+----------------+------------+
| Coverage       | |coverage| |
+----------------+------------+
| Gitter         | |gitter|   |
+----------------+------------+
| Zenodo         | |zenodo|   |
+----------------+------------+


Introduction
============

The Blue Brain Python Optimisation Library (BluePyOpt) is an extensible
framework for data-driven model parameter optimisation that wraps and
standardises several existing open-source tools.

It simplifies the task of creating and sharing these optimisations,
and the associated techniques and knowledge.
This is achieved by abstracting the optimisation and evaluation tasks
into various reusable and flexible discrete elements according to established
best-practices.

Further, BluePyOpt provides methods for setting up both small- and large-scale
optimisations on a variety of platforms,
ranging from laptops to Linux clusters and cloud-based compute infrastructures.

Citation
========

When you use the BluePyOpt software or method for your research, we ask you to cite the following publication (**this includes poster presentations**):

`Van Geit W, Gevaert M, Chindemi G, Rössert C, Courcol J, Muller EB, Schürmann F, Segev I and Markram H (2016). BluePyOpt: Leveraging open source software and cloud infrastructure to optimise model parameters in neuroscience. Front. Neuroinform. 10:17. doi: 10.3389/fninf.2016.00017 `_.

.. code-block:: 

	@ARTICLE{bluepyopt,
	AUTHOR={Van Geit, Werner  and  Gevaert, Michael  and  Chindemi, Giuseppe  and  Rössert, Christian  and  Courcol, Jean-Denis  and  Muller, Eilif Benjamin  and  Schürmann, Felix  and  Segev, Idan  and  Markram, Henry},   
	TITLE={BluePyOpt: Leveraging open source software and cloud infrastructure to optimise model parameters in neuroscience},
	JOURNAL={Frontiers in Neuroinformatics},
	VOLUME={10},
	YEAR={2016},
	NUMBER={17},
	URL={http://www.frontiersin.org/neuroinformatics/10.3389/fninf.2016.00017/abstract},
	DOI={10.3389/fninf.2016.00017},
	ISSN={1662-5196}
	}


Publications that use or mention BluePyOpt
==========================================
The list of publications that use or mention BluePyOpt can be found on `the github wiki page `_.

Support
=======
We are providing support using a chat channel on `Gitter `_, or the `Github discussion page `_.

News
====
- 2023/01: BluePyOpt now supports the Arbor simulator.
- 2022/12: Support for LFPy models merged into master. Examples and preprint: https://github.com/alejoe91/multimodalfitting, https://www.biorxiv.org/content/10.1101/2022.08.03.502468v1.full
- 2022/12: BluePyOpt now has the ability to write out NeuroML files: https://github.com/BlueBrain/BluePyOpt/tree/master/bluepyopt/neuroml
- 2021/08/30: BluePyOpt dropped Python 2.7 support.
- 2017/01/04: BluePyOpt is now considered compatible with Python 3.6+.
- 2016/11/10: BluePyOpt now supports NEURON point processes. This means we can fit parameters of Adex/GIF/Izhikevich models, and also synapse models.
- 2016/06/14: Started a wiki: https://github.com/BlueBrain/BluePyOpt/wiki
- 2016/06/07: The BluePyOpt paper was published in Frontiers in Neuroinformatics (for link, see above)
- 2016/05/03: The API documentation was moved to `ReadTheDocs `_
- 2016/04/20: BluePyOpt now contains the code of the IBEA selector, no need to install a BBP-specific version of DEAP anymore
- 2016/03/24: Released version 1.0

Requirements
============

* `Python 3.9+ `_
* `Pip `_ (installed by default in newer versions of Python)
* `Neuron 7.4+ `_ (compiled with Python support)
* `eFEL eFeature Extraction Library `_ (automatically installed by pip)
* `Numpy `_ (automatically installed by pip)
* `Pandas `_ (automatically installed by pip)
* The instruction below are written assuming you have access to a command shell on Linux / UNIX / MacOSX / Cygwin

Installation
============

If you want to use the ephys module of BluePyOpt, you first need to install NEURON with Python support on your machine.

And then bluepyopt itself:


.. code-block:: bash

    pip install bluepyopt

Support for simulators other than NEURON is optional and not installed by default. If you want to use [Arbor](https://arbor-sim.org/) to run your models, use the following line instead to install bluepyopt.

.. code-block:: bash

    pip install bluepyopt[arbor]

Cloud infrastructure
====================

We provide instructions on how to set up an optimisation environment on cloud
infrastructure or cluster computers
`here `_

Quick Start
===========

Single compartmental model
--------------------------

An iPython notebook with an introductory optimisation of a one compartmental
model with 2 HH channels can be found at

https://github.com/BlueBrain/BluePyOpt/blob/master/examples/simplecell/simplecell.ipynb (NEURON)
https://github.com/BlueBrain/BluePyOpt/blob/master/examples/simplecell/simplecell_arbor.ipynb (Arbor)


|landscape_example|


**Figure**: The solution space of a single compartmental model with two parameters: the maximal conductance of Na and K ion channels. The color represents how well the model fits two objectives: when injected with two different currents, the model has to fire 1 and 4 action potential respectively during the stimuli. Dark blue is the best fitness. The blue circles represent solutions with a perfect score.

Neocortical Layer 5 Pyramidal Cell
----------------------------------
Scripts for a more complex neocortical L5PC are in
`this directory `__

With a notebook:

https://github.com/BlueBrain/BluePyOpt/blob/master/examples/l5pc/L5PC.ipynb (NEURON)
https://github.com/BlueBrain/BluePyOpt/blob/master/examples/l5pc/L5PC_arbor.ipynb (Arbor)

Thalamocortical Cells
---------------------
Scripts for 2 thalamocortical cell types are in
`this directory `__

With a notebook:

https://github.com/BlueBrain/BluePyOpt/blob/master/examples/thalamocortical-cell/thalamocortical-cell_opt.ipynb


Tsodyks-Markram Model of Short-Term Plasticity
----------------------------------------------
Scripts for 2 version of fitting the Tsodyks-Markram model to synaptic traces are in
`this directory `__

With 2 notebooks:

https://github.com/BlueBrain/BluePyOpt/blob/master/examples/tsodyksmarkramstp/tsodyksmarkramstp.ipynb
https://github.com/BlueBrain/BluePyOpt/blob/master/examples/tsodyksmarkramstp/tsodyksmarkramstp_multiplefreqs.ipynb

Exporting cell in neuroml format
--------------------------------
An iPython notebook showing how to export a BluePyOpt cell in the neuroml format, how to create a LEMS simulation,
and how to run the LEMS simulation with the neuroml cell can be found at:

https://github.com/BlueBrain/BluePyOpt/blob/master/examples/neuroml/neuroml.ipynb


API documentation
=================
The API documentation can be found on `ReadTheDocs `_.

Funding
=======
This work has been partially funded by the European Union Seventh Framework Program (FP7/2007­2013) under grant agreement no. 604102 (HBP), the European Union’s Horizon 2020 Framework Programme for Research and Innovation under the Specific Grant Agreement No. 720270, 785907 (Human Brain Project SGA1/SGA2) and by the EBRAINS research infrastructure, funded from the European Union’s Horizon 2020 Framework Programme for Research and Innovation under the Specific Grant Agreement No. 945539 (Human Brain Project SGA3).
This project/research was supported by funding to the Blue Brain Project, a research center of the École polytechnique fédérale de Lausanne (EPFL), from the Swiss government’s ETH Board of the Swiss Federal Institutes of Technology.

Copyright (c) 2016-2024 Blue Brain Project/EPFL

..
    The following image is also defined in the index.rst file, as the relative path is 
    different, depending from where it is sourced.
    The following location is used for the github README
    The index.rst location is used for the docs README; index.rst also defined an end-marker, 
    to skip content after the marker 'substitutions'.

.. |pypi| image:: https://img.shields.io/pypi/v/bluepyopt.svg
               :target: https://pypi.org/project/bluepyopt/
               :alt: latest release

.. |docs| image:: https://readthedocs.org/projects/bluepyopt/badge/?version=latest
               :target: https://bluepyopt.readthedocs.io/
               :alt: latest documentation

.. |license| image:: https://img.shields.io/pypi/l/bluepyopt.svg
                  :target: https://github.com/BlueBrain/bluepyopt/blob/master/LICENSE.txt
                  :alt: license

.. |build| image:: https://github.com/BlueBrain/BluePyOpt/workflows/Build/badge.svg?branch=master
                :target: https://github.com/BlueBrain/BluePyOpt/actions
                :alt: actions build status

.. |coverage| image:: https://codecov.io/github/BlueBrain/BluePyOpt/coverage.svg?branch=master
                   :target: https://codecov.io/gh/BlueBrain/bluepyopt
                   :alt: coverage

.. |gitter| image:: https://badges.gitter.im/Join%20Chat.svg
                 :target: https://gitter.im/BlueBrain/blueptopt
                 :alt: Join the chat at https://gitter.im/BlueBrain/BluePyOpt

.. |zenodo| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.8135890.svg
                :target: https://doi.org/10.5281/zenodo.8135890

.. substitutions
.. |banner| image:: docs/source/logo/BluePyOptBanner.png
.. |landscape_example| image:: examples/simplecell/figures/landscape_example.png

Owner

  • Name: The Blue Brain Project
  • Login: BlueBrain
  • Kind: organization
  • Email: bbp.opensource@epfl.ch
  • Location: Geneva, Switzerland

Open Source Software produced and used by the Blue Brain Project

GitHub Events

Total
  • Release event: 1
  • Watch event: 18
  • Delete event: 1
  • Issue comment event: 4
  • Push event: 5
  • Pull request event: 1
  • Pull request review event: 5
  • Pull request review comment event: 4
  • Fork event: 4
  • Create event: 1
Last Year
  • Release event: 1
  • Watch event: 18
  • Delete event: 1
  • Issue comment event: 4
  • Push event: 5
  • Pull request event: 1
  • Pull request review event: 5
  • Pull request review comment event: 4
  • Fork event: 4
  • Create event: 1

Committers

Last synced: 12 months ago

All Time
  • Total Commits: 950
  • Total Committers: 35
  • Avg Commits per committer: 27.143
  • Development Distribution Score (DDS): 0.494
Past Year
  • Commits: 36
  • Committers: 5
  • Avg Commits per committer: 7.2
  • Development Distribution Score (DDS): 0.306
Top Committers
Name Email Commits
Werner Van Geit w****t@e****h 481
Jaquier Aurélien Tristan a****r@e****h 124
Tanguy Damart t****t@e****h 73
Mike Gevaert m****t@e****h 52
Lukas Drescher l****r@c****h 39
arnaudon a****n@e****h 26
Anil Tuncel a****l@e****h 22
Damart Tanguy Pierre Louis d****t@b****h 18
Giuseppe Chindemi g****i@e****h 16
Aurélien Jaquier 7****r 12
Jaquier Aurélien Tristan a****r@b****h 9
C Rössert c****t@e****h 8
Johannes Hjorth h****h@k****e 8
Alexander Dietz a****z@e****h 8
Elisabetta Iavarone e****e@e****h 7
Alessio Buccino a****7@g****m 7
Andras Ecker e****s@g****m 6
darshanmandge d****e@e****h 5
jdcourcol j****l@e****h 4
Pietro Monticone 3****e 4
croessert c****t 3
alberto-antonietti a****i@p****t 3
Christian Clauss c****s@m****m 2
A Sato 5****G 2
Erik Heeren e****n@o****g 1
Aleksei Sanin a****n@e****h 1
Benjamin A. Beasley c****e@m****t 1
Christopher C****r@g****m 1
Daniele Linaro d****o@g****m 1
Liesbeth Vanherpe l****e@e****h 1
and 5 more...

Issues and Pull Requests

Last synced: 12 months ago

All Time
  • Total issues: 33
  • Total pull requests: 102
  • Average time to close issues: 2 months
  • Average time to close pull requests: 20 days
  • Total issue authors: 22
  • Total pull request authors: 17
  • Average comments per issue: 4.12
  • Average comments per pull request: 2.45
  • Merged pull requests: 86
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 5
  • Pull requests: 7
  • Average time to close issues: N/A
  • Average time to close pull requests: 5 days
  • Issue authors: 4
  • Pull request authors: 3
  • Average comments per issue: 3.6
  • Average comments per pull request: 2.29
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • bhmagic (5)
  • anilbey (5)
  • Helveg (2)
  • FrancescoCavarretta (2)
  • SteMasoli (2)
  • Hjorthmedh (1)
  • wvangeit (1)
  • arnaudon (1)
  • befeleme (1)
  • ASVG (1)
  • stefanoantonel (1)
  • wthun (1)
  • lukasgd (1)
  • frenzymadness (1)
  • mgeplf (1)
Pull Request Authors
  • AurelienJaquier (53)
  • wvangeit (15)
  • anilbey (12)
  • DrTaDa (9)
  • penguinpee (4)
  • arnaudon (4)
  • alejoe91 (3)
  • alberto-antonietti (2)
  • Hjorthmedh (2)
  • darshanmandge (1)
  • alex4200 (1)
  • mgeplf (1)
  • musicinmybrain (1)
  • lukasgd (1)
  • russelljjarvis (1)
Top Labels
Issue Labels
Pull Request Labels
dontmerge (5)

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 1
  • Total dependent repositories: 0
  • Total versions: 2
  • Total maintainers: 1
spack.io: py-bluepyopt

Bluebrain Python Optimisation Library

  • Versions: 2
  • Dependent Packages: 1
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Average: 29.3%
Dependent packages count: 58.6%
Maintainers (1)
Last synced: 7 months ago

Dependencies

requirements_docs.txt pypi
  • sphinx >=2.0.0
  • sphinx-autorun *
  • sphinx-bluebrain-theme *
setup.py pypi
  • Jinja2 >=2.8
  • Pebble >=4.3.10
  • deap *
  • efel >=2.13
  • future *
  • ipyparallel *
  • numpy >=1.6
  • pandas >=0.18
  • pickleshare >=0.7.3
.github/workflows/build.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/keep-alive.yml actions
  • actions/checkout v2 composite
.github/workflows/test.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • codecov/codecov-action v2 composite
Dockerfile docker
  • andrewosh/binder-base latest build
.github/workflows/mirror-ebrains.yml actions
  • wei/git-sync v3 composite
package.json npm
requirements.txt pypi