Software
Over the course of years of research, it has become convenient to write scripts to perform calculations that are not available in commercial programs. Scripts are generally written in Python, making use of the extensive C-libraries for number-crunching, or gluing together functions in external software. Python is a high-level, non-compiled language that is easy to read and has many neat features. The scripts are written to run under Mac OSX, from the command line, but can also be adapted to Windows without much bother.
Current efforts focus on single channel analysis, using Python (ASCAM, written by Nikolai Zaki). We are also developing with Swift, which offers incredible graphics and performance via intuitive interfaces on cheap hardware (iPads). Follow along at the AGPlested Github page.
We recently wrote an analysis suite for fluorescent responses of glutamate indicators at synapses. This package (SAFT) offers semi-automatic fluorescence trace analysis and we used it in the analysis of iGluSnFR variants (Hao et al., 2023)
An old example is the non-stationary analysis of variance that was used for studies of AMPA and kainate receptor open probability (Plested and Mayer, 2007; Plested et al., 2008, Carbone and Plested 2012). This suite of scripts ("Verify") checks the noise in each record for anomalous features and automatically rejects bad records (according to Heinemann and Conti, 1992). I am not aware of any commercial software that does this simple but essential check. Recently, we produced a GUI-controlled version, now uploaded to Github.
We also have some minor involvement in the porting of the DCProgs suite of single ion channel analysis programs from Fortran to Python. This project, which is now available at GitHub, is almost entirely the work of Remis Lape (UCL, London). We have contributed our code for making realistic concentration jumps (RCJ; Lape et al, 2012, Yu et al. 2018). According to the calculations of Sachs, the diffusion between two parallel flowing solutions produces a concentration profile like the error function (erf). We have implemented Python routines to construct realistic concentration profiles and calculate the occupancy of receptor mechanisms during the jump. This script enables us to produce concentration jumps in the computer that closely resemble the concentration jumps we make in the lab.
Other routines for calculating peak open probability-concentration relations, recovery from desensitization and other responses to ligands ("Aligator"-Analyis of LIgand GAting, Trains and Other Relaxations) have been used to test mechanistic ideas about glutamate receptor gating and the effects of mutations (Carbone and Plested, 2012, Carbone and Plested, 2016, Riva et al. 2017, Yu et al. 2018, Poulsen et al., 2019). A basic form of the Aligator suite is available at Github.
Another collaboration with Remis Lape that you can get from Github is the port of the DC-Statistics routines to Python. Null Hypothesis Significance Testing by Randomization, Fieller's test and Effect size calculator are all included, based on David Colquhoun's stats tools. There is a Qt5-based GUI, which should work on Windows, Mac and Linux.
We recently wrote a script to exploit functions in CCP4 (http://www.ccp4.ac.uk) and Pymol (https://pymol.org/2/) to generate models of glutamate receptor binding domains that satisfy particular crosslinking constraints ("Cystance"). This script was used in our ERC-funded project "GluActive" and published in Baranovic and Plested (2018).
We developed a Python script to have computer control of an Olympus IX-81 automated microscope. The principal advantage over other methods (e.g. proprietary software or Micro Manager) is flexibility - the control software can accept trigger inputs and analog voltage input - via an Arduino micro controller.
If you are interested in using any of the scripts that are not already freely available, please email Andrew at:
andrew.plested [at] hu-berlin.de
References
Baranovic and Plested (2018) eLife
Carbone and Plested (2012) Neuron
Heinemann and Conti (1992) Methods in Enzymology
Lape et al (2012) Journal of Neuroscience
Plested and Mayer (2007) Neuron
Plested et al (2008) Neuron
Poulsen et al. (2019) PNAS
Sachs (1999) Biophys J.
Yu et al (2018) Neuron
Hao et al (2023) eLife