Code Monkey home page Code Monkey logo

dms_opt's Introduction

Python Version R Version

Deep learning enables therapeutic antibody optimization in mammalian cells by deciphering high-dimensional protein sequence space

Overview

This repository contains the scripts to perform therapeutic antibody optimization with deep learning, as described in Mason et al., 2019 [1]. The Python scripts are found in folder scripts/. The resulting in silico predicted binders are then subjected to multiple developability filters in the R script developability_filters.R.

Table of contents

  1. Prepare working environment
  2. Usage
  3. License
  4. Citation

Prepare working environment

Before running any of the scripts, the necessary packages need to be installed. This is done with Conda, the open source package management system [2], and the environment can be loaded via the provided config.yaml file, using following commands:

conda env create -f environment.yml
source activate dms_env

Usage

Deep learning: Python scripts

The full deep learning analysis, written in Python, can be summarized into three consecutive steps:

  1. Compare classification performance of different machine learning models on rationally designed site-directed mutagenesis libraries.
  2. The best-performing model, a convolutional neural network (CNN), is tuned with a randomized search on hyper parameters.
  3. The optimized CNN model is used to identify antigen-binding sequences from an in-silico generated library.

Steps 1 and 3 are performed simultaneously, by running the following command:

python scripts/main.py

This will produce visualizations of the model performances, and create a CSV file with the predicted values for the in-silico generated library.

Inside the main script, hyper parameters were already selected according to the optimized model. However, the randomized search can be run again:

python scripts/model_tuning.py

A folder model_tuning/ will be created, containing the best hyper paramter settings and the corresponding mean cross-validated score. Those parameters can then be included inside the main script (params).

Applying developability filters

With the results from the previous analysis, developability filters can be applied to the in silico generated library:

R --vanilla < developability-filters.R

The developability filter based on CamSol solubility scores ([3]-[4]) needs to be run on their web server. Additionally, netMHCIIpan [5], version 3.2, needs to be downloaded and installed under following link, otherwise the R script will terminate.

Citation

If you use the the code in this repository for your research, please cite our paper.

@article {Mason617860,
	author = {Mason, Derek M and Friedensohn, Simon and Weber, C{\'e}dric R and Jordi, Christian and Wagner, Bastian and Meng, Simon and Gainza, Pablo and Correia, Bruno E and Reddy, Sai T},
	title = {Deep learning enables therapeutic antibody optimization in mammalian cells by deciphering high-dimensional protein sequence space},
	year = {2019},
	doi = {10.1101/617860},
	URL = {https://www.biorxiv.org/content/early/2019/05/30/617860},
	journal = {bioRxiv}
}

Authors

Derek Mason, Jan Dahinden, Simon Friedensohn, Bastian Wagner, Cédric Weber, Sai Reddy

dms_opt's People

Contributors

dahjan avatar masondm avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.