Simplify your life with SLURM and sync

For my first blog post of the year, we’re talking about SLURM, everyone’s favorite job manager. If like me, you have the joy of running a literal boat-load of jobs with all kinds of parameters and command-line arguments you’ll know there are a few tips and tricks that make the process of managing these tasks and results as painless as possible. Now, I do expect most people reading this will already be aware of these tricks but for those who don’t, I hope this is helpful. After all, it’s impossible to know what you don’t know you need to know, you know? Any alternatives, improvements, or suggestions are welcome!

Array Jobs

Job arrays are perfect for the times you want to run the same job several times with slight differences each time. Imagine you need to repeat a job 10 times with slightly different arguments with each run. Rather than submit 10 (slightly different) batch scripts you can submit 1 script with all the information needed to complete all 10 jobs.

Continue reading

New Antibody Therapeutic INNs will no longer end in “-mab”!

Happy 2022, Blopiggers!

My first post of the year is about another major change to the way the World Health Organisation will be assigning “International Non-proprietary Name”s (INNs) to antibody-based therapeutics. I haven’t seen this publicised widely, so I thought I’d share it here as it is an important consideration for anyone mining or exploiting this data.

Continue reading

Stochastic chemical kinetics – things randomly bumping into each other

In this blog post I describe the advantages of taking a stochastic view of chemical systems based on the work of D. T. Gillespie and subsequent publications. Gillespie presented his formalism for considering stochastic chemical kinetics, now referred to as the Gillespie Algorithm, in two papers published in 1976 and 1977 (Gillespie, D. T. J. Comp. Phys. 1976, Gillespie D. T. J. Phys. Chem. 1977) – if you want to see the full derivation for the Gillespie Algorithm along with many examples I recommend giving them both a read.

The essential question of chemical kinetics as stated by Gillespie is:

“If a fixed volume V contains a spatially uniform mixture of N chemical species which can inter-react through M specified chemical reaction channels, then given the numbers of molecules of each species present at some initial time, what will these molecular population levels be at any later time?”

Continue reading

OPIGmas 2021: Omicron Variant

One year on and the latest variant of SARS-CoV-2 spreading like wildfire, and OPIG found itself meeting virtually, again…

OPIGmas 2021 Festivities

Perhaps the highlight of OPIGmas is the Secret Santa gift exchange (although some might beg to differ: in meat-space “beer” pong might compete for pole position). Alas, no crypto-currency was gifted this year…

Continue reading

Antibody Engineering and Therapeutics Conference

I was invited to speak at the Antibody Engineering and Therapeutics Conference (presenting mine and Matt’s recently published epitope profiling paper), in San Diego (December 12th – 16th). Unfortunately, the pandemic had other ideas so I decided not to travel but luckily the conference was hybrid. 

The conference included 1 day of pre-conference workshops and 4 days of presentations from academic and industry, with livestreaming of the initial keynotes (including one from Charlotte). Remaining talks were recorded and made available after the conference. I’ve highlighted a few of my favourite talks and conference themes, with links to papers where available.

Naturally, a lot of the presented research related to covid-19. I was speaking in the ‘Antibody Repertoires and Covid-19’ session, where there were interesting presentations from Professor Eline Luning Prak from the University of Pennsylvania and Elaine Chen from Vanderbilt University analysing antibody responses in covid-recovered individuals, and comparing vaccine responses in covid-recovered vs covid-naiive individuals. Other talks around SARS-CoV-2 vaccines included Dr Laura Walker from Adimab/Adagio Therapeutics comparing BCR repertoire responses to different types of vaccinations, and the effect of using different booster types.

Continue reading

Model validation in Crystallographic Fragment Screening

Fragment based drug discovery is a powerful technique for finding lead compounds for medicinal chemistry. Crystallographic fragment screening is particularly useful because it informs one not just about whether a fragment binds, but has the advantage of providing information on how it binds. This information allows for rational elaboration and merging of fragments.

However, this comes with a unique challenge: the confidence in the experimental readout, if and how a fragment binds, is tied to the quality of the crystallographic model that can be built. This intimately links crystallographic fragment screening to the general statistical idea of a “model”, and the statistical ideas of goodness of fit and overfitting.

Continue reading

snakeMAKE better workflows with your code

When developing your pipeline for processing, annotating and/or analyzing data, you will probably find yourself needing to continuously re-run it, as you play around with your code. This can become a problem when working with long pipelines, large datasets and cpu’s begging you not to run some pieces of code again.

Luckily, you are not the first one to have been annoyed by this and other related struggles. Some people were actually so annoyed that they created Snakemake. Snakemake can be used to create workflows and help solve problems, such as the one mentioned above. This is done using a Snakefile, which helps you split your pipeline into “rules”. To illustrate how this helps you create a better workflow, we will be looking at the example below.

Continue reading

Highlights from the European Antibody Congress 2021

Last month, I was fortunate enough to be able to attend (in person!) and present at the Festival of Biologics European Antibody Congress (9-11 November, 2021) in Basel, Switzerland. The Festival of Biologics is an annual conference, which brings together researchers from industry and academia. It was an excellent opportunity to learn about exciting research and meet people working in the antibody development field.

Here are some of my highlights from the European Antibody Congress, with a focus on antibody design and engineering:

Continue reading

Targeted protein degradation phenotypic studies using HaloTag CRISPR/Cas9 endogenous target tagging and HaloPROTAC

Biologists currently have several options in their arsenal when it comes to gene silencing. if you want to completely vanquish the gene in question, you can use CRISPR to knock the gene out completely. This is a great way to completely eliminate the gene, and hence compare cell phenotypes with and without the gene, but it’s less good if the gene is essential and the cells won’t grow without it in the first place. 

Otherwise you can use RNA interference, where small pieces of RNA that complement the mRNA for that gene are introduced to the cell, with the overall effect of blocking transcription of that gene’s mRNA, hence silencing it. However, this method suffers from side effects and varying levels of gene knockdown efficiency. Moreover, it does not vanquish existing protein, it just stops more from being produced.

Continue reading

Packaging with Conda

If you are as happy for the big snake as I am, you have probably wondered how you can create a Conda package with your amazing code. Fear not, in the following text you will learn how to make others go;

conda install -c coolperson amazingcode

Roughly, the only thing needed to create a Conda package, is a ‘meta.yaml’ file specific for your code. This file contains all the metadata needed to create your package and is highly customizable. While this means the meta.yaml can be written to allow your Conda package to work on any operating system and with any dependencies (doesn’t have to be python) it can be annoying to write from scratch (here is a guide for manually writing this file). Since we just want to create a simple Conda package, we will in this guide avoid fiddling around with the meta.yaml file and instead create the file based on a PyPI package. This will also give you a nice template, if you later need to adapt your meta.yaml file.
Note: Conda packages can also be made from GitHub repositories, which is likely favorable in most cases, but it also requires some manual work on the meta.yaml.

1. Create a PyPI package of your code

Continue reading