| --- |
| license: mit |
| pipeline_tag: feature-extraction |
| --- |
| |
| # AbAffinity |
|
|
| This repository contains the model presented in the paper [AbAffinity: A Large Language Model for Predicting Antibody Binding Affinity against SARS-CoV-2](https://huggingface.co/papers/2603.04480). |
|
|
| **GitHub Repository**: [ucrbioinfo/AbAffinity](https://github.com/ucrbioinfo/AbAffinity) |
|
|
| ## **Overview** |
|
|
| `AbAffinity` is a Large Language Model designed to predict the binding affinity of scFv antibody sequences against the SARS-CoV-2 HR2 peptide. It takes the antibody heavy and light chain sequences as input and predicts the binding affinity against a peptide common to all SARS-CoV-2 variants. |
|
|
| ## **Key Features** |
|
|
| - **Predict Binding Affinity**: Given the input antibody sequence, predict binding affinity. |
| - **Antibody Representation**: Provides both residue-level and sequence-level embeddings (representations) of the antibody. |
| - **Attention Contact Map**: Generates residue-residue attention maps for the input antibody sequence. |
|
|
| ## **Installation** |
|
|
| You can install `AbAffinity` from Hugging Face: |
|
|
| ```bash |
| pip install git+https://huggingface.co/faisalashraf/abaffinity |
| ``` |
|
|
| You can also install it in a local folder: |
|
|
| ```bash |
| git lfs install |
| git clone https://huggingface.co/faisalashraf/abaffinity |
| cd abaffinity |
| pip install . |
| ``` |
|
|
| ## **Usage** |
|
|
| Here's a quick example to get started: |
|
|
| ```python |
| from abaffinity import AbAffinity |
| |
| # Example usage |
| abmodel=AbAffinity() |
| |
| |
| # The model takes complete scFv sequences as input. Heavy and Light chain are connected with a linker sequence. |
| # Use make_scFv() method from the model to get the complete scFv sequence from heavy chain and light chain sequence. |
| |
| heavy_seq = 'EVQLVESGAEVKKPGASVKVSCKASGYTFTSYGISWVRQAPGQGLEWMGWISAYNGNTNYAQKLQGRVTMTTDTSTSTAYMELRSLRSDDTAVYYCARVGRGVIDHWGQGTLVTVSS' |
| light_seq = 'SSELTQDPAVSVALGQTVRITCEGDSLDYYYANWYQQKPGQAPILVIYGKNNRPSGIADRFSGSNSGDTSSLIITGAQAEDEADYYCSSRDSSGFEVTFGAGTKLTVL' |
| |
| scFv_seq = abmodel.make_scFv(heavy_seq, light_seq) |
| print(scFv_seq) # Output: EVQLVESGAEVKKPGASVKVSCKASGYTFTSYGISWVRQAPGQGLEWMGWISAYNGNTNYAQKLQGRVTMTTDTSTSTAYMELRSLRSDDTAVYYCARVGRGVIDHWGQGTLVTVSSGGGGSGGGGSGGGGSSSELTQDPAVSVALGQTVRITCEGDSLDYYYANWYQQKPGQAPILVIYGKNNRPSGIADRFSGSNSGDTSSLIITGAQAEDEADYYCSSRDSSGFEVTFGAGTKLTVL |
| |
| # Use `get_affinity()` method to get the predicted binding affinity of the antibody sequence. |
| pred_affinity = abmodel.get_affinity(scFv_seq) |
| print(pred_affinity) # Output: tensor([3.1595]) |
| |
| |
| # Use `get_embeddings()` method to get the embeddings for input sequences. |
| # Use `mode='res'` to get residue wise embeddings, and `mode='seq'` will give sequence embedding. |
| |
| res_emb = abmodel.get_embeddings(scFv_seq, mode='res') |
| print(res_emb.shape) # Output: torch.Size([258, 1280]) |
| |
| seq_emb = abmodel.get_embeddings(scFv_seq, mode='seq') |
| print(seq_emb.shape) # Output: torch.Size([1280]) |
| |
| # Use `get_contact_map()` method to get the contact maps of the given antibody sequence. |
| # Use `mode='VH-VL'` if you want to plot the contacts for heavy chain and light chain separately, and `mode='scFv'` to plot single contacts for the entire scFv sequence. |
| |
| contacts = abmodel.get_contact_map(scFv_seq, mode = 'scFv') |
| print(contacts.shape) # Output: contact map figure, (240, 240) |
| ``` |
|
|
| ## **License** |
|
|
| This project is licensed under the MIT License. |
|
|
| ## **Acknowledgments** |
|
|
| If you find this work useful, please cite: |
|
|
| ``` |
| @article{ashraf2024large, |
| title={A Large Language Model Guides the Affinity Maturation of Variant Antibodies Generated by Combinatorial Optimization}, |
| author={Ashraf, Faisal Bin and Zhang, Zihao and Paco, Karen and Mendivil, Mariana P and Lay, Jordan A and Ray, Animesh and Lonardi, Stefano}, |
| journal={bioRxiv}, |
| pages={2024--12}, |
| year={2024}, |
| publisher={Cold Spring Harbor Laboratory} |
| } |
| |
| @article{ashraf2026abaffinity, |
| title={AbAffinity: A Large Language Model for Predicting Antibody Binding Affinity against SARS-CoV-2}, |
| author={Ashraf, Faisal Bin and Ray, Animesh and Lonardi, Stefano}, |
| journal={arXiv preprint arXiv:2603.04480}, |
| year={2026} |
| } |
| ``` |