My main occupation is my PhD. My research uses machine learning techniques to predict zinc binding in proteins.
I also run a web design company called Goodwright with my friend Alex. We design and make websites for labs and other scientific organisations.
In my spare time I like working on various other coding projects. If you'd like to collaborate on something, I'd love to hear from you!
A lightweight, fast, modern parser of protein structure files. atomium is a Python 3 library that models macromolecules, and makes analysing them easy and straightforward.
Structural biology is the study of molecular structures - usually big molecules like proteins, with hundreds or thousands of atoms. When analysed computationally they are stored in files such as the PDB file format, or mmCIF.
atomium parses these, and creates models of the molecules from them. These can be analysed, queried by atom type, rotated, transformed, or a variety of other operations.
This is the project where optimisation of speed has been most important. Often many hundreds of structures have to be opened and then processed in series, so any hundredths of a second that can be shaved off the time taken to parse per atom is important. I use the SnakeViz profile visualiser to do this, which is useful for finding bottlenecks.
A database of zinc binding sites created as part of my PhD. They are searchable, viewable, and accessible via a GraphQL API.
For my PhD I am trying to create predictive models that can predict zinc binding in proteins. As part of this I created ZincBind, which queries the RCSB web services to identify all proteins with zinc in, finds the zinc binding site(s) in the protein, and saves the details to this database. The data is then accessible via a django app and graphql server.
A tool for running simulations of alternative versions of the 2019 UK general election.
election19 lets you define rules such as 'if 10% of Green voters had voted for Labour' and apply them to the result to see how this would affect individual constituencies, and therefore the overall election result.
One of my most rapidly deployed projects, built over a single weekend immediately after the election.
A general purpose self-analytics app. It lets you track all kinds of things about yourself and tries to find correlations.
This is in the relatively early stages right now but it is one of the projects I am most excited about. The aim is for this app to track any metric about yourself you like, from any aspect of your life - and then visualise trends, find correlations, and offer insights.
Very much a long term project.
I'm midway through a PhD at UCL, and my research currently focuses on zinc binding sites in proteins - identifying them, predicting them, and analysing them.
Here is a recent publication: