동기 부여 : 일반적인 단백질 언어 모델은 단백질 서열의 의미를 최첨단 예측 방법에 유용한 표현으로 요약하는 것으로 나타났습니다. 그러나, 시퀀싱 오류로 인해 손실 된 잔기 복원과 같은 항체 특이 적 문제의 경우, 항체에 대해서만 훈련 된 모델이 더 강력 할 수있다. 항체는 이러한 언어 모델에 필요한 서열 데이터의 부피 (예 : 관찰 된 항체 공간) 데이터베이스에서 이용 가능한 몇 가지 단백질 유형 중 하나입니다.
결과 : 여기서, 우리는 OAS 데이터베이스의 항체 서열에 대해 훈련 된 언어 모델 인 Ablang을 소개합니다. 우리는 항체 서열 데이터에서 누락 된 잔기를 복원하기 위해이를 사용하여 Ablang의 힘을 입증합니다. B- 세포 수용체 레퍼토리 시퀀싱의 주요 문제, 예를 들어 OAS 서열의 40% 이상이 처음 15 개의 아미노산이 누락되었습니다. Ablang은 IMGT 생식선 또는 일반적인 단백질 언어 모델 ESM-1B를 사용하는 것보다 항체 서열의 누락 된 잔류 물을 더 잘 회복시킨다. 또한, Ablang은 항체의 생식선에 대한 지식이 필요하지 않으며 ESM-1B보다 7 배 빠릅니다.
가용성 및 구현 : Ablang은 https://github.com/oxpig/ablang에서 사용할 수있는 Python 패키지입니다.
Ablang은 자유롭게 사용할 수 있으며 PIP와 함께 설치할 수 있습니다.
pip install ablang또는 Github에서 직접.
pip install -U git+https://github.com/oxpig/AbLang.gitNB : "Align = true"인수를 사용하는 경우 동일한 환경에서 ANARCI 버전을 수동으로 설치해야합니다. anarci는 Bioconda를 사용하여 설치할 수도 있습니다. 그러나이 버전은 제 3자가 유지 관리합니다.
conda install -c bioconda anarciAblang의 다양한 사용 사례와 빌딩 블록을 보여주는 Jupyter 노트북은 여기에서 찾을 수 있습니다.
현재 Ablang은 항체 서열에 대한 세 가지 다른 표현/인코딩을 생성하는 데 사용될 수 있습니다.
Res-Codings : 이러한 인코딩은 각 잔류 물에 대해 768 값으로 잔류 물 특정 예측에 유용합니다.
SEQ- 코딩 : 이러한 인코딩은 각 서열에 대해 768 값으로 서열 특이 예측에 유용합니다. 각 서열에 대해 동일한 길이의 인코딩은 이러한 인코딩이 항체 서열을 정렬 할 필요성을 제거한다는 것을 의미한다.
RES-SICELIBOLS : 이러한 인코딩은 주어진 항체 서열에서 각각의 위치에서 각 아미노산의 가능성이며, 가능한 돌연변이를 탐색하는데 유용하다. 아미노산의 순서는 Ablang 어휘를 따릅니다.
이러한 표현은 수많은 항체 설계 응용에 사용될 수 있습니다. 예를 들어, 우리는 Ablang의 시퀀싱 오류, 예컨대 모호한 염기 또는 사용 된 시퀀싱 기술의 한계로 인해 항체 서열에서 누락 된 잔기를 복원하기 위해 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}
}