Giter VIP home page Giter VIP logo

haddock-antibody-antigen's Introduction

HADDOCK-antibody-antigen

License unittests DOI

Here we provide the code to run the antibody protocol of HADDOCK by using the residues belonging to the hypervariable (HV) loops. We use ANARCI [Dunbar, J. et al (2016). Nucleic Acids Res. 44. W474-W478] to renumber the antibody according to the Chothia numbering scheme and to identify the HV loops.

Installation

Install it using Conda.

git clone https://github.com/haddocking/HADDOCK-antibody-antigen.git
cd HADDOCK-antibody-antigen

# Create conda environment from environment.yaml file:
conda env create -f environment.yaml
conda activate haddock-antibody

If you are still using Python 2, please, consider using older version

Usage

As separate scripts

conda activate haddock-antibody

# Renumber antibody with the Chothia scheme
python ImmunoPDB.py -i 4G6K.pdb -o 4G6K_ch.pdb --scheme c --fvonly --rename --splitscfv

# Format the antibody in order to fit the HADDOCK format requirements
# and extract the HV loop residues and save them into a file
python ab_haddock_format.py 4G6K_ch.pdb 4G6K-HADDOCK.pdb A > active.txt

# Add END and TER statements to the .pdb file
pdb_tidy 4G6K-HADDOCK.pdb > oo; mv oo 4G6K-HADDOCK.pdb

As one command

For the convenience all three commands can be run as one command with:

conda activate haddock-antibody

python run.py --pdb 4G6K.pdb

It is also possible to process a whole folder with pdb files as well as subfolders with only one command:

conda activate haddock-antibody

python run.py --pdb folder_with_pdbs

Limitations

The version of ImmunoPDB.py script that we are re-distributing as part of this protocol has some limitations and cannot handle all naming schemes, please se the list below:

  • martin ✅
  • chotia ✅
  • imgt ❌
  • kabat ✅
  • aho ❌
  • wolguy ❌

Issues with this script are out of the scope of this repository, please raise an issue at the ANARCI repository if you have any problems with it.


haddock-antibody-antigen's People

Contributors

amjjbonvin avatar antonkulaga avatar dependabot[bot] avatar francesco03 avatar rvhonorato avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

haddock-antibody-antigen's Issues

making antibody-antigen pipeline haddock-local friendly

So far, the haddock-antibody-antigen pipeline does not generate all the files required for haddock-local run, in particular: ambig and unambig files, as well as passive residue list as well as run.param, are not generated.
I solved this issue in my antibody-antigen docker container which I published as a separate repository https://github.com/antonkulaga/haddock-antibody-docker . It needs some polishing but it kind of works.
In this issue I want to know your opinion whether you think it is good to back-port tbl files and run.param generation to haddock-antibody-antigen repository or it is better just to reference my container in readme, so people who want to use local version will know that they can save some time by using my code or maybe you will suggest something totally different.

Example PDB produces error for IMGT numbering

The numbering script produces error with the example PDB file;

python ImmunoPDB.py -i 4G6K.pdb -o 4G6K_i.pdb --scheme i --fvonly --rename --splitscfv

4G6K.pdb could not be parsed: Cannot change id from `(' ', 10, ' ')` to `(' ', 11, ' ')`. The id `(' ', 11, ' ')` is already used for a sibling of this entity.

IMGT annotation

Hello,
Thanks for putting up this great tool to annotate the Ab pdb.

I just try to annotate the Ab structure with IMGT format, and it seems there is a small bag there as I got the error as shown below:

python ImmunoPDB.py -i test.pdb -o test2.pdb -s IMGT --fvonly --rename --splitscfv
--> test.pdb could not be parsed: Cannot change id from (' ', 10, ' ') to (' ', 11, ' '). The id (' ', 11, ' ') is already used for a sibling of this entity

And rest of the annotation format works just fine :)
Will it be nice if IGMT format could work as well !
Thanks
Best,
Che

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.