Skip to content

Commit

Permalink
Pushing version 2.0.0 to main (#28)
Browse files Browse the repository at this point in the history
* Update conf.py

* Update setup.py

* Updated docs

* Updated documentation with usage examples

* Updated models documentation

* Removing some dendrite-specific features from Soma

* Implemented a simple logging function

* Updated gitignore

* Updated ephys to account for dimensionless

* Updated ephys: dimensionless, better errors, logging

* updated gitignore

* Improving compartment.py

* Syncing changes from main to development (#21)

* Update README.rst

* Update README.rst

* Updated Fig2_notebook.ipynb

!pip install dendrify==1.0.8 --quiet

* Updating development (#22)

* Update README.rst

* Update README.rst

* Updated Fig2_notebook.ipynb

!pip install dendrify==1.0.8 --quiet

* Update Fig3_notebook.ipynb

* Update Fig4_notebook.ipynb

* Update Fig5_notebook.ipynb

* Made from scratch a new dSpike mechanism

* Updated __str__ method and implemented pprint.

* Updated custom events, __str__ and type checking

* Implemented default params functionality

* Added config_dspikes and did  minor changes

* Added some files to .gitignore

* Reduced checks for dSpikes and added timesteps

* Minor improvements

* Updated gitignore

* Added PointNeuronModel

* Added PointNeuronModel to init

* Resolved  double connection when using ipython

* Added more methods to PointNeuronModel

* NeuronModel uses copies of compartments

* Improved compartment parsing for NeuronModel.

* Updated PointNeuronModel class

* Updated .gitignore

* Added option to just view default_params

* Changed order of processes within connect()

* Added a check for dimensionless within connect

* Fixed a bug in connect

* Added option for figsize in as_graph()

* install requires brian 2.5.4

* Added more parameters to make_neurongroup

* added second reset functionality to neuronmodel

* Updated docs of ephysproperties

* Finished docs of compartment and cleared code

* Simplified docstrings

* Added tutorials and pointneuronmodel to docs

* Improved installation guidelines

* Minor changes

* Fixed index file

* Updated installation guidelines

* Finished docstrings of all classes

* Fixed tuple bug when creating a NeuronGroup

* Documentation changes

* Documentation improvements

* Fixed a weird bug that was raising silly errors

* Minor changes

* Experimenting with pytest

* Created using Colaboratory

* Colab test

* Fixed docs

* Made PointNeuronModel from scratch

* added 3 examples with point adex

* cleared repo

* Minor changes

* Updated tutorials

* Updated docs

* Automated examples to rst

* Added point neuron models

* Fixed a bug in _set_properties

* Removed scale & spine factor from NeuronModel init

* Many documentation updates

* Added tau validation to docs

* Minor changes

* Minor documentation changes

* FIxed duplicate label warning from sphinx

* Added FI curve to docs

* Minor changes

* Added more validation tests to docs

* Dendritic IO + other docs improvements

* Added more examples

* minor

* Fixed bug that initialized area_factors with None

* Fixed _set_properties bug with area factors

* Finished all validation examples

* More documentation changes

* Added logo

* Fixed intro images in docs

* Improved colors for docs

* Changed hover color

* Minor

* Improved model library in docs

* Changed changelog :)

* Minor changes docs

* Minor

* Added understanding dSpikes to docs

* Minor changes

* Fixed background color for intro figs

* Updated readme and docs

* Updated Readme

* Updated changelog

* Updated release noted and COC

* Updated release notes

* Finished docs

* Updated conf

* Updated rtd config file
  • Loading branch information
mpgl authored Sep 19, 2023
1 parent 0125b98 commit f3a0c99
Show file tree
Hide file tree
Showing 69 changed files with 6,830 additions and 774 deletions.
11 changes: 11 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -132,3 +132,14 @@ dmypy.json
test.py
.vscode/settings.json
.vscode/
test.ipynb
test2.ipynb
minitest.ipynb
dspikes_benchmarks.ipynb
dspikes.ipynb
nikos.ipynb
viz.py
bench_test_old.py
bench_test.py
test2.py
examples_new/val_tau.py
3 changes: 1 addition & 2 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,4 @@ formats:
# Optionally declare the Python requirements required to build your docs
python:
install:
- requirements: docs_sphinx/source/requirements_docs.txt
system_packages: true
- requirements: docs_sphinx/source/requirements_docs.txt
27 changes: 23 additions & 4 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,37 @@ Dendrify
:target: CODE_OF_CONDUCT.md
:alt: Contributor Covenant

Although neuronal dendrites greatly influence how single neurons process incoming information, their role in network-level functions remain largely unexplored. Current SNNs are usually quite simplistic, overlooking essential dendritic properties. Conversely, circuit models with morphologically detailed neuron models are computationally costly, thus impractical for large-network simulations.

To bridge the gap between these two, we introduce Dendrify, a free, open-source Python package compatible with the `Brian 2 simulator <https://brian2.readthedocs.io/en/stable/>`_. Dendrify, through simple commands, automatically generates reduced compartmental neuron models with simplified yet biologically relevant dendritic and synaptic integrative properties. Such models strike a good balance between flexibility, performance, and biological accuracy, allowing us to explore dendritic contributions to network-level functions.
Although neuronal dendrites play a crucial role in shaping how individual
neurons process synaptic information, their contribution to network-level
functions has remained largely unexplored. Current spiking neural networks
(SNNs) often oversimplify dendritic properties or overlook their essential
functions. On the other hand, circuit models with morphologically detailed
neuron representations are computationally intensive, making them impractical
for simulating large networks.

In an effort to bridge this gap, we present Dendrify—a freely available,
open-source Python package that seamlessly integrates with the
`Brian 2 simulator <https://brian2.readthedocs.io/en/stable/>`_. Dendrify,
through simple commands, automatically generates reduced compartmental neuron
models with simplified yet biologically relevant dendritic and synaptic
integrative properties. These models offer a well-rounded compromise between
flexibility, performance, and biological accuracy, enabling us to investigate
the impact of dendrites on network-level functions.

.. image:: https://github.com/Poirazi-Lab/dendrify/blob/main/docs_sphinx/source/_static/intro.png
:width: 70 %
:align: center

If you use Dendrify for your published research, we kindly ask you to cite our article:

Pagkalos, M., Chavlis, S., & Poirazi, P. (2023). Introducing the Dendrify framework for incorporating dendrites to spiking neural networks. Nature Communications, 14(1), 131. https://doi.org/10.1038/s41467-022-35747-8
Pagkalos, M., Chavlis, S., & Poirazi, P. (2023). Introducing the Dendrify framework
for incorporating dendrites to spiking neural networks.
Nature Communications, 14(1), 131. https://doi.org/10.1038/s41467-022-35747-8


Documentation for Dendrify can be found at https://dendrify.readthedocs.io/en/latest/

The project presentation for the INCF/OCNS Software Working Group is available `on google drive <https://docs.google.com/presentation/d/1LUUh2ja3YSHcmByU0Vyn7vcDEnDq6fWfVxFfuK8FzE0/edit?usp=sharing>`_ and an interactive notebook with a short demo `on google colab <https://colab.research.google.com/drive/1-bGp15eWfjNuF7ETCNSsL3ovOanS_R_7?usp=sharing>`_.

The project presentation for the INCF/OCNS Software Working Group is available
`on google drive <https://docs.google.com/presentation/d/1LUUh2ja3YSHcmByU0Vyn7vcDEnDq6fWfVxFfuK8FzE0/edit?usp=sharing>`_.
5 changes: 3 additions & 2 deletions dendrify/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from .compartment import Compartment, Dendrite, Soma
from .ephysproperties import EphysProperties
from .ephysproperties import (EphysProperties, default_params,
update_default_params)
from .equations import library
from .neuronmodel import NeuronModel
from .neuronmodel import NeuronModel, PointNeuronModel
Loading

0 comments on commit f3a0c99

Please sign in to comment.