We build open-source tools so that the methods we develop are usable by the scientists who need them, not just reproducible in a paper. Most are developed in the open with contributors from other groups, and are maintained well beyond the publication they first appeared in.

Code accompanying individual papers is linked from the publications page; further repositories are on github.com/mackelab.

sbi — simulation-based inference

sbi is a Python package for simulation-based inference. Given a simulator that models a real-world process, it estimates the full posterior distribution over the simulator’s parameters from observed data — quantifying uncertainty and revealing interactions between parameters, without ever requiring a likelihood.

It implements a wide range of inference algorithms, both amortized (a trained estimator is reused across observations) and sequential (simulations are focused on a single observation), together with tools for validating and visualising the resulting posteriors. High-level interfaces make standard workflows a few lines of code; low-level interfaces expose the details when they matter.

sbi is a community project with contributors from many groups, and is a NumFOCUS affiliated project.

Jaxley — differentiable simulation of biophysical neuron models

Jaxley is a differentiable simulator for biophysical neuron models, written in JAX. It supports multicompartment neurons and networks, runs unchanged on CPU, GPU or TPU, and is jit-compiled — as fast as established simulators while being written entirely in Python.

Because the simulator is differentiable, gradient-based optimisation can tune thousands of parameters at once — channel conductances, synaptic weights, morphological properties — either to match experimental recordings or to solve a behavioural task directly.

flyvis — connectome-constrained models of the fly visual system

flyvis is a connectome-constrained deep mechanistic network model of the fruit fly visual system, in PyTorch. It takes the measured wiring diagram of the fly optic lobe as a hard constraint and learns the remaining unknown parameters — producing a model that predicts the responses of many cell types, including ones never recorded during training.

flyvis is developed and maintained by the Turaga lab at Janelia, in collaboration with us.

Older code

Earlier code from the lab, kept for reference. No longer actively maintained.

S3ID

Dimensionality reduction across multiple partial recordings

CorBinian

Modelling multivariate binary data with correlations

DECODE

DECODE — deep learning for single-molecule localization microscopy

delfi

Density estimation likelihood-free inference

pop_spike_dyn

Linear dynamical system models with Poisson observations for modelling neural population spike trains

psignifit 4

Psignifit 4- Bayesian Psychometric function fitting without a pain in the neck

gp_maps

Gaussian Process methods for modelling cortical maps

poisson-gpfa

Gaussian process factor analysis with Poisson observations

serial_decision

Modelling inter-trial dependence in psychophysics

nonstat_plds

Poisson dynamical system models for nonstationary population spike trains

vits_hmm

Variational Inference on Tree Structured Hidden Markov Models