Direct evidence · 확인된 사례 1건
Docking 데이터를 실제 지식 그래프에 반영한 직접 사례
이 장에는 사례가 하나뿐이다. 하나뿐이라는 사실 자체가 이 조사의 첫 번째 결과다. 아래 카드만 다른 색으로 표시한 이유도 그것이다. 이 페이지 전체에서 흰 카드는 이것 하나다.
1.1 · Engineering Proceedings 2023
당뇨병 약물재창출용 Enhanced Knowledge Graph
논문 Data-Driven Drug Repurposing in Diabetes Mellitus through an Enhanced Knowledge Graph · DOI 10.3390/engproc2023050009 · PDF
현재 조사에서 요구사항과 가장 직접적으로 일치하는 사례다. 저자들은 논문에서 “molecular docking data were used to enrich the knowledge graph”라고 명시했다. 해석의 여지가 없는 문장이다.
수행 내용- 약 7,955개 생리활성 화합물과 529개 단백질 표적을 대상으로 AutoDock Vina 기반 virtual screening을 수행했다.
- docking score를 표적별로 정규화했다.
- 정규화된 docking score를 기존 biomedical knowledge graph에 추가했다.
그래프에는 다음 정보가 함께 통합되었다.
- 약물–단백질 관계
- 단백질–단백질 관계
- 약물–질환 관계
- 약물–약물 관계
- CYP450 저해 예측
- 임상시험 및 특허 정보
- 약물유전체학 정보
- 정규화 docking score
예를 들어 DPP-4 표적에 대해 기준 약물보다 우수한 docking score를 가진 후보들을 선별한 뒤, CYP450, 구조 유사성, 임상시험, 특허, pharmacogenomics 정보를 그래프에서 함께 검색해 최종 후보를 축소했다.
이 사례가 의미하는 것일반적인 docking 시스템에서는 결과가 CSV나 SDF 파일에 남고, 분석이 끝나면 독립된 결과물로 묻힌다. 이 사례는 docking score를 지식 그래프에 추가함으로써 다음과 같은 복합 질문에 답할 수 있게 했다.
“DPP-4에 강하게 결합할 가능성이 있으면서, 기존 당뇨병 약물과 구조적으로 너무 유사하지 않고, CYP450 위험이 낮으며, 임상·특허 근거까지 존재하는 화합물은 무엇인가?”
요컨대 docking score를 단순 순위가 아니라, 다른 생물학적·임상적 근거와 연결된 의사결정 근거로 바꾸었다.
그러나 여기까지다 — 한계완전한 “docking 수행 이력 KG”라고 보기는 어렵다. 논문에서 확인되는 주요 KG 반영 데이터는 정규화된 docking score다. 아래 항목까지 독립적인 노드와 관계로 저장했다는 근거는 제시되지 않았다.
따라서 이 사례는 “docking 결과의 KG 반영”에는 해당하지만, “상세한 docking 실행 이력 전체의 KG 관리”에는 부분적으로만 해당한다. 둘을 같은 것으로 뭉뚱그리면 조사 결과가 실제보다 풍성해 보인다. 그렇게 해서는 안 된다.
History without a graph
이력은 체계적으로 저장하지만 KG는 아닌 사례
2.1 · arXiv 2604.21828
ProDock — 재현 가능한 도킹을 위한 provenance 프레임워크
논문 · arXiv HTML · GitHub · Documentation
ProDock은 현재 공개된 시스템 중 요구하는 docking 이력 KG에 가장 가까운 데이터 구조를 갖고 있다. 다만 그래프 DB가 아니라 SQLite 관계형 DB를 쓴다. 이 한 가지 선택이 모든 차이를 만든다.
저장하는 정보- receptor 구조
- ligand 구조
- docking engine
- engine별 score
- pose ID와 순위
- residue-level interaction
- random seed
- exhaustiveness
- 생성할 pose 수
- CPU 할당
- 실행 설정과 provenance
- 실패 및 후처리 결과
Vina, smina, qvina 등 여러 docking 엔진의 결과를 하나의 캠페인 단위로 관리하고, ProLIF를 이용해 pose별 단백질–리간드 상호작용 fingerprint까지 추출한다.
거의 그대로 KG가 된다ProDock의 관계형 스키마는 다음과 같이 거의 손대지 않고 KG로 옮길 수 있다.
- SQLite에 저장하므로 semantic KG는 아니다.
- 질환, pathway, phenotype, 임상시험, 부작용 등의 biomedical KG와 연결되지 않는다.
- 과거 결과를 이용해 agent가 다음 docking 전략을 자동 결정하는 구조가 아니다.
그럼에도 ProDock의 실행 이력 스키마를 RDF·Neo4j·Property Graph로 변환하는 접근은 가장 현실적인 출발점이다. 바닥부터 새로 설계할 필요가 없다는 뜻이다.
2.2 · arXiv 2111.09502
Multi-Task Learning — 이전 표적의 docking 데이터를 재사용한다
이 연구는 하나의 질문에서 출발한다. “새로운 표적마다 docking과 학습을 처음부터 다시 해야 하는가?”
핵심 접근- 과거 다른 표적들에서 축적된 docking score를 보조 학습 데이터로 사용한다.
- 분자 GNN이 여러 표적의 docking score를 동시에 예측하도록 multi-task learning을 적용한다.
- 새 표적의 제한된 docking 결과와 기존 표적들의 대규모 이력을 결합한다.
- 과거 표적들에서 학습한 공통 화학 패턴을 새로운 표적으로 전이한다.
과거 docking 이력이 일회성 결과가 아니라 재사용 가능한 조직 자산이라는 점을 보여준다. 비슷한 pocket이나 chemical series를 가진 표적에서는 이전 결과가 새 표적의 screening 비용을 줄일 수 있다.
- docking 결과는 학습 테이블로 쓰인다.
- 표적 간 관계, pocket 유사성, assay 조건, pose 상호작용을 semantic KG로 표현하지 않는다.
- 어떤 과거 run이 현재 예측에 영향을 주었는지 설명하기 어렵다.
따라서 이것은 이력 재사용 사례이지 KG 사례가 아니다. 두 낱말을 섞어 쓰면 안 된다.
Data assets
대규모 과거 docking 결과를 공개 데이터 자산으로 만든 사례
3.1
DOCKSTRING — 26만 분자 × 58개 표적
약 26만 개 분자를 58개 단백질 표적에 docking한 대규모 데이터셋이다. AutoDock Vina score와 pose를 제공하며 docking score 예측, virtual screening, multi-objective molecule optimization, GNN 학습, 생성모델 평가, uncertainty estimation에 쓰인다.
전형적인 docking 이력 재사용 데이터셋이다. 그러나 데이터가 표와 파일 형태이며, 질환·유전자·경로·실험근거와 연결된 KG는 아니다.
KG로 확장한다면 — 추가해야 할 관계- 표적–질환 연관성
- 표적–pathway 관계
- 분자–유사 골격 관계
- pose–결합잔기 관계
- score–engine/version 관계
- 예측 결과–후속 assay 관계
3.2
Graph Neural Processes for Molecules
DOCKSTRING의 축적된 docking score로 graph neural process를 학습했다.
- 분자를 molecular graph로 표현한다.
- 일부 분자의 score만 관측된 상황에서 나머지 score를 예측한다.
- 새 표적이나 소규모 데이터 환경에 적응하는 few-shot·meta-learning 가능성을 평가한다.
- 예측값과 함께 uncertainty를 추정한다.
여기서 “graph”는 분자의 원자–결합 그래프이지 biomedical knowledge graph가 아니다. 같은 낱말이 전혀 다른 것을 가리킨다.
3.3
Smiles2Dock — 2,500만 건의 score
약 170만 개 ChEMBL 화합물을 15개 AlphaFold 구조에 docking해 2,500만 건 이상의 score를 구축했다.
- SMILES로부터 docking score를 직접 예측하는 모델 학습
- GNN, transformer, CNN 비교
- 실제 docking 없이 대규모 라이브러리를 사전 선별
- 고비용 docking을 상위 후보에만 집중
다만 다음이 semantic KG로 연결되지 않는다.
- AlphaFold 구조의 신뢰도
- 단백질 도메인과 pocket 근거
- docking protocol provenance
- pose별 residue interaction
- 질환·pathway·임상 근거
- 후속 실험 결과
3.4
RNAmigos2 — RNA 표적의 120만 건
약 120만 건의 RNA–리간드 docking 결과를 synthetic training data로 활용한다.
- RNA binding site를 그래프로 표현한다.
- docking score를 학습용 약한 감독 신호로 쓴다.
- 실험 데이터가 부족한 RNA 표적에서 docking 이력으로 학습 데이터를 보강한다.
그러나 RNA 구조 그래프와 biomedical KG는 다른 개념이다. docking score를 질환·RNA 기능·pathway·assay provenance와 연결한 KG가 아니다.
3.5
HIDDEN GEM — 생성모델로 되먹임한다
생성모델이 만든 분자를 docking으로 평가하고, 그 결과를 다시 생성모델 개선에 사용하는 반복 구조다.
중요한 점은 docking 결과를 수동 보고서로 끝내지 않고 다음 생성 라운드의 학습 피드백으로 쓴다는 것이다. 이 조사에서 “고리”에 가장 가까이 간 사례다. 다만 피드백은 학습 데이터로 들어갈 뿐, DockingRun·Pose·Protocol·Validation을 지식 그래프로 구성하지는 않는다.
Standardization
여러 docking 방법과 pose 이력을 표준화한 프로젝트
4.1
PoseBench
전통적 docking과 AI 기반 co-folding·pose prediction을 같은 데이터셋과 평가 기준으로 비교한다.
- Astex
- PoseBusters
- DockGen-E
- CASP15
- conventional docking
- deep-learning docking
- protein–ligand co-folding
여러 방법의 pose와 평가 결과를 일관된 구조로 축적한다는 점에서 “수행 이력 표준화” 사례다. 다만 biomedical KG에 연결하지는 않는다.
4.2
PoseX
self-docking과 cross-docking 조건에서 여러 pose prediction 방법을 비교하기 위한 공개 benchmark 프로젝트다. 기존 실행 결과와 방법별 성능을 보존하므로 다음 연구자가 어떤 방법을 고를지 판단하는 데 도움이 된다. 그러나 benchmark 결과를 표적·질환·분자·실험 근거 KG와 연결하는 시스템은 아니다.
4.3 · arXiv 2411.12597
GNNAS-Dock — 과거 성능으로 엔진을 고른다
과거 docking benchmark 결과를 학습해, 주어진 단백질–리간드 쌍에 가장 적합한 docking 알고리즘을 선택하려는 연구다. 모든 표적에 같은 엔진을 들이대지 않고 과거 성능을 근거로 고른다.
- pocket이 깊고 rigid하면 방법 A
- receptor flexibility가 크면 방법 B
- 특정 ligand 크기와 회전결합 수에서는 방법 C
- 유사한 복합체에서 성공률이 높았던 engine 우선
과거 이력을 계산 전략 선택에 활용한다는 점에서 Agentic Docking에 가장 가까운 발상이다. 다만 이력은 ML 학습 데이터일 뿐, KG 기반 추론은 아니다.
4.4
DockBox2 — 버려지던 하위 pose를 쓴다
Pose Ensemble Graph Neural Networks to Improve Docking Performances
하나의 최상위 pose만 고르지 않고, 여러 docking pose를 ensemble로 GNN에 입력한다.
기존 docking에서 버려지는 하위 pose도 다음 정보를 갖고 있다.
- 다른 binding mode
- 핵심 잔기와의 부분 상호작용
- induced-fit 가능성
- docking engine의 불확실성
- ligand conformation 다양성
따라서 여러 pose의 이력을 보존하면 affinity나 올바른 pose를 더 정확히 평가할 가능성이 있다. 다만 여기서도 “graph”는 단백질–리간드 계산 그래프이며 semantic KG가 아니다.
The common shape
KG와 docking을 결합했지만 결과를 KG에 되돌리지 않은 사례
이 부류가 문헌에서 가장 흔하다. 구조는 언제나 같다. KG가 후보를 좁히고, docking이 그 후보를 검증하고, 거기서 끝난다. 맨 앞의 그림 1이 바로 이 구조다.
5.1
COVID-19 약물재창출 KG + docking
KG embedding으로 재창출 후보를 순위화하고, docking으로 SARS-CoV-2 단백질 결합 가능성을 평가했다. Fosinopril–nsp13 등을 KG 경로와 docking 결과로 설명한다. 그러나 docking 결과가 다시 DockingRun·Pose·Score 관계로 KG에 적재되었다는 근거는 없다.
5.2
PPIKG 기반 표적 규명
단백질–단백질 상호작용 KG로 UNBS5162의 후보 표적을 1,088개에서 35개로 줄이고, docking과 실험으로 USP7을 직접 표적으로 제안했다. KG가 검색 공간을 크게 줄인 것은 분명한 장점이다. 그러나 USP7 docking 결과와 후속 실험 결과를 provenance가 포함된 관계로 PPIKG에 되돌리지는 않는다.
5.3
KPGT
분자 그래프와 화학적 지식을 결합한 사전학습 모델이다. 약물재창출 사례에서 모델이 제안한 후보를 docking으로 분석한다. 다만 docking은 proof-of-concept 평가 단계이며, 과거 실행 이력이 KG의 새로운 관계로 환류되는 구조가 아니다.
5.4
K-DREAM
biomedical KG의 지식을 분자 생성 과정에 활용하고 docking score로 생성 후보를 평가한다.
- KG가 생성모델에 질환–표적–약물 맥락을 제공
- 생성모델이 새로운 분자를 제안
- docking이 구조적 결합 가능성을 평가
그러나 docking 결과를 다시 KG에 저장해 다음 생성 라운드의 graph reasoning에 쓰는 완전한 폐루프는 공개 내용에서 확인되지 않는다.
5.5
GADRC
그래프 기반 모델이 약물재창출 후보를 예측하고 docking으로 구조적 타당성을 검증한다. 여기서도 docking은 최종 검증 수단이며, pose·score·protocol이 그래프 이력으로 환류되는 구조가 아니다.
5.6 · 상용
MedGraph-Rubie
공개 페이지는 다음 요소의 통합을 주장한다.
- biomedical knowledge graph
- target docking 및 reverse docking
- post-docking refinement
- free-energy calculation
- 대규모 virtual screening
- HPC 기반 계산
상용 시스템 중에서는 요구사항과 상당히 가까워 보인다. 그러나 공개된 논문, KG 스키마, 소스코드가 없다.
MedGraph-Rubie에 대해 검증할 수 없는 것은 다음 넷이다.
따라서 관련 상용 주장으로는 포함할 수 있지만, 검증된 연구 사례와 같은 무게로 취급해서는 안 된다. 주장과 근거를 구분하지 않으면 조사는 홍보가 된다.
Enabling tools
Docking pose를 KG 데이터로 바꿀 수 있는 기반 도구
앞 장까지가 “없다”는 이야기였다면, 이 장부터는 “재료는 이미 있다”는 이야기다. 없는 것은 재료가 아니라 조립이다.
6.1
PLIP — pose에서 상호작용을 뽑아낸다
PLIP: Fully Automated Protein–Ligand Interaction Profiler
docking pose나 결정구조에서 다음 상호작용을 자동 추출한다.
- hydrogen bond
- hydrophobic interaction
- π-stacking
- salt bridge
- halogen bond
- metal coordination
이를 이용하면 단순 score보다 설명력이 훨씬 높은 KG를 만들 수 있다.
PLIP 자체는 KG 시스템이 아니다. 그러나 pose를 KG triple로 바꾸는 유용한 추출기다.
6.2
ProLIF — 상호작용을 fingerprint로
ProLIF: A Library to Encode Molecular Interactions as Fingerprints
docking pose나 MD trajectory에서 residue-level interaction fingerprint를 생성한다. ProDock의 post-processing에도 쓰인다. ProLIF의 fingerprint를 KG로 변환하면 다음 질문이 가능해진다.
“과거 EGFR docking에서 MET793과 hydrogen bond를 만들고, C797과 hydrophobic contact를 형성하면서, 이후 MD에서도 유지된 화합물은 무엇인가?”
이 질문에 답할 수 있느냐 없느냐가 갈림길이다. ProLIF는 pose 이력을 검색 가능한 구조적 지식으로 바꾸는 연결 계층으로 쓸 수 있다.
General provenance
계산 실행 이력을 KG로 관리하는 범용 사례
7.1
CAESAR 및 REPRODUCE-ME · W3C PROV-O
CAESAR: A Platform for Capturing and Querying Computational Experiment Provenance · W3C PROV-O
docking 전용은 아니다. 그러나 계산 실험의 실행 과정을 RDF 기반 provenance graph로 표현한다.
저장 가능한 항목은 다음과 같다.
- 어떤 데이터가 입력되었는가
- 어떤 소프트웨어와 버전이 사용되었는가
- 어떤 parameter로 실행되었는가
- 누가 언제 실행했는가
- 어떤 결과 파일이 생성되었는가
- 어떤 이전 실행을 재현하거나 수정한 것인가
이 구조에 docking domain ontology를 결합하면 이렇게 표현된다.
정리하면 이렇다. CAESAR와 PROV-O는 실행 이력 KG의 방법을 제공하고, ProDock은 docking 세부 스키마를 제공한다. 그런데 이 둘을 실제로 결합한 공개 시스템은 아직 확인되지 않았다. 부품은 다 있는데 조립한 사람이 없다는 뜻이다.
The matrix
사례별 충족도 비교 — 표 하나가 결론이다
아래 표를 눈으로 훑기만 해도 이 조사의 결론이 보인다. 마지막 열, 즉 KG 피드백 폐루프 칸이 거의 전부 비어 있다. 그 빈칸이 이 문서가 존재하는 이유다.
| 사례 | 과거 결과 재사용 |
실제 KG | Pose· 상호작용 |
실행 provenance |
KG 피드백 폐루프 |
|---|---|---|---|---|---|
| Diabetes Enhanced KG | ● | ● | 제한적 | ✕ | ✕ |
| ProDock | ● | ✕ SQLite | ● | ● | ✕ |
| Docking MTL | ● | ✕ | ✕ | ✕ | 모델 학습만 |
| DOCKSTRING | ● | ✕ | ● | 일부 | ✕ |
| Graph Neural Processes | ● | ✕ | 분자 그래프 | ✕ | 모델 학습만 |
| Smiles2Dock | ● | ✕ | 제한적 | 일부 | ✕ |
| RNAmigos2 | ● | ✕ | RNA 구조 그래프 | ✕ | 모델 학습만 |
| HIDDEN GEM | ● | ✕ | 제한적 | 제한적 | 생성모델 피드백 |
| PoseBench | ● | ✕ | ● | 일부 | ✕ |
| GNNAS-Dock | ● | ✕ | 제한적 | 성능 이력 | 알고리즘 선택 |
| COVID-19 KG+docking | ✕ | ● | docking 평가 | ✕ | ✕ |
| PPIKG | ✕ | ● | docking 평가 | ✕ | ✕ |
| KPGT / K-DREAM / GADRC | 부분적 | O 또는 KG 활용 | docking 평가 | ✕ | 대부분 ✕ |
| CAESAR / PROV-O | 범용 | ● | docking 전용 아님 | ● | 설계 가능 |
The gap
가장 중요한 연구 공백 — 세 조각으로 흩어져 있다
기존 연구는 세 조각으로 분리돼 있다. 각 조각은 저마다 훌륭하다. 문제는 조각들이 서로를 모른다는 것이다.
조각 1 · Biomedical KG 연구
질환, 유전자, 단백질, 약물, pathway 관계를 잘 표현한다.
그러나 docking 실행 세부사항이 없다.
조각 2 · Docking DB·프레임워크
ProDock, DOCKSTRING처럼 score, pose, protocol을 잘 보존한다.
그러나 biomedical context와 semantic reasoning이 없다.
조각 3 · ML·생성모델 피드백
과거 docking 결과를 새로운 예측과 분자 생성에 활용한다.
그러나 어떤 실행과 구조적 근거가 예측에 기여했는지 추적하기 어렵다.
세 요소를 결합하는 것이 명확한 연구개발 기회다. 고리를 닫으면 이런 모양이 된다.
What to build
새 시스템에서 차별화할 수 있는 구체적인 방향
가장 설득력 있는 구현은 새로운 것을 발명하는 게 아니라 이미 검증된 네 조각을 이어 붙이는 것이다. 당뇨병 Enhanced KG의 score 통합 방식, ProDock의 provenance 스키마, PLIP·ProLIF의 잔기 상호작용, PROV-O의 실행 이력 모델. 이 넷이면 된다.
최소한 다음 엔터티를 KG에 포함해야 한다.
실행 계층
- DockingCampaign
- DockingRun
- DockingEngine
- Protocol
- ComputeEnvironment
- ParameterSet
- FailureEvent
구조 계층
- ProteinStructure
- ReceptorState
- BindingPocket
- LigandState
- ProtonationState
- Tautomer
- Conformer
- DockingPose
결과 계층
- raw docking score
- normalized score
- consensus score
- pose rank
- RMSD
- strain energy
- residue interaction
- pocket coverage
- score uncertainty
검증 계층
- MD stability
- MM/GBSA
- FEP
- biochemical assay
- cellular assay
- activity value
- experimental condition
- positive·negative validation
이렇게 구축하면 agent가 다음과 같은 판단을 내릴 수 있다. 추상적인 이야기가 아니다. 아래 두 문장이 실제로 시스템이 출력해야 할 결과물이다.
“이 표적에서는 Vina 점수만 높고 MD에서 무너진 pose가 반복되었으므로, 이번에는 해당 pocket 상태를 제외하고 ensemble docking과 induced-fit docking을 먼저 수행하라.”
“MET793 hydrogen bond가 유지된 과거 pose들은 실험 활성과 높은 상관을 보였으므로, 단순 docking score보다 이 상호작용을 후보 선택에서 우선하라.”
이 두 문장을 말할 수 있는 시스템과, 말할 수 없는 시스템의 차이가 이 조사가 겨눈 지점이다.