Large-scale analysis
of neural data

Getting started Documentation Examples


Lightning-fast analysis through the Spark cluster computing framework. Simple to run on a cluster using Amazon EC2.


Run existing analyses or develop new ones. Test locally before deploying on a cluster. All in Python.


Run interactively in the iPython shell or notebook. Immediately inspect, visualize, and share results and analyses.

Getting started

Most computers can get started locally or on the cloud in just a few simple steps.

1. Download the latest, pre-built version of Spark. Then set an environmental variable by typing this into the terminal.

export SPARK_HOME=your/path/to/spark

2. Install thunder. If you are already using Python just type this line into the terminal. (If not, get Anaconda.)

pip install thunder-python

3. Start thunder and try an analysis!

>> from thunder.factorization import ICA
>> data = tsc.makeExample("ica")
>> model = ICA(c=2).fit(data)

Running locally is great for testing, but for real analysis you'll want a cluster

1. Set up an AWS account, get your secret access key, and create a key pair (see the documentation for more details).

2. Use this command to launch a 5 node cluster named "test". It will just take a few minutes to start

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

3. Once the cluster launches, login and start

thunder-ec2 -k mykey -i mykey.pem login test
$ thunder

Don't forget to shut down the cluster! Run the above command replacing "login" with "destroy".

Read the documentation for more info or fork the repo and contribute an analysis!