Annotate v

From PyMOLWiki
Revision as of 16:06, 15 February 2020 by XinYu (talk | contribs)
Jump to navigation Jump to search


Author: Xin Yu, 2020 Version: 1.0

A simple-to-use script for annotation of VH or VL sequence of an antibody. It creates a Pymol object for each FR or CDR region. It utilizes the REST API interface of Abnum ( from Dr Andrew Martin's group at UCL

Annotation Schemes

Currently supports Kabat, Chothia, Contact, IMGT1

1Definitions for Kabat, Chothia, Contact, and IIMGT are same as listed in the table (, except that for IMGT, H-CDR2 is defined as H51-H57 in this script, as opposed to of H51-H56 in the table. This slight revision generates result that matches that from IMGT website (

Dependencies and Limitations

1. Import request module

2. Relies on internet connection to Abnum

3. Incomplete VH or VL sequence might not be annotated

How to use

1. Create a selection object for the V region, (such as VH and VL shown here). Only 1 V-region (VH OR VL) can be annotated each time. Alternatively, simply select the residues into the default <sele> group.

Create a selection group for input seq, or use the default sele

2. Copy the entire script and create a `.py` file. Run script.

3. The general syntax is:

annotate_v("selection_group_name", "scheme")

selection_group_name: name of the selection group where you have the input sequence. Must be single-letter amino acid coded. Either VH or VL but not both

scheme: currently supports Kabat, Chothia, Contact, IMGT. Must be lowercase

For example:

annotate_v("VH", "kabat") #input sequence from VH selection group, annotate using "kabat"
annotate_v("sele", "imgt") #input sequence from the default sele group, annotate using "imgt". You can also try "contact", "chothia"

4. In the output window, the script will print the FR and CDR regions (if found). It also automatically creates a selection group for each of the FR and CDR region.

example output from command lines
new FR and CDR selection groups are created

Source code

Copy the source code into a `.py` file and run script in Pymol. Source code:


Bugs? Questions? Email Xin Yu @ Enjoy!