Motivation: Die vielseitigen Bindungseigenschaften von Antikörpern haben sie zu einer äußerst wichtigen Klasse von Biotherapeutika gemacht. Die therapeutische Antikörperentwicklung ist jedoch eine komplexe, teure und zeitaufwändige Aufgabe, wobei der endgültige Antikörper nicht nur eine starke und spezifische Bindung aufweist, sondern auch minimal durch Entwicklbarkeitsprobleme beeinflusst wird. Der Erfolg von transformatorbasierten Sprachmodellen im Proteinsequenzraum und die Verfügbarkeit großer Mengen an Antikörpersequenzen hat zur Entwicklung vieler antikörperspezifischer Sprachmodelle geführt, um die Entdeckung und das Design von Antikörpern zu leiten. Die Antikörpervielfalt ergibt sich hauptsächlich aus V (d) J -Rekombination, Mutationen innerhalb der CDRs und/oder aus einer kleinen Anzahl von Mutationen außerhalb der Keimbahn außerhalb der CDRs. Folglich bleibt ein signifikanter Teil der variablen Domäne aller natürlichen Antikörpersequenzen Keimbahn. Dies beeinflusst die Vorausbildung von antikörperspezifischen Sprachmodellen, bei denen diese Facette der Sequenzdaten eine vorherrschende Verzerrung zu Keimbahnresten einführt. Dies stellt eine Herausforderung dar, da Mutationen von der Keimbahn weg sind, um eine spezifische und starke Bindung an ein Ziel zu erzeugen, was bedeutet, dass Sprachmodelle in der Lage sein müssen, Schlüsselmutationen außerhalb der Keimbahn abzuschlagen.
Ergebnisse: In dieser Studie untersuchen wir die Auswirkungen der Keimbahnverzerrung und untersuchen deren Auswirkungen sowohl auf allgemeine Protein- als auch auf antikörperspezifische Sprachmodelle. Wir entwickeln und schulen eine Reihe neuer antikörperspezifischer Sprachmodelle, die für die Vorhersage von Nicht-Düstenresten optimiert sind. Anschließend vergleichen wir unser endgültiges Modell Ablang-2 mit aktuellen Modellen und zeigen, wie es auf eine Vielzahl gültiger Mutationen mit hoher kumulativer Wahrscheinlichkeit hinweist. Ablang-2 ist sowohl auf ungepaarten als auch an gepaarten Daten ausgebildet und ist frei verfügbar (https://github.com/oxpig/ablang2.git).
Verfügbarkeit und Implementierung: Ablang2 ist ein Python -Paket, das unter https://github.com/oxpig/ablang2.git erhältlich ist.
TCRILL-PAARED: Die ABLANG2-Architektur kann mit Modellgewichten initialisiert werden, die auf gepaarten TCR-Sequenzen trainiert werden. Dieses Modell kann in TCR -Sequenzen identisch zu ABLANG2 verwendet werden. Die einzige fehlende Funktionalität ist das Fehlen des Befehls aus dem Align. Die Erzeugung von Sequenz- und Rückstandscodierungen sowie Maskierung sind alle gleich. Ein Beispiel finden Sie im Notizbuch.
Ablang ist frei verfügbar und kann mit PIP installiert werden.
pip install ablang2oder direkt von Github.
pip install -U git+https://github.com/oxpig/AbLang2.gitNB: Wenn Sie Ihre zurückgegebene Ausgabe ausrichten möchten (dh das Argument "Align = true"), müssen Sie Pandas und eine Version von Anarci in derselben Umgebung manuell installieren. Anarci kann auch mit Bioconda installiert werden. Diese Version wird jedoch von Dritten gepflegt.
conda install -c bioconda anarciABLANG2 kann auf unterschiedliche Weise und für eine Vielzahl von Usecasen verwendet werden. Die zentralen Bausteine sind der Tokenizer, Abrep und 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)
Wir haben einen Wrapper für bestimmte Usecasen erstellt, der über ein folgendes Jupyter -Notizbuch untersucht werden kann.
@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}
}