I would like to shamelessly advertise my master thesis project which just got published in Proteins. Keep on reading if you are interested in kinases and/or systematic modelling of protein families.
Continue readingA Brief Introduction to ggpairs
In this blog post I will introduce a fun R plotting function, ggpairs, that’s useful for exploring distributions and correlations.
AIRR community meeting
Hi everyone,
Today is the day for another blog post from me. Last month I attended an AIRR conference in Genoa, Italy (https://www.antibodysociety.org/airrc/meetings/communityiv/). It was the fourth AIRR conference, and I was nice to see lots of field-leading people participating. Compared to the last AIRR meeting almost 2 years ago, the agenda of the conference was dominated by machine learning and big data topics. In my short blog post, I will discuss two talks that covered these two exciting topics.
Continue readingOxford Maths Festival ‘19
The Oxford Maths Festival returned this year and it was tons of fun, at least for this volunteer! I failed to take pictures, but a few opiglets were involved: Flo and company took their VR work for the Ashmolean Dimensions exhibit and demonstrated it at Templars Square, and Conor did a spectacular job pretending to be a police constable for the maths escape room.
Last year Mark blogged about how we demonstrated the German Tank Problem at the festival. I thought this time round I’d share another of the Mathematical Mayhem activities: a game illustrating biased sampling.
Continue readingWhat is the hydrophobic-polar (HP) model?
Proteins are fascinating. They are ubiquitous in living organisms, carrying out all kinds of functions: from structural support to unbelievably powerful catalysis. And yet, despite their ubiquity, we are still bemused by their functioning, not to mention by how they came to be. As computational scientists, our research at OPIG is mostly about modelling proteins in different forms. We are a very heterogeneous group that leverages approaches of diverse scale: from modelling proteins as nodes in a complex interaction network, to full atomistic models that help us understand how they behave.
Continue readingAlchemistry Free Energy Workshop 2019, Göttingen
I thought I would use this blog to summarise the recent Alchemistry Free Energy workshop in Göttingen, Germany. This event, organised by MPI BPC and BioExcel, brought together academics and industrialists who work with alchemical MM methods to calculate free energies. This was a very successful successor to a similar event organised two year ago in London and now looks to be repeated yearly, alternating between Europe and Boston.
Continue readingDimensions: The Mathematics of Symmetry and Space
Update: The exhibition was Highly Commended in Oxford’s The Vice-Chancellor’s Public Engagement with Research Awards 2019! [Link]
As part of outreach efforts, I have been involved with the exhibition “Dimensions: The Mathematics of Symmetry and Space” at the Ashmolean Museum. This exhibition is a great opportunity to explore a selection of the Ashmolean’s impressive collection from a mathematical (but very accessible) point of view.
Continue readingShould scientists learn C++?
Conventional wisdom dictates that compiled languages are slow to develop, can be slow to compile, but are fast to run. Interpreted languages are easy to use and do not require compilation but have sluggish performance. Like most people in scientific computing, the first two languages I learned were C++ and Python; I use Python every day but when, if ever, would I use C++?
Continue readingSpring 2019 ACS National Meeting (Orlando)
This blog post is jointly written by Lucian, Joe and Susan who recently attended the Spring ACS National Meeting 2019.

The Spring ACS National Meeting was held in sunny Orlando, Florida and was a five day event (29th March – 4th April). The temperature averaged 25°C , which was amazing compared to the UK (sorry) and meant we all got a lovely tan. We all presented our work in the form of talks in the divisions of COMP or CINF but in this blog post we write about our highlights of the conference.
Quick Python tricks
It’s always fun when you stumble across something in your programming toolkit that you had never noticed. Here are three things I’ve recently enjoyed learning.
- Ternary syntax
a = int(raw_input()) is_even = True if a % 0 == 0 else False
- Enumerate
I’ve been looping over the length of my list, all these years, like a chump. It turns out you can do this:
for index, item in enumerate(some_list): # now the index of each item is available as well as the item
# Don't do do this for index in range(len(some_list)): item = some_list[index]
- for… else
Every so often, you really need to know that a for loop has run to completion. That’s what for…else is for!
for item in iterable:
if item % 0 == 0:
first_even_number = item
else:
raise ValueError('No even numbers')