Mentors: Thorsten Hater <t.hater@fz-juelich.de>; Sandra Diaz s.diaz@fz-juelich.de
Skill level: Depending on how far the contributor wants to take the plan of designing high-level, neuroscience-specific features, some domain knowledge is beneficial, but most of it can be provided by the mentors
Required skills:
- Good knowledge of Python3
- Working with Git
- Basic understanding of classical machine learning (GA, MCMC, …)
Welcome, but not required:
- Working with Python packaging
- Some knowledge of basic neuroscience
- Working with Git Forges like GitHub and GitLab
Time commitment: Medium (175h) to Large (350h), depending on working speed and optional features
Forum for discussion
About: Building neural networks from tissue recordings, e.g. patch-clamp experiments, requires finding a set of parameters for ion channels and passive cell properties that best fit single cell recordings for a given cell model. Recordings are collected as timeseries data of the membrane potential for multiple stimuli. This is a high-dimensional optimisation problem which needs to be accessible to end-users, i.e. scientists without software development background. Ideally, the problem should be described in terms of abstract features — like inter-spike interval, resting potential, etc — instead of fitting directly onto the membrane potential.
We propose such a pipeline built from existing software fit to address simulating the cell model — Arbor — and driving the optimiser — L2L — based on existing publications. This software should be written in Python, open source under BSD3/MIT, expose a high-level interface (possibly including graphics), and designed to address the needs of scientists.
- GitHub - arbor-sim/arbor: The Arbor multi-compartment neural network simulation library.
- GitHub - Meta-optimization/L2L: Learning to Learn: Gradient-free Optimization framework
- Systematic generation of biophysically detailed models for diverse cortical neuron types (Gouwens et al., Systematic generation of biophysically detailed models for diverse cortical neuron types | Nature Communications)
Aims:
- A software library in Python3 using L2L and Arbor to derive optimal parameter set fitting a given set of recordings, an abstract cell model, and a list of high-level features
- Milestones
- Prototype connecting Arbor simulations and L2L optimisers
- Fitting on known models using pure membrane potentials
- Implementing high-level features as a second API layer on top
- Re-fining the interface/API targeting scientific users
- Packaging and publicly releasing the library
- Optional: adding graphical feedback
Website: Arbor documentation
Tech keywords: Python, ML/AI