soma_den_mn_model
Two compartment motor neuron (MN) pool model based on (Elias and Kohn, 2013), implemented in Brian2. Every MN is comprised by a cylindrical soma and dendrite and coupled with a model of motor unit (MU) twitch for force production. The dendrites of the MNs include L-type Ca2+ channels to simulate the effect of persistent inward currents.
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in README -
✓Academic publication links
Links to: biorxiv.org, sciencedirect.com -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.8%) to scientific vocabulary
Repository
Two compartment motor neuron (MN) pool model based on (Elias and Kohn, 2013), implemented in Brian2. Every MN is comprised by a cylindrical soma and dendrite and coupled with a model of motor unit (MU) twitch for force production. The dendrites of the MNs include L-type Ca2+ channels to simulate the effect of persistent inward currents.
Basic Info
Statistics
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Soma-dendrite motor neuron model
Overview
Two compartment motor neuron (MN) pool model based on (Elias and Kohn, 2013). Every MN is comprised by a cylindrical soma and dendrite. The dendrites of the MNs include L-type Ca2+ channels to simulate the effect of persistent inward currents. The output is coupled with a model of motor unit (MU) twitch for force production. The model support the injection of current in the soma or dendrite, plus synaptic excitatory inputs (generated based on Avrillon et al, 2023 and Farina and Negro, 2015). The code is implemented in Brian2.
Table of Contents
Installation
This toolbox is installable via pip with:
sh
pip install git+https://github.com/imendezguerra/soma_den_mn_model
To install it in editable mode, please clone the repository in your project's folder and run:
sh
pip install -e ./soma_den_mn_model
Once the toolbox has been installed you can just import the corresponding packages as:
python
from soma_den_mn_model.configs import S_MN_Config
Prerequisites
When installing the package, pip will automatically install the required packages stored in requirements.txt.
If you decide to clone the repository, then you can replicate the environment with:
conda env create -f environment.yml
The file was constructed without the build so it should be compatible with Os, Windows, and Linux.
Local setup guide
To set up the project locally do the following:
- Clone the repository:
sh git clone https://github.com/imendezguerra/soma_den_mn_model.git - Navigate to the project directory:
sh cd soma_den_mn_model - Create the conda environment from the
environment.ymlfile:sh conda env create -f environment.yml - Activate the environment:
sh conda activate soma_den_mn_model
Quick start
The package is composed of the following modules:
- configs.py: Child dataclasses with properties for S, FR, and FF motor neurons.
- inputs.py: Class to generate synaptic excitatory inputs (dynamics of the excitatory neurotransmitter, unitless).
- pool.py: Class with functions to simulate a motor neuron pool.
The tutorials folder contains examples of how to use the package, including:
- example_injected_dendrite.ipynb: Dendrite current injection to a 100 MN pool
- example_injected_soma.ipynb: Soma current injection to a 100 MN pool
- example_synaptic_dendrite.ipynb: Synaptic excitatory inputs (dendrite compartment) to a 100 MN pool
Contributing
We welcome contributions! Here’s how you can contribute:
- Fork the repository.
- Create a feature branch (
git checkout -b feature/newfeature). - Commit your changes (
git commit -m 'Add some newfeature'). - Push to the branch (
git push origin feature/newfeature). - Open a pull request.
License
This project is licensed under the MIT License.
Citation
If you use this code in your research, please cite this repository:
sh
@software{Mendez_Guerra_soma_den_mn_model,
author = {Mendez Guerra, Irene},
title = {{Soma-dendrite motor neuron model}},
url = {https://github.com/imendezguerra/soma_den_mn_model},
version = {1.0}
}
Contact
For any questions or inquiries, please contact us at:
sh
Irene Mendez Guerra
irene.mendez17@imperial.ac.uk
Owner
- Name: Irene Mendez Guerra
- Login: imendezguerra
- Kind: user
- Repositories: 1
- Profile: https://github.com/imendezguerra
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Mendez Guerra" given-names: "Irene" orcid: "https://orcid.org/0000-0001-7361-4618" title: "Soma-dendrite motor neuron model" version: 1.0 # doi: tbd # date-released: tbd url: "https://github.com/imendezguerra/soma_den_mn_model"
GitHub Events
Total
- Watch event: 1
- Fork event: 1
Last Year
- Watch event: 1
- Fork event: 1
Dependencies
- brian2 ==2.5.1.post0.dev132
- numpy ==1.24.4
- pyparsing ==3.1.2
- Babel ==2.11.0
- Bottleneck ==1.3.7
- Brian2 ==2.5.1
- Brotli ==1.0.9
- Cython ==3.0.11
- Jinja2 ==3.1.4
- MarkupSafe ==2.1.3
- PyQt5 ==5.15.10
- PyQt5-sip ==12.13.0
- PySocks ==1.7.1
- PyYAML ==6.0.1
- Pygments ==2.15.1
- Send2Trash ==1.8.2
- anyio ==4.2.0
- argon2-cffi ==21.3.0
- argon2-cffi-bindings ==21.2.0
- asttokens ==2.0.5
- async-lru ==2.0.4
- attrs ==23.1.0
- backcall ==0.2.0
- beautifulsoup4 ==4.12.3
- bleach ==4.1.0
- certifi ==2024.7.4
- cffi ==1.16.0
- charset-normalizer ==3.3.2
- comm ==0.2.1
- contourpy ==1.0.5
- cycler ==0.11.0
- debugpy ==1.6.7
- decorator ==5.1.1
- defusedxml ==0.7.1
- exceptiongroup ==1.2.0
- executing ==0.8.3
- fastjsonschema ==2.16.2
- fonttools ==4.51.0
- idna ==3.7
- importlib-metadata ==7.0.1
- importlib_resources ==6.4.0
- iniconfig ==1.1.1
- ipykernel ==6.28.0
- ipython ==8.12.2
- jedi ==0.19.1
- json5 ==0.9.6
- jsonschema ==4.19.2
- jsonschema-specifications ==2023.7.1
- jupyter-events ==0.10.0
- jupyter-lsp ==2.2.0
- jupyter_client ==8.6.0
- jupyter_core ==5.7.2
- jupyter_server ==2.14.1
- jupyter_server_terminals ==0.4.4
- jupyterlab ==4.0.11
- jupyterlab-pygments ==0.1.2
- jupyterlab_server ==2.25.1
- kiwisolver ==1.4.4
- matplotlib ==3.7.2
- matplotlib-inline ==0.1.6
- mistune ==2.0.4
- mpmath ==1.3.0
- nbclient ==0.8.0
- nbconvert ==7.10.0
- nbformat ==5.9.2
- nest-asyncio ==1.6.0
- notebook ==7.0.8
- notebook_shim ==0.2.3
- numexpr ==2.8.4
- numpy ==1.24.3
- overrides ==7.4.0
- packaging ==24.1
- pandas ==2.0.3
- pandocfilters ==1.5.0
- parso ==0.8.3
- pexpect ==4.8.0
- pickleshare ==0.7.5
- pillow ==10.4.0
- pip ==24.0
- pkgutil_resolve_name ==1.3.10
- platformdirs ==3.10.0
- pluggy ==1.0.0
- ply ==3.11
- prometheus-client ==0.14.1
- prompt-toolkit ==3.0.43
- psutil ==5.9.0
- ptyprocess ==0.7.0
- pure-eval ==0.2.2
- pycparser ==2.21
- pyparsing ==3.0.9
- pytest ==7.4.4
- python-dateutil ==2.9.0.post0
- python-json-logger ==2.0.7
- pytz ==2024.1
- pyzmq ==25.1.2
- referencing ==0.30.2
- requests ==2.32.3
- rfc3339-validator ==0.1.4
- rfc3986-validator ==0.1.1
- rpds-py ==0.10.6
- seaborn ==0.13.2
- setuptools ==72.1.0
- sip ==6.7.12
- six ==1.16.0
- sniffio ==1.3.0
- soupsieve ==2.5
- stack-data ==0.2.0
- sympy ==1.13.0
- terminado ==0.17.1
- tinycss2 ==1.2.1
- tomli ==2.0.1
- tornado ==6.4.1
- traitlets ==5.14.3
- typing_extensions ==4.11.0
- tzdata ==2023.3
- unicodedata2 ==15.1.0
- urllib3 ==2.2.2
- wcwidth ==0.2.5
- webencodings ==0.5.1
- websocket-client ==1.8.0
- wheel ==0.43.0
- zipp ==3.17.0