For a more detailed description of my Automated Mycobacterial Growth Detection Algorithm, including how to download, please go to the AMyGDA page.

2. pygsi

A python3 package that provides a simple class, NucleotideStretch, for systematically and programmatically determining how many minor variations of a specified sequence of nucleotides exist in the Sequence Read Archive using the BIGSI index. As an example, some Python is included that counts how many variants of OXA-1 have been deposited in the SRA.

3. gemucator

Another python3 package that provides a class, gemucator, and installs a simple script,, that accepts a gene_mutation (e.g. rpoB_S450L) and returns the location in the specified genbank file (in this case H37rV.gbk for M. tuberculosis which is included in the package but you can specify your own for other species). Likewise, you can give it a location in the genome and it will try and return the gene_aminoacid or gene_promoter. Crucially it is heavily defensive so you can also use it to check that a list of mutations are consistent with the genbank file, as it will otherwise “halt and catch fire”.

4. amr-free-energy-examples

This GitHub repository contains a set of example GROMACS input files that allows you to reproduce a set of free energy calculations, as described in this paper. Shell scripts are included to simplify launching and analysing the GROMACS simulations.

5. jitter

I like jitter plots, but neither of my standard plotting tools, gnuplot and matplotlib, were equipped to do them, so I wrote this simple Python to ‘jitter’ some data.

6. calculate-bilayer-power-spectrum

This GitHub repository contains the key Python code for calculating the undulation and thickness power spectra of large lipid bilayers (like the one below). It was introduced in this paper and then also used here and here. Like the other repositories, it contains a tutorial and some sample data allowing you to reproduce one of the figures from the original paper.

7. alchembed-tutorial

This GitHub repository accompanies this paper. It explains how you can use the soft-core van der Waals functionality in GROMACS to rapidly embed proteins (or anything else, such as benzene rings as shown below) in membranes. To simplify the process, a series of shell scripts are included that call GROMACS.

8. fd169-image-processing-example

This GitHub repository accompanies this paper and walks you through using image processing in Python to examine phase separation in a bilayer containing three very different species of lipids. A subsequent paper relied on the same approach.