Skip to content

hcgasser/CAPE_MPNN

Repository files navigation

Cape Logo




Controlled Amplitude of Present Epitopes (CAPE)

Protein therapeutics already have an arsenal of applications that include disrupting protein interactions, acting as potent vaccines, and replacing genetically deficient proteins. Therapeutics must avoid triggering unwanted immune-responses towards the therapeutic protein or viral vector proteins.

Therefore, computational methods modifying proteins' immunogenicity are needed.

This is the repository for CAPE-MPNN, one of the methods we have developed to tackle this problem (others see CAPE).

CAPE-MPNN

For this method, we apply DPO on ProteinMPNN (https://github.com/dauparas/ProteinMPNN) to tune it to reduce the number of MHC Class I epitopes in its generations. The new ProteinMPNN weights generated this way, we call CAPE-MPNN.

Installation

General Requirements

The programs in this repository require a Linux machine with docker and GPU support installed. Also, for evaluation, a structure prediction tool (e.g. localcolabfold needs to be available) as well as a local version (headless, including Rosetta) of DE-STRESS.

Setup the container

If not indicated otherwise, commands should be run on the host system. In particular, lines starting with 'H' need to be executed on the host, lines starting with 'C' in the container.

Clone the CAPE-MPNN repository
  • Set REPO local variable: export REPO=CAPE_MPNN
  • Clone repository to local machine: git clone https://github.com/hcgasser/${REPO}.git
  • Make environmental variable pointing to the repo folder: export CAPE=<path of repo folder>
Create docker image
  • Change into the repo folder: cd $CAPE
  • Create docker image: make -B image (need to set a container password e.g. 'cape_pwd')
Finish the setup of the container
  • Start docker image: docker run --privileged --name cape_mpnn_container --gpus all -it -p 9000:9000 -v ${CAPE}:/${REPO} cape_mpnn
    • the container can be exited with exit
    • it can be restarted with docker start -i cape_mpnn_container
  • For licencing reasons we leave the installation of 3rd party software within the container to the user. Please refer to vim ${CAPE}/external/README.md for how to do this
  • Install 'cape' conda environment: . ./setup/setup_conda.sh

Run

At first we run a script to setup the environment

cd $PF
. ./tools/set_ENV.sh

Then we set the MHC-I alleles to deimmunize against export MHC_Is="HLA-A*02:01+HLA-A*24:02+HLA-B*07:02+HLA-B*39:01+HLA-C*07:01+HLA-C*16:01"

Generate the MHC Class I position weight matrices

MHC-I_rank_peptides.py --output ${PF}/data/input/immuno/mhc_1/Mhc1PredictorPwm --alleles ${MHC_Is} --tasks rank+pwm+agg --peptides_per_length 1000000

DPO hyperparameter search

The file ${PF}/configs/CAPE-MPNN/hyp/hyp_b69bb1.yaml specifies the hyperparameter ranges from which to sample. In particular the parameters batch_size and max_protein_length (both in residues) are important as too large values will lead to GPU memory overflows.

export HOSTNAME='workstation'
cape-mpnn.py --hyp ${PF}/configs/CAPE-MPNN/hyp/hyp_b69bb1.yaml --hyp_n 20

Eval

  • start tmux terminal for the jupyter lab tmux new-session -t jupyter
  • set password for jupyter lab jupyter lab password
  • start the jupyter lab for the evaluation notebook jupyter lab --port 9000
  • start a browser on the host accessing http://129.215.125.110:9000/
  • start the notebook CAPE-Eval/cape-eval_mpnn.ipynb in the browser
  • designs
    • can be found in ${CAPE}/artefacts/CAPE-MPNN/outputs/fasta/all/
    • in format for structure prediction are in ${CAPE}/artefacts/CAPE/colabfold/input/ and the colabfold outputs are expected in ${CAPE}/artefacts/CAPE/colabfold/output/

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published