Giter Site home page Giter Site logo

git-abra / neuzy Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 2.39 MB

Neuzy - Population-based Neuron Modelling

License: GNU General Public License v3.0

Shell 0.79% AMPL 27.84% Python 65.86% Jupyter Notebook 5.52%
computational-neuroscience neuron in-silico neuroscience

neuzy's Introduction

GitHub top language GitHub license GitHub repo size

Neuzy

Neuzy (https://neuzy.de) is a neuroscientific software framework to create a population of optimized single cell, multi compartment models.

It uses HOC and NMODL files as input for the model and extracts automatically their respective ion channel parameters, which are to be updated. Optimization options are currently Nelder-Mead, L-BFGS-B or Conjugate Gradient.

Features to optimize are against somatic and backpropagating action potential features in depolarizing or hyperpolarizing currents and depend on the given experimental data or baseline model.

Features are extracted via eFEL: https://github.com/BlueBrain/eFEL

Under the hood it is using the NEURON simulator: https://github.com/neuronsimulator/nrn

It offers the extension to evaluate the output for hippocampal CA1 cells with HippoUnit framework: https://github.com/KaliLab/hippounit

Original model, which was used is from Tomko et al. 2021 https://senselab.med.yale.edu/ModelDB/showmodel.cshtml?model=266901&file=/TomkoEtAl2021/#tabs-2


Prerequisites

HOC file for the morphology and biophysics. NMODL files for the ion channel expressions. Target Features, currently only in JSON - see target_features folder.

Python3 with following packages installed (recommended via pip):

  • Neuron
  • Efel
  • Numpy
  • Scipy
  • Pandas
  • Mpi4py

To also evaluate the population:

  • Hippounit

Edit the constants in /neuzy/paropt/auxiliaries/constants.py. Further configuration (hyperparameters) needs to change the CompleteOptModel class in CompleteOptModel.py. Accessibility is on the TODO.


Quickstart

After downloading call any start file in the root of the neuzy folder.

python3 ./neuzy/quickstart.py

otherwise via bash

bash ./neuzy/quickstart.sh 

Calling it from the root sets your PYTHONPATH automatically to the root of the repository.

After calling, select how many CPU cores should be used in the command line.

Install

With pyproject.toml, there is also the option to install it as package with pip from the root of the repository. In later versions it will be available on pypi.org.

pip install .

If you do not install it this way, and instead use it neither by installing it, nor by using it from the root of the repository (see above, sets PYTHONPATH automatically), then make sure to set or add (to ~/.bashrc) your $PYTHONPATH manually to the repository's rootpath. This is necessary to avoid pathing errors within the repository's call structure.

export PYTHONPATH=/home/username/directory/Neuzy/

Output

Two folders will be created in /neuzy/paropt/data

  1. log_files - Lists some logging information for the models created while optimizing
  2. parameter_values - The optimized output parameters for your run. They have to be matched onto the pandas dataframe for regions and their respective ion channel.

Pipeline

Pipeline

Implementation


License

Neuzy - Population-based Neuron Modelling, Copyright (C) 2022 Adrian Röth

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For details see the GNU General Public License and LICENSE.md in the root of the repository. This is free software, and you are welcome to redistribute it under certain conditions. You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.


Help

The fastest way to receive support in case of problems is to open an issue on GitHub.

Update: No more support or updates due to Long Covid

neuzy's People

Contributors

git-abra avatar

Stargazers

 avatar

Watchers

 avatar

neuzy's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.