Motivasi: Model bahasa protein umum telah terbukti merangkum semantik sekuens protein ke dalam representasi yang berguna untuk metode prediktif canggih. Namun, untuk masalah spesifik antibodi, seperti memulihkan residu yang hilang karena kesalahan pengurutan, model yang dilatih semata -mata pada antibodi mungkin lebih kuat. Antibodi adalah salah satu dari sedikit tipe protein di mana volume data urutan yang diperlukan untuk model bahasa tersebut tersedia, misalnya dalam database ruang antibodi (OAS) yang diamati.
Hasil: Di sini, kami memperkenalkan Ablang, model bahasa yang dilatih pada urutan antibodi dalam database OAS. Kami menunjukkan kekuatan ablang dengan menggunakannya untuk mengembalikan residu yang hilang dalam data urutan antibodi, masalah utama dengan sekuensing repertoar reseptor sel-B, misalnya lebih dari 40% dari sekuens OAS kehilangan 15 asam amino pertama. Ablang mengembalikan residu yang hilang dari sekuens antibodi lebih baik daripada menggunakan germline IMGT atau model bahasa protein umum ESM-1B. Lebih lanjut, Ablang tidak memerlukan pengetahuan tentang germline antibodi dan tujuh kali lebih cepat dari ESM-1B.
Ketersediaan dan Implementasi: Ablang adalah paket Python yang tersedia di https://github.com/oxpig/ablang.
Ablang tersedia secara bebas dan dapat dipasang dengan PIP.
pip install ablangatau langsung dari GitHub.
pip install -U git+https://github.com/oxpig/AbLang.gitNB: Jika Anda menggunakan argumen "align = true", Anda perlu menginstal versi anarci secara manual di lingkungan yang sama. Anarci juga dapat diinstal menggunakan Bioconda; Namun, versi ini dikelola oleh pihak ketiga.
conda install -c bioconda anarciBuku catatan Jupyter yang menunjukkan berbagai kasus penggunaan ablang dan blok bangunannya dapat ditemukan di sini.
Saat ini, Ablang dapat digunakan untuk menghasilkan tiga representasi/pengkodean yang berbeda untuk urutan antibodi.
RES-CODING: Pengkodean ini adalah 768 nilai untuk setiap residu, berguna untuk prediksi spesifik residu.
SEQ-CODING: Pengkodean ini adalah 768 nilai untuk setiap urutan, berguna untuk prediksi spesifik urutan. Panjang penyandian yang sama untuk setiap urutan, berarti penyandian ini juga menghilangkan kebutuhan untuk menyelaraskan urutan antibodi.
Res-Likelihoods: Pengkodean ini adalah kemungkinan dari masing-masing asam amino pada setiap posisi dalam urutan antibodi yang diberikan, berguna untuk mengeksplorasi kemungkinan mutasi. Urutan asam amino mengikuti kosakata ablang.
Representasi ini dapat digunakan untuk sejumlah besar aplikasi desain antibodi. Sebagai contoh, kami telah menggunakan res-likelihoods dari ablang untuk mengembalikan residu yang hilang dalam sekuens antibodi karena kesalahan pengurutan, seperti basis ambigu, atau keterbatasan teknik sekuensing yang digunakan.
Pemulihan urutan antibodi dapat dilakukan dengan menggunakan mode "restore" seperti yang terlihat di bawah ini.
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')
Output dari di atas terlihat di bawah ini.
array(['EVQLVESGPGLVQPGKSLRLSCVASGFTFSGYGMHWVRQAPGKGLEWIALIIYDESNKYYADSVKGRFTISRDNSKNTLYLQMSSLRAEDTAVFYCAKVKFYDPTAPNDYWGQGTLVTVSS',
'QVQLVESGGGVVQPGKSLRLSCVASGFTFSGYGMHWVRQAPGKGLEWIALIIYDESNKYYADSVKGRFTISRDNSKNTLYLQMSSLRAEDTAVFYCAKVKFYDPTAPNDYWGQGTLVTVSS'],
dtype='<U121')Untuk pemulihan jumlah residu yang hilang yang tidak diketahui di ujung urutan antibodi, parameter "align" dapat diatur ke true.
seqs = [
'EV*LVESGPGLVQPGKSLRLSCVASGFTFSGYGMHWVRQAPGKGLEWIALIIYDESNKYYADSVKGRFTISRDNSKNTLYLQMSSLRAEDTAVFYCAKVKFYDPTAPNDYWGQGTLVTVSS',
'PGKSLRLSCVASGFTFSGYGMHWVRQAPGKGLEWIALIIYDESNK*YADSVKGRFTISRDNSKNTLYLQMSSLRAEDTAVFYCAKVKFYDPTAPNDYWGQGTL',
]
heavy_ablang(seqs, mode='restore', align=True)
Output dari di atas terlihat di bawah ini.
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}
}