Motivation: Les propriétés de liaison polyvalentes des anticorps en ont fait une classe de biothérapeutiques extrêmement importante. Cependant, le développement des anticorps thérapeutiques est une tâche complexe, coûteuse et chronophage, l'anticorps final ayant besoin non seulement d'une liaison solide et spécifique, mais également d'être peu impactées par tout problème de développement. Le succès des modèles de langage basés sur les transformateurs dans l'espace des séquences protéiques et la disponibilité de grandes quantités de séquences d'anticorps ont conduit au développement de nombreux modèles de langage spécifiques aux anticorps pour guider la découverte et la conception des anticorps. La diversité des anticorps provient principalement de la recombinaison de V (D) J, des mutations au sein des CDR et / ou d'un petit nombre de mutations loin de la lignée germinale à l'extérieur des CDR. Par conséquent, une partie significative du domaine variable de toutes les séquences d'anticorps naturelles reste germinale. Cela affecte la pré-formation des modèles de langage spécifiques aux anticorps, où cette facette des données de séquence introduit un biais dominant vers les résidus germinaux. Cela pose un défi, car les mutations loin de la lignée germinale sont souvent vitales pour générer une liaison spécifique et puissante à une cible, ce qui signifie que les modèles de langage doivent être en mesure de suggérer des mutations clés loin de la lignée germinale.
Résultats: Dans cette étude, nous explorons les implications du biais de la lignée germinale, en examinant son impact sur les modèles de langage spécifiques à la protéine générale et aux anticorps. Nous développons et formons une série de nouveaux modèles de langage spécifiques aux anticorps optimisés pour prédire les résidus non allégés. Nous comparons ensuite notre modèle final, Ablang-2, avec des modèles actuels et montrons comment il suggère un ensemble diversifié de mutations valides avec une probabilité cumulative élevée. Ablang-2 est formé à la fois sur des données non appariées et appariées et est disponible gratuitement (https://github.com/oxpig/ablang2.git).
Disponibilité et implémentation: Ablang2 est un package Python disponible sur https://github.com/oxpig/ablang2.git.
Paile du tcrlang: L'architecture Ablang2 peut être initialisée avec des poids de modèle formés sur des séquences TCR appariées. Ce modèle peut être utilisé de manière identique à Ablang2 sur les séquences TCR. La seule fonctionnalité manquante est l'absence de la commande Align. La génération d'encodages de séquence et de résidus, ainsi que le masquage sont les mêmes. Pour un exemple, veuillez consulter le cahier.
Ablang est disponible gratuitement et peut être installé avec PIP.
pip install ablang2ou directement à partir de github.
pip install -U git+https://github.com/oxpig/AbLang2.gitNB: Si vous souhaitez que votre sortie retournée soit alignée (c'est-à-dire utiliser l'argument "Align = true"), vous devez installer manuellement des pandas et une version d' Anarci dans le même environnement. Anarci peut également être installé à l'aide de Bioconda; Cependant, cette version est maintenue par un tiers.
conda install -c bioconda anarciABLANG2 peut être utilisé de différentes manières et pour une variété d'utilisases. Les blocs de construction centraux sont le tokenizer, ABREP et Ablang.
import ablang2
# Download and initialise the model
ablang = ablang2.pretrained(model_to_use='ablang2-paired', random_init=False, ncpu=1, device='cpu')
seq = [
'EVQLLESGGEVKKPGASVKVSCRASGYTFRNYGLTWVRQAPGQGLEWMGWISAYNGNTNYAQKFQGRVTLTTDTSTSTAYMELRSLRSDDTAVYFCARDVPGHGAAFMDVWGTGTTVTVSS', # The heavy chain (VH) needs to be the first element
'DIQLTQSPLSLPVTLGQPASISCRSSQSLEASDTNIYLSWFQQRPGQSPRRLIYKISNRDSGVPDRFSGSGSGTHFTLRISRVEADDVAVYYCMQGTHWPPAFGQGTKVDIK' # The light chain (VL) needs to be the second element
]
# Tokenize input sequences
seqs = [f"{seq[0]}|{seq[1]}"] # Input needs to be a list, with | used to separated the VH and VL
tokenized_seq = ablang.tokenizer(seqs, pad=True, w_extra_tkns=False, device="cpu")
# Generate rescodings
with torch.no_grad():
rescoding = ablang.AbRep(tokenized_seq).last_hidden_states
# Generate logits/likelihoods
with torch.no_grad():
likelihoods = ablang.AbLang(tokenized_seq)
Nous avons construit un wrapper pour des usécases spécifiques qui peuvent être explorés via un cahier de jupyter suivant.
@article{Olsen2024,
title={Addressing the antibody germline bias and its effect on language models for improved antibody design},
author={Tobias H. Olsen, Iain H. Moal and Charlotte M. Deane},
journal={bioRxiv},
doi={https://doi.org/10.1101/2024.02.02.578678},
year={2024}
}