We believe in openly sharing code used for major analyses and documenting the code to make it understandable and reuseable. Most code can be found on GitLab together with more detailed instructions. If you have trouble finding any piece of code, if you find a bug, or if you have a question, please Contact Us.
Spot-On is a kinetic modeling framework for analyzing Single-Particle Tracking (SPT) data. A more complete description can be found here and with the publication. Spot-On is available in 3 formats: a drag-n-drop website, in MATLAB and in Python:
Localization and Tracking code for analyzing SPT data
The Matlab code we use for converting SPT movies into trajectories (i.e. localization and tracking) is on GitLab. This code is a Matlab implementation of the MTT algorithm and please see the GitLab page for acknowledgements.
Writing SPT data to the 4DN format
As part of the 4D Nucleome, we helped develop the format for SPT data. The code we wrote and have described in this GitLab repository converts SPT data from our custom Matlab format into the official 4DN format. Please see Gitlab for full details.
Estimating the axial detection range for SPT data
One parameter for Spot-On is the axial detection range. That is, in 2D imaging of 3D cells, how big an axial slice can be detected. This is a microscope specific quantity and this is the code we wrote to estimate it from z-stacks of single molecules. It corrects for photobleaching and please see the GitLab repository for a full description.
simSPT is entirely written and maintained by Maxime Woringer, who wrote it for our Spot-On paper. We highly recommend this for simulating experimentally realistic SPT data confined inside the nucleus. Having ground-truth data is an excellent way to trouble-shoot and validate any analysis pipeline. And since it’s written in C it’s really, really fast: 500k trajectories can be simulated in a few seconds. Find it on GitLab.
Analyzing anisotropy in SPT data
The data-processing pipeline we have written to analyze only the free segments of nuclear protein trajectories and the anisotropy in the movement is available on GitLab.
Flow Cytometry analysis
For analyzing Flow Cytometry or FACS data and for gating populations, we have written a simple pipeline in MATLAB. The code as well as some example data is available on GitLab.
PALM code that drift-corrects and merges blinking emitters is available on GitLab along with a more detailed step-by-step description and documentation. The code assumes that you have already done localization.