https://www.biorxiv.org/content/10.1101/2024.10.22.619416v1
쥐/낙타 등 비인간 항체나 나노바디는 강력한 결합력을 가지지만, 인간에게 면역 반응(HAMA 등)을 유발할 수 있어 임상 이전에 humanization이 필수
마우스의 variable region + 인간의 constant region
human Framework에 CDR을 이식 -> But, 구조적 보존 어려움
항원과 직접 상호작용하는 CDR 내 일부 잔기만을 남기고, 나머지 잔기들은 인간 항체의 잔기로 대체하는 방식
-> 면역원성을 더 줄일 수 있음
But, 어떤 CDR 잔기가 항원과 상호작용하는지 파악하기 위해선
Mouse 항체-항원 복합체의 구조적 분석이 필수이기 때문에,
이 방법은 구조 분석이 가능한 경우에만 제한적으로 적용될 수 있음
(현재는 이 과정이 가능한 Computing Tool 존재 X)
Humab, MG:
humanness 점수를 기준으로 humanization 유도
Sapiens:
heavy/light 각각 transformer 모델 → FR을 직접 humanize
CUMAb:
3D 구조 기반, 에너지 최소화 구조 선택
Llamanade:
VHH와 VH의 통계적 차이 기반 humanization
AbNativ:
VH humanness + VHH nativeness 점수 동시 평가
HuDiff-Ab:
paired heavy-light chain antibody humanization
HuDiff-Nb:
nanobody (VHH) humanization
CDR 서열만 입력받고,
나머지 Framework는 diffusion model을 통해 “무작위 상태”로 만든 뒤,
모델이 이 noise 속에서 human-like한 FR 서열을 복원(denoise)하면서 항체를 인간화하는 방식
항체는 Y자 모양의 단백질로 구성됨
각각 Heavy chain + Light chain 쌍으로 구성된 두 개의 팔 (Fab)이 있고, 이는 항원을 인식하고 결합함
중앙 줄기 부분인 Fc region은 면역세포(예: 대식세포)에 인식되어 항체-항원 복합체 제거를 유도
나노바디(VHH)는 단일 heavy chain만 존재하는 더 간단한 형태의 항체
일반 항체와 기능은 유사하지만, 구조가 작고 안정적이며 혈뇌장벽 통과, 조직 침투성 등에서 유리
인간 항체의 프레임워크 서열(FR)에 점점 noise를 주면서
→ 마지막에는 완전히 정보가 사라진 무작위 상태가 됨
이게 uniform distribution, 즉 모든 아미노산이 나올 확률이 동일한 상태(=absorbing state)
가능
모델은 CDR과 짝을 이루는 FR의 분포를 훈련을 통해 학습했기 때문
ex) CDR이 A일 때, 어떤 human FR이 자주 등장하는지를 수백만 건 학습)
즉, CDR을 보고 적절한 human-like FR을 조건부 생성할 수 있도록 학습된 것
훈련 중에도 테스트 중에도, CDR은 고정된 채 유지
timestep T (최종 단계)에는 CDR 정보만 남아 있고,
FR은 다 noise로 날아간 상태
훈련된 모델은 CDR만 주어진 상태에서, 원래 인간 항체의 FR 서열을 복원함
즉, CDR을 기준으로 인간 프레임워크 서열을 설계하는 과정
= humanization이 완성됨
heavy + light chain(paired chain)의 CDR
humanized framework region (FR)
Encoder
Hidden Feature Study Block (Dual CNN + Roformer)
Decoder (MLP)
입력:
사람이 만든 paired antibody (heavy+light) 서열을
diffusion 시킨 상태 xhum_t (프레임워크 길이에 따라 t 결정됨)
목표:
마스킹된 위치들을 복원해서 x̂hum_0 예측 (즉, 인간 항체 프레임워크 구조를 학습)
역할: CDR은 그대로 두고, FR을 reconstruction하도록 훈련
입력: 쥐(mouse) 항체의 diffused 상태 xmou_t
출력: Gumbel Softmax를 이용해 one-hot으로 인간화된 서열 생성
모델의 출력은 아미노산 하나를 선택하는 one-hot vector 문제임 (예: A, R, G, W)
ex) A → [1,0,0,...,0])
근데 이런 선택은 argmax처럼 작동하므로 미분 불가능 → backpropagation이 안 됨
Gumbel-Softmax는 softmax와 one-hot 사이를 이어주는 스무스한 다리
->
모델이 내놓은 logit 값에 Gumbel noise를 추가
그 후, softmax로 확률 분포로 변경
학습 중엔 soft vector ([0.1, 0.7, ..., 0.05])
예측할 땐 argmax ([0,1,0,...,0])
→ 하지만 역전파는 soft 상태에서 가능하므로 학습 가능
Loss:
AbNativ의 VH/VL 모델을 통해 humanness score 계산
→ 이 점수를 최대화하도록 Finetuning
“이 항체 서열이 사람(human) 항체처럼 생겼는지 점수(humanness)를 줘!”
즉, 생성된 서열이 사람이 만든 것처럼 자연스러운지를 0~1 사이 점수로 평가
Input → Tokenizer → Embedding → Sequence Encoder (Dual CNN)
→ Extra Information Encoder
→ 합쳐서 Feature Vector 생성
→ Self-Attention (Roformer)
→ Decoder (MLP)
→ Gumbel Softmax → AbNativ 평가 → Fine-tuning
각 residue를 임베딩
아미노산 하나하나를 숫자로 바꾼 뒤 embedding 벡터로 변환
ex) A → [0.2, -1.3, 0.7, …]
→ 이렇게 해야 모델이 각각의 residue를 "벡터 공간"에서 다룰 수 있음
IMGT 번호 기준으로 CDR1/2/3, FR1/2/3/4 위치를 이미 알고 있음
학습 input에는 각 residue가 어느 영역에 속하는지 tagging
그 정보를 학습 모델이 내부적으로 사용하는 구조화된 feature로 바꿔주는 게 encoder
CDR/FR 영역 구분 정보(잔기 영역 정보)
각 위치가 CDR인지, FR인지 알려주는 정보 (binary feature)
서열의 각 residue의 위치 정보를 부여(잔기 위치 정보)
(Transformer에서도 쓰는 positional encoding과 비슷함)
ex) residue #5와 #50은 다르다는 걸 인식시킴
heavy vs. light chain 구분 (Lambda/Kappa)
Heavy용 CNN + Light용 CNN (ByteNet 기반)
항체 서열은 위치적(local) 정보가 중요함
→ CNN은 인접한 잔기 사이의 패턴을 잘 잡음
dilation을 이용해서 멀리 있는 residue 관계도 잡을 수 있는 CNN 구조
ex) CDR1과 CDR3 사이처럼 멀리 떨어진 관계도 인식 가능
각 segment(CDR1, FR2...)별로 local representation을 만든 뒤
최종적으로 전체를 이어 붙이고 attention (Transformer)을 씌우는 방식
이 방식의 문제는 너무 분할된 정보(local-only)로 시작하면, 전체 구조나 문맥 상의 의미를 제대로 못 배울 수 있음
또, segment 간 length가 유동적이라서 붙이는 과정에서 정렬 문제가 생김
그래서 HuDiff는 처음부터 full-sequence를 입력으로 받아서
region 정보를 tagging한 상태에서
CNN → Transformer → 전체 구조 학습으로 접근
Transformer는
Attention으로 전체 관계 학습
Feedforward로 local 특징 학습 가능
그런데도 CNN을 쓰는 이유는?
속도와 메모리 효율성
CNN은 local window만 보기 때문에 연산량이 작음
Transformer는 모든 residue 쌍을 다 보니까 길이에 따라 O(n²) 연산이 필요함
항체의 특성
항체 서열은 인접한 residue 간 관계가 구조적으로 매우 중요
CNN (특히 ByteNet)은 dilation으로 적절한 거리까지 보는 데 최적화되어 있음
그래서 HuDiff 구조는 CNN으로 local/중거리 관계를 학습하고, Roformer (Transformer)로 전체 구조 관계를 학습하는 하이브리드 구조
CNN은 local info를 보지만, 전체 관계를 포착하려면 self-attention 필요
Roformer는 기존 Transformer에 Rotary Positional Embedding(ROPE)을 추가한 구조
-> attention으로 CDR-FR 관계와 heavy-light chain 간 상호작용을 학습
MLP로 residue 예측
기존 방법과 다르게 paired antibody 학습을 수행
→ heavy-light chain 간 상호작용도 고려
기존에는 대부분 VH 또는 VL 단독으로 학습함
하지만 항체는 VH-VL이 서로 결합하면서 구조가 바뀜
그래서, 실제 항원 결합 부위는 VH-VL 연동 효과가 큼
-> 이 구조적 맥락을 고려하려면 paired 서열 학습이 필수
VHH CDR (단일 heavy chain 구조)
인간 heavy chain (VH) 서열을 diffusion 시킨 후 x̂vh_0을 복원하는 방식
인간 VH의 CDR-FR 관계를 학습
Camelid nanobody (VHH) 서열을 diffusion 시키고 복원
Output 서열의 humanness를 최대화하면서도 VHH nativeness는 유지
(out-of-distribution 문제 해결)
VHH와 VH의 CDR 길이와 특징 분포가 다른 것
ex) CDR 길이 분포
VH (human heavy): CDR3 길이 보통 12~15
VHH (camel): CDR3 길이 보통 18~20 이상 → 훨씬 길고 다르게 생김
항체 서열의 "사람스러움(humanness)"이나 "자연스러움(nativeness)"을 수치화해주는 모델
humanness score (AbNativ VH 모델)
사람이 가진 정상적인 heavy chain 서열들과 얼마나 비슷한가?
HuDiff는 mouse 항체의 FR을 바꾸어 이 점수를 최대화하려고 학습함
nativeness score (AbNativ VHH 모델)
낙타 유래 VHH (single heavy chain) 항체처럼 자연스럽게 생겼는가?
HuDiff-Nb의 경우, 사람스럽게 바꾸되 낙타 구조적인 특성은 해치지 않도록 nativeness score는 유지하려고 함
Sapiens보다 humanness (T20, OASis)가 우수하거나 유사
5개의 humanized 항체 생성 → BLI 실험
최고 성능 항체: 결합력 0.15 nM (원본 2B04는 0.12 nM)으로 거의 동일 / 일부는 결합력 손실 없거나 유지
Llamanade 대비 humanness 점수 우수 (T20, VH score)
‘de’ 방식으로 생성한 humanized 나노바디가 원본보다 결합력이 54% 향상 (5.47 → 2.52 nM)
구조 분석 결과: CDR1 conformation 변화와 FR2의 친수성 잔기 변이가 향상 요인