Coder Social home page Coder Social logo

overshiki / dlab-public Goto Github PK

View Code? Open in Web Editor NEW

This project forked from con-schneider/dlab-public

0.0 0.0 0.0 159.76 MB

Code for the paper "DLAB - Deep learning methods for structure-basedvirtual screening of antibodies"

License: GNU General Public License v2.0

Python 93.15% Shell 6.85%

dlab-public's Introduction

dlab-public

Code to run the antibody virtual screening pipeline described in the paper "DLAB - Deep learning methods for structure-based virtual screening of antibodies" (bioRxiv)[1]

Install

  1. run bash build.sh

  2. Get ZDock and copy the source code files into the folder external/zdock-3.0.2-src.

Test your install

The folder tests/ contains scripts you can use to check if your folder structure is set up correctly. Run them with pytest:

pytest tests/

Data preparation

  1. Prepare your input antibody and antigen structures by running the mark_sur script as per the ZDock README. If you want to limit docking to the (predicted) interaction site, block atoms outside the interaction site by changing column 55-56 after running mark_sur to 19 as per the ZDock README. There is more detail on this in the paper.

  2. Generate a .csv file containing all antibody and antigen pairings you want to investigate. An example is shown in example_input_files/pairings.csv.

  3. Use the data_prep_pipeline.py script to run ZDock and generate types files. This uses a python implementation of the atomtyper functionality in libmolgrid [2]:

    python data_prep_pipeline.py -c data_prep_config.yaml
    

    data_prep_config.yaml configures the pipeline (see example_input_files/data_prep_config.yaml).

Running DLAB

For this script, you will need to be on a machine with GPU and CUDA, which is why this is seperate from the data preperation script (docking and preperation can be run on cpu compute servers before running GPU computations). Run DLAB (both rescoring and virtual screening in one go) using this command:

python dlab_re_vs_pipeline.py -c dlab_config.yaml

Where the yaml file defines the locations and types of models used as well as the input data and output file. An example can be found in example_input_files/dlab_config.yaml.

Analysing the output

The pipeline generates a csv file with the columns

  • name
  • dlab-re-max
  • dlab-vs
  • zdock_score

To follow the approach used in the paper ("DLAB-VS+ZDock"), a final score can be calculated by minmax scaling both DLAB-VS and ZDock score for each target antigen and averaging the two scores. For the approach denoted "DLAB-Re-max thresholding" in the paper, discard all antibody-antigen pairings not falling in the top 20% of DLAB-Re-max scores.

References

[1] DLAB - Deep learning methods for structure-based virtual screening of antibodies. C Schneider, A Buchanan, B Taddese, CM Deane, bioRxiv, 2021

[2] libmolgrid: Graphics Processing Unit Accelerated Molecular Gridding for Deep Learning Applications. J Sunseri, DR Koes. Journal of Chemical Information and Modeling, 2020

dlab-public's People

Contributors

con-schneider avatar constantinschneider avatar overshiki 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.