Motivation: Es wurde gezeigt, dass allgemeine Proteinsprachmodelle die Semantik von Proteinsequenzen in Darstellungen zusammenfassen, die für hochmoderne Vorhersagemethoden nützlich sind. Bei antikörperspezifischen Problemen wie der Wiederherstellung von Rückständen aufgrund von Sequenzierungsfehlern kann jedoch ein Modell, das ausschließlich an Antikörpern trainiert wird, leistungsstärker sein. Antikörper sind einer der wenigen Proteintypen, bei denen das für solche Sprachmodelle benötigte Volumen der Sequenzdaten verfügbar ist, z. B. in der OAS -Datenbank der beobachteten Antikörperraum (OAS).
Ergebnisse: Hier stellen wir Ablang vor, ein Sprachmodell, das auf den Antikörpersequenzen in der OAS -Datenbank trainiert wurde. Wir demonstrieren die Leistung von Ablang, indem wir es verwenden, um fehlende Rückstände in Antikörpersequenzdaten wiederherzustellen, ein Schlüsselproblem bei B-Zell-Rezeptor-Repertoire-Sequenzierung, z. B. über 40% der OAS-Sequenzen fehlen die ersten 15 Aminosäuren. Ablang stellt die fehlenden Reste von Antikörpersequenzen besser wieder her als die Verwendung von IMGT-Keimlinien oder das allgemeine Proteinsprachenmodell ESM-1B. Darüber hinaus benötigt Ablang keine Kenntnis der Keimbahn des Antikörpers und ist siebenmal schneller als ESM-1b.
Verfügbarkeit und Implementierung: Ablang ist ein Python -Paket unter https://github.com/oxpig/ablang.
Ablang ist frei verfügbar und kann mit PIP installiert werden.
pip install ablangoder direkt von Github.
pip install -U git+https://github.com/oxpig/AbLang.gitNB: Wenn Sie das Argument "Align = true" verwenden, müssen Sie 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 anarciEin Jupyter -Notizbuch, das die unterschiedlichen Anwendungsfälle von Ablang und seine Bausteine zeigt, finden Sie hier.
Derzeit kann Ablang verwendet werden, um drei verschiedene Darstellungen/Codierungen für Antikörpersequenzen zu erzeugen.
RES-CODENS: Diese Codierungen sind 768 Werte für jeden Rest, nützlich für restumspezifische Vorhersagen.
SEQ-CODINGS: Diese Codierungen sind 768 Werte für jede Sequenz, nützlich für sequenzspezifische Vorhersagen. Die gleiche Länge der Codierungen für jede Sequenz bedeutet, dass diese Codierungen auch die Notwendigkeit beseitigen, Antikörpersequenzen auszurichten.
RES-Likelihoods: Diese Codierungen sind die Wahrscheinlichkeiten jeder Aminosäure an jeder Position in einer gegebenen Antikörpersequenz, die zur Erforschung möglicher Mutationen nützlich ist. Die Reihenfolge der Aminosäuren folgt dem Abblang -Wortschatz.
Diese Darstellungen können für eine Fülle von Antikörper -Designanwendungen verwendet werden. Als Beispiel haben wir die RES-Likelihoods von Ablang verwendet, um fehlende Rückstände in Antikörpersequenzen wiederherzustellen, die entweder auf Sequenzierungsfehler wie mehrdeutige Grundlagen oder die Einschränkungen der verwendeten Sequenzierungstechniken zurückzuführen sind.
Die Wiederherstellung von Antikörpersequenzen kann im Folgenden im folgenden "Wiederherstellen" -Modus durchgeführt werden.
import ablang
heavy_ablang = ablang.pretrained("heavy") # Use "light" if you are working with light chains
heavy_ablang.freeze()
seqs = [
'EV*LVESGPGLVQPGKSLRLSCVASGFTFSGYGMHWVRQAPGKGLEWIALIIYDESNKYYADSVKGRFTISRDNSKNTLYLQMSSLRAEDTAVFYCAKVKFYDPTAPNDYWGQGTLVTVSS',
'*************PGKSLRLSCVASGFTFSGYGMHWVRQAPGKGLEWIALIIYDESNK*YADSVKGRFTISRDNSKNTLYLQMSSLRAEDTAVFYCAKVKFYDPTAPNDYWGQGTL*****',
]
heavy_ablang(seqs, mode='restore')
Die Ausgabe des oben genannten ist unten zu sehen.
array(['EVQLVESGPGLVQPGKSLRLSCVASGFTFSGYGMHWVRQAPGKGLEWIALIIYDESNKYYADSVKGRFTISRDNSKNTLYLQMSSLRAEDTAVFYCAKVKFYDPTAPNDYWGQGTLVTVSS',
'QVQLVESGGGVVQPGKSLRLSCVASGFTFSGYGMHWVRQAPGKGLEWIALIIYDESNKYYADSVKGRFTISRDNSKNTLYLQMSSLRAEDTAVFYCAKVKFYDPTAPNDYWGQGTLVTVSS'],
dtype='<U121')Zur Wiederherstellung einer unbekannten Anzahl fehlender Reste an den Enden von Antikörpersequenzen kann der Parameter "Align" auf true eingestellt werden.
seqs = [
'EV*LVESGPGLVQPGKSLRLSCVASGFTFSGYGMHWVRQAPGKGLEWIALIIYDESNKYYADSVKGRFTISRDNSKNTLYLQMSSLRAEDTAVFYCAKVKFYDPTAPNDYWGQGTLVTVSS',
'PGKSLRLSCVASGFTFSGYGMHWVRQAPGKGLEWIALIIYDESNK*YADSVKGRFTISRDNSKNTLYLQMSSLRAEDTAVFYCAKVKFYDPTAPNDYWGQGTL',
]
heavy_ablang(seqs, mode='restore', align=True)
Die Ausgabe des oben genannten ist unten zu sehen.
array(['EVQLVESGPGLVQPGKSLRLSCVASGFTFSGYGMHWVRQAPGKGLEWIALIIYDESNKYYADSVKGRFTISRDNSKNTLYLQMSSLRAEDTAVFYCAKVKFYDPTAPNDYWGQGTLVTVSS',
'QVQLVESGGGVVQPGKSLRLSCVASGFTFSGYGMHWVRQAPGKGLEWIALIIYDESNKYYADSVKGRFTISRDNSKNTLYLQMSSLRAEDTAVFYCAKVKFYDPTAPNDYWGQGTLVTVSS'],
dtype='<U121') @article{Olsen2022,
title={AbLang: An antibody language model for completing antibody sequences},
author={Tobias H. Olsen, Iain H. Moal and Charlotte M. Deane},
journal={bioRxiv},
doi={https://doi.org/10.1101/2022.01.20.477061},
year={2022}
}