Epistasis in a fitness landscape defined by antibody-antigen binding free energy
Data and code used to generate figures for "Epistasis in a fitness landscape defined by antibody-antigen binding free energy". This code is correct at time of submission, but will be updated at https://github.com/rhys-m-adams/epistasis_4_4_20 This code attempts to quantify the level of epistasis in CDR1H and CDR3H domains of the 4-4-20 fluorescein binding antibody. The readme details how to run the code, but briefly, install python 3.6, pymol as a command line argument, Numpy, scipy, matplotlib, emcee, cvxopt, svgutils, and pybeeswarm, then run the make_figs.sh script.
Steps to reproduce
The source data was copied from Adams, Rhys M., et al. "Measuring the sequence-affinity landscape of antibodies with massively parallel titration curves." Elife 5 (2016): e23156. This is the code used to create the figures in my preprint "Physical epistatic landscape of antibody binding affinity" (https://www.biorxiv.org/content/early/2017/12/11/232645). I ran this code using Python 3.6.6 from anaconda (https://www.anaconda.com/download/). In particular I used used scipy=1.0.1, numpy=1.14.5, pandas=0.20.3, and matplotlib=2.2.2. I installed the additional programs #monotonic fit requirement conda install -y -c conda-forge cvxopt #Bayesian lasso requirement conda install -y -c astropy emcee #Merge Figure 1A,B with 1C,D conda install -y -c conda-forge svgutils This installed cvxopt=1.1.8, emcee=2.2.1, and svgutils=0.2.0. Additionally, I installed pymol on MacOS as #Structural figure requirement sudo port install pymol However, any way that pymol can be run from the command line will work. All figures can be created by running ./make_figs.sh This code performs all analyses except for the simulations used in figure 2F, G, which require considerable cpu time, and were performed beforehand. These results were saved in cdr1h.csv and cdr3h.csv. Runtime on a 2014 Macbook air with 1.3 GHz Intel Core i5 and 8 GB 1600 MHz DDR3 ram takes approximately 6 hours. An example using the monotonic transformation algorithm can be found monotonic_fit_example.ipynb