/SARS2_RBD_Ab_escape_maps

Interactive visualization of deep mutational scanning maps of mutations to SARS-CoV-2 RBD that escape antibody or sera binding

Primary LanguageJupyter NotebookOtherNOASSERTION

Interactive maps of mutations to the SARS-CoV-2 RBD that reduce antibody binding or neutralization

Visualizations of the SARS-CoV-2 RBD "escape maps" that the Bloom lab has generated by using deep mutational scanning to map how all RBD mutations that affect antibody binding or neutralization.

These visualizations are rendered at https://jbloomlab.github.io/SARS2_RBD_Ab_escape_maps.

The visualizations are built primarily by using Altair for the interactive plotting, and then are all rendered on a webpage via GitHub Pages.

The input data on how mutations affect antibody binding or neutralization are in ./data/, and is collated from Bloom lab deep mutational scanning experiments. See ./data/README.md for details on how to add new data.

To process the data to build the interactive visualizations, first build the conda environment in environment.yml. Then activate that conda environment with:

conda activate SARS2_RBD_Ab_escape_maps

Next, process the raw data by running process_data.py:

python process_data.py

This command will process the input data in ./data/ to create the processed data in ./processed_data/. Specifically, the processed data includes the following two files:

The process_data.py script also adds information about citations to the bottom of docs/index.md for rendering on the webpage.

Finally, open the Jupyter notebook plot_data.ipynb using jupyterlab and run it. This creates two interactive Altair charts:

The interactive charts will be rendered via GitHub pages. Specifically, when updates are pushed to the main branch of the repo on GitHub, they will be rendered at https://jbloomlab.github.io/SARS2_RBD_Ab_escape_maps. See docs/README.md for more information on how the webpage is served via GitHub Pages

The plot_data.ipynb notebook also creates the following file:

You can then use the Python calculator in bindingcalculator.py to calculate the total fraction of binding retained for the polyclonal antibody max after some arbitrary combination of RBD mutations. See the docs within bindingcalculator.py for details.