## 1. 왜 GNN이 단백질–약물에 잘 맞는가?
### 약물 (소분자) → 그래프
- **노드**: 원자
- **엣지**: 화학 결합
- **노드 특성**: 원자 번호, 전하, 하이브리디제이션, 방향족성 등
- **엣지 특성**: 결합 차수, 방향성, 고리 여부 등
### 단백질 → 그래프
- 표현 방식 다양:
- **Residue-level 그래프**: 아미노산 = 노드, 거리/결합 = 엣지
- **Atom-level 그래프**: 모든 원자를 노드로 사용하는 고해상도 표현
- **Contact map 그래프**: 특정 거리 이내 residue 연결
- **노드 특성**: 아미노산 종류, 2차 구조, 전하, 표면 노출도 등
---
## 2. 기본 아이디어: GNN으로 상호작용을 어떻게 학습하는가?
### (1) 단백질 GNN + 약물 GNN → 임베딩 생성
각각을 GNN에 넣어 **vector embedding**으로 변환
### (2) 결합 방식
- 단순 결합: concat([protein_embedding, drug_embedding])
- 주의 메커니즘 적용:
- Cross-attention
- Co-attention
- Interaction graph 생성:
- 단백질 residue–약물 atom 간의 bipartite graph를 만들어 GNN 처리
### (3) 출력
- **이진 분류**: 결합 / 비결합 여부
- **회귀**: binding affinity (Kd, IC50)
- **포즈 예측**: 결합 위치 및 형태
---
## 3. 대표적인 GNN 기반 모델 계열
### (A) Molecule 전용 GNN
|모델|특징|
|---|---|
|GCN|가장 기본|
|GAT|중요 원자에 attention|
|MPNN|화학적 정보 전파에 적합|
|DimeNet / SchNet|3D 구조 반영|
### (B) Protein 전용 GNN
|모델|특징|
|---|---|
|GearNet|단백질 구조 보존 그래프|
|GVP-GNN|벡터 + 스칼라 구조 특징|
|ProteinGCN|residue-level GNN|
### (C) 단백질–약물 통합 모델
|모델|핵심 아이디어|
|---|---|
|**GraphDTA**|dual GNN 구조|
|**MONN**|residue–atom attention|
|**PotentialNet**|거리 기반 interaction|
|**DGMGC**|동적 그래프 생성|
|**GeoMol**|3D 공간 반영|
---
## 4. 입력 데이터 유형
### 단백질
- FASTA sequence
- PDB 구조
- Alphafold2 구조
- residue–residue distance map
### 약물
- SMILES
- RDKit 구조 객체
- 3D conformer
### 레이블
- Binding: yes/no
- Kd, Ki, IC50
- pKd
---
## 5. 파이프라인 예시 (PyTorch Geometric 기준)
```python
# Drug graph
drug = Data(x=atom_features, edge_index=bond_index, edge_attr=bond_features)
# Protein graph
protein = Data(x=residue_features, edge_index=contact_map)
# GNN
drug_emb = DrugGNN(drug)
protein_emb = ProteinGNN(protein)
# Interaction
combined = torch.cat([drug_emb, protein_emb], dim=1)
out = MLP(combined)
```
---
## 6. 장점과 한계
### 장점
- 구조 기반 학습 가능
- 물리/화학적 의미 반영
- 기존 ML보다 일반화 성능 우수
- docking보다 빠른 대량 screening
### 한계
- 구조 품질 민감 (PDB/AF 구조 정확도 중요)
- 데이터 부족 시 학습 불안정
- 해석성 낮음
- 훈련 비용 높음
---
## 7. 실전 연구에 쓰려면
### 추천 스택
- **PyTorch Geometric / DGL**
- RDKit (분자 처리)
- BioPython (서열/구조)
- AlphaFold 구조 활용
- PDBbind / BindingDB 데이터셋
### 평가
- AUC, RMSE, Spearman
- Scaffold split 필수
- Cold drug / cold protein test
---
## 8. 확장 아이디어 (연구 주제)
- GNN + **Transformer** 하이브리드
- Interaction attention visualization
- Multi-modal learning (구조 + transcriptomics)
- Diffusion model + GNN docking
- GNN 기반 de novo drug design
---
원하시면
1. **논문 추천 리스트**,
2. **PyTorch GNN 코드 템플릿**,
3. **BindingDB로 직접 학습 notebook 예제**,
4. 연구 주제에 맞춘 **모델 설계도**
중에서 원하는 걸 골라주세요.