mapping brain activity at scale


We use light-sheet microscopy in behaving larval zebrafish to monitor neural responses across the entire nervous system, at single-cell resolution.

We have developed a library called thunder for analyzing large neural data sets, built on the Apache Spark platform for distributed computing.

This website is a companion to these papers

The examples highlight how these technologies can be used to find patterns in large-scale brain activity.

try an analysis yourself


Most modern computers with Python 2.7 should be able to get started in just a few steps. (If you aren't already using Python, start by getting Anaconda.)


1. Download the latest, pre-built version of Spark, and set one environmental variable

$ export SPARK_HOME=</your/path/to/spark>

2. Type this into the terminal

$ pip install thunder-python

3. Set up an Amazon account and credentials (see instructions), then start a cluster

$ thunder-ec2 -i mykey -k mykey.pem -s 5 launch test

4. Login to the cluster, start thunder, and load an example data set

$ thunder-ec2 -i mykey -k mykey.pem -s 5 login test
$ thunder
>> data, params = tsc.loadExampleEC2('zebrafish-optomotor-response')

read more


For detailed instructions, read the documentation: