Antibody i-Patch: Antibody contact residues prediction
Binding likelihood score of each residue :
where is the propensity to be in contact, and are the surface frequency of residue to be in contact () and not to be in contact ().
Clustering algorithm of Antibody i-Patch:
: -th residue in the -th sequence in the Multi-sequence alignment (MSA). Calculating over a triangle of amino acids () which correspond to 3 categories (). Average triangle propensity among all possible triangles between:
- Site on protein A;
- Surface exposed sites on protein B; and
- Residue – a structural neighbour of either or .
Some more notations:
- = number of sequences in MSA;
- set of sequences from MSA which do not have a gap at position .
refers to the propensity; refers to the weight; is the frequency of residues in in the training set which are in contact; likewise for . Propensity calculations of the triangles (residue triples) are weighted over the number of triangles of residue categories over all possible unordered combinations .
denotes the frequency of with within 4.5 of either or .
When these calculations were translated to the Ab-Ag context, the directionality of interactions (some antibodies have lower binding propensities) is considered; whereas the MSA (as this is not available to Ab-Ag case) is removed.
Removal of MSA: for the -th residue in the -th MSA sequence, hence .
Directionality: Antibody residues Antigen residues propensities were calculated.
These considerations turn the original i-Patch for generic proteins into the antibody i-Patch:
How to assess the energetic importance of this score?
A typical experimental procedure is Alanine scanning – replacing each residue with alanine to assess the structural and functional importance of the replaced residue. The choice of alanine is due to its mimicry of secondary structure preferences that many other residue species adopt. Here a computational alanine scanning assessed with interaction energy change (using FoldX in this paper of interest): stabilizing if or destabilizing if .
How do they bind?
The exciting docking – this would drive another blog post!