Мотивация: было показано, что общие модели белкового языка суммируют семантику белковых последовательностей в представления, которые полезны для современных прогнозных методов. Тем не менее, для специфических проблем антител, таких как восстановление остатков, потерянных из -за ошибок секвенирования, модель, обученная исключительно антителам, может быть более мощной. Антитела являются одним из немногих типов белков, где доступен объем данных последовательности, необходимых для таких языковых моделей, например, в базе данных наблюдаемого пространства антител (OAS).
Результаты: Здесь мы вводим ABLANG, языковую модель, обученную последовательностям антител в базе данных OAS. Мы демонстрируем силу ABLANG, используя его для восстановления пропущенных остатков в данных последовательности антител, что является ключевой проблемой с секвенированием репертуар B-клеток, например, в более чем 40% последовательностей ОАС отсутствуют первые 15 аминокислот. ABLANG восстанавливает недостающие остатки последовательностей антител лучше, чем использование зародышевых линий IMGT или модели общего языка белкового языка ESM-1B. Кроме того, Ablang не требует знания зародышевой линии антитела и в семь раз быстрее ESM-1B.
Доступность и реализация: Ablang - это пакет Python, доступный по адресу https://github.com/oxpig/ablang.
Ablang свободно доступен и может быть установлен с помощью PIP.
pip install ablangили прямо из GitHub.
pip install -U git+https://github.com/oxpig/AbLang.gitNB: Если вы используете аргумент «align = true», вам нужно вручную установить версию Anarci в той же среде. Anarci также может быть установлен с использованием BioConda; Однако эта версия поддерживается третьей стороной.
conda install -c bioconda anarciЗаписная книжка -юпитер, показывающая различные варианты использования Ablang и его строительные блоки, можно найти здесь.
В настоящее время ABLANG может использоваться для генерации трех различных представлений/кодировки для антител.
Res-Codings: эти кодирования составляют 768 значений для каждого остатка, полезные для специфических для остатков прогнозов.
SEQ-кодирования: эти кодирования составляют 768 значений для каждой последовательности, полезные для специфических для последовательности прогнозов. Такая же длина кодировки для каждой последовательности означает, что эти кодирования также удаляют необходимость выравнивания последовательностей антител.
Res-Likeliphity: эти кодирования являются вероятностью каждой аминокислоты в каждой позиции в данной последовательности антител, полезных для изучения возможных мутаций. Порядок аминокислот следует за словаром Абланг.
Эти представления могут быть использованы для множества применений конструкции антител. Например, мы использовали Res-LikeLiess от ABLANG для восстановления пропущенных остатков в последовательностях антител из-за ошибок секвенирования, таких как неоднозначные основания, или ограничения используемых методов секвенирования.
Восстановление последовательностей антител может быть выполнено с помощью режима «восстановить», как показано ниже.
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')
Вывод вышеперечисленного показан ниже.
array(['EVQLVESGPGLVQPGKSLRLSCVASGFTFSGYGMHWVRQAPGKGLEWIALIIYDESNKYYADSVKGRFTISRDNSKNTLYLQMSSLRAEDTAVFYCAKVKFYDPTAPNDYWGQGTLVTVSS',
'QVQLVESGGGVVQPGKSLRLSCVASGFTFSGYGMHWVRQAPGKGLEWIALIIYDESNKYYADSVKGRFTISRDNSKNTLYLQMSSLRAEDTAVFYCAKVKFYDPTAPNDYWGQGTLVTVSS'],
dtype='<U121')Для восстановления неизвестного числа пропущенных остатков на концах последовательностей антител параметр «выравнивания» может быть установлен на TRUE.
seqs = [
'EV*LVESGPGLVQPGKSLRLSCVASGFTFSGYGMHWVRQAPGKGLEWIALIIYDESNKYYADSVKGRFTISRDNSKNTLYLQMSSLRAEDTAVFYCAKVKFYDPTAPNDYWGQGTLVTVSS',
'PGKSLRLSCVASGFTFSGYGMHWVRQAPGKGLEWIALIIYDESNK*YADSVKGRFTISRDNSKNTLYLQMSSLRAEDTAVFYCAKVKFYDPTAPNDYWGQGTL',
]
heavy_ablang(seqs, mode='restore', align=True)
Вывод вышеперечисленного показан ниже.
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}
}