XClose

Cortexlab

Home
Menu

Tools

Our laboratory produces freely available, open-source tools.

We also share some data, and plan to share more in the near future.

Spike sorting

One set of tools is devoted to "spike sorting": detecting and clustering spikes obtained from multielectrode arrays, so that spikes are assigned to the correct neurons. For this purpose we use Kilosort, developed by Marius Pachitariu. The algorithm is described in a 2016 preprint in bioRxiv. It requires a desktop workstation with a MATLAB license and a consumer GPU. The code and installation instructions are in the GitHub repository. To view and curate the results of Kilosort we use Phy, developed by Cyrille Rossant.

Two-photon imaging

Another set of tools is devoted to the analysis of data from two-photon imaging: image registration, detection of neurons and other regions of interest, manual curation, and deconvolution of fluorescence traces to infer spike timing. For this analysis we use Suite2P,  a suite of tools developed by Marius Pachitariu. At its core is a clustering algorithm to find what pixels are correlated together and form a region of interest, complemented by additions to correct for neuropil contamination, avoid local minima, and maximize speed so it runs about as fast as real time data acquisition. The algorithm is described in a 2016 preprint in bioRxiv.  It requires a desktop workstation with a MATLAB license, and for faster processing, a consumer GPU. A GUI is included for manually vetting the regions of interest. The code and installation instructions are in the GitHub repository.  

Steering wheel setup

Our laboratory developed a steering wheel setup to probe mouse behavior (bioRxiv 2016). In this setup, a mouse indicates whether a visual stimulus appears to its left or to its right by turning a steering wheel with its front paws. The steering wheel is in turn coupled to the horizontal position of the visual stimulus, so that selecting a stimulus involves moving it to the center of the screen. To facilitate the deployment of this task to other laboratories, we provide instructions to build this steering wheel setup with components that are entirely off-the-shelf or 3D-printable.

Experiment control

Another set of tools is devoted to controlling experiments. For this we use an open-source package called Signals, developed by Chris Burgess. It uses a dataflow-style paradigm expressed in MATLAB to allow concise and intuitive specification of stimulus presentation, task structure, and control of data acquisition. The GitHub repository contains some information, more documentation to come. 

Flow cell for in situ profiling

In the lab, we perform In Situ Sequencing (ISS), a highly multiplexable technique that enables mapping of individual RNA transcripts to the underlying tissue morphology. ISS typically relies on hundreds of barcoded, transcript-specific probes, each containing a unique combinatorial label. The barcodes are DNA sequences, which are read in a microscope using dye-conjugated probes that specifically hybridize to the barcodes. We use ISS to identify subtypes of neurons in brains of mice that we have previously imaged in vivo.

To increase the number of distinguishable barcodes and hence transcripts,  we employ multiple rounds of imaging. In each round, the dyes of the preceding imaging round are removed (stripping) and probes for the new round are added (labeling). To ease this process we developed a flow cell that allows stripping and labelling of the specimen while it remains mounted under the microscope. We are sharing the design of the flow cell. It could be useful not only for ISS but also for spatially resolving in situ profiling of analytes (e.g. nucleic acids, proteins).