1. 개요[편집]
| 분자 도킹 Molecular Docking | |
|---|---|
| 분야 | 계산화학 × 신약개발 |
| 목적 | 리간드-수용체 결합 자세 및 친화도 예측 |
| 구성 요소 | 탐색 알고리즘 + 스코어링 함수 |
| 대표 도구 | AutoDock / Vina, GOLD, Glide, DOCK |
| 후속 검증 | 분자동역학, 자유에너지 계산 |
도킹 점수가 -12 kcal/mol이 나왔다고 신약이 된 것은 아니다. 그건 그냥 숫자가 -12라는 뜻이다.
분자 도킹(molecular docking)은 리간드(작은 분자)가 수용체(주로 단백질)의 결합 부위에 어떤 자세로 어떻게 강하게 붙는지를 계산으로 예측하는 기법이다. 자물쇠에 열쇠를 넣어보는 일을 컴퓨터 안에서 수억 번 반복하는 것이라고 보면 된다. 신약 개발 초기 단계에서 화합물 라이브러리를 훑어 유망 후보를 골라내는 가상 스크리닝의 핵심 엔진으로 쓰인다.
도킹이 답해야 하는 질문은 사실 두 개이며, 난이도가 완전히 다르다.
- 자세 예측(pose prediction) — 이 리간드는 어디에 어떻게 앉는가. 결정 구조가 있으면 채점 가능하고, 성적도 그럭저럭 괜찮다.
- 친화도 예측(affinity/ranking) — 얼마나 세게 붙는가, 어느 후보가 더 센가. 여기서부터 도킹은 겸손해진다.1
2. 문제의 구조[편집]
도킹은 결국 거대한 최적설계형 탐색 문제다. 자유도를 세어보면 왜 어려운지 바로 보인다. 리간드 강체 자유도 6개(병진 3 + 회전 3)에, 회전 가능한 단일결합(rotatable bond)마다 비틀림 각이 하나씩 붙는다. 약물 크기 분자면 회전 결합이 보통 510개, 즉 탐색 공간이 1116차원이다.
여기에 수용체까지 유연하게 두면 차원이 수백으로 폭발한다. 게다가 는 지역 최소값이 골짜기마다 박혀 있는 사나운 함수라, 경사하강 한 번으로 끝나지 않는다. 그래서 도킹 프로그램은 언제나 전역 탐색기 + 국소 최적화기의 조합으로 만들어진다.
계산을 실용 속도로 끌어내리는 결정적 트릭은 격자 사전계산이다. 수용체는 (강체 가정 하에) 계산 내내 변하지 않으므로, 결합 부위를 감싸는 3차원 격자를 만들어 원자 타입별 상호작용 에너지를 미리 채워 둔다. 이후 리간드 원자의 에너지는 보간과 근사(삼선형 보간) 한 번으로 끝난다. 수용체 원자 수천 개와의 거리를 매번 세는 것과 비교하면 수십~수백 배 빠르다.
3. 스코어링 함수[편집]
도킹의 성패는 사실상 여기서 갈린다. 스코어링 함수는 자세를 받아 “이게 얼마나 좋은가”를 숫자 하나로 뱉는데, 전통적으로 세 계보로 나뉜다.
| 계보 | 근거 | 대표 | 성격 |
|---|---|---|---|
| 힘장 기반 | 물리 퍼텐셜 | DOCK, GoldScore | 이론적으로 정직, 엔트로피·용매화에 약함 |
| 경험적 | 실험값 회귀 | Vina, ChemScore, Glide SP | 빠르고 실전형, 학습 데이터 밖에서 위태 |
| 지식 기반 | PDB 통계 | PMF, DrugScore | 데이터가 곧 물리, 희귀 상호작용에 취약 |
힘장 기반은 힘장에서 그대로 가져온 반 데르 발스 항(레너드-존스 퍼텐셜)과 쿨롱 정전기 항의 합이다.
문제는 이게 결합 엔탈피의 일부일 뿐이라는 것. 실제 결합 자유에너지 에는 물 분자를 떼어내는 탈용매화 비용과 리간드가 굳으면서 잃는 형태 엔트로피가 크게 들어가는데, 이 항들은 두 개의 큰 수의 차이라 정직하게 계산하려는 순간 도킹의 속도 이점이 증발한다.
경험적 함수는 아예 물리를 포기하고 실용을 택한다. 수소결합·소수성 접촉·회전결합 개수 같은 항을 몇 개 세운 뒤, 실험 친화도가 알려진 복합체 수백 개에 최소자승법류 회귀로 가중치를 맞춘다.
AutoDock Vina의 스코어가 이 계열의 대표다. 빠르고 대체로 무난하지만, 학습 세트에 없던 화학 공간으로 나가면 그냥 외삽이다. 지식 기반은 PDB에 쌓인 실제 복합체 구조에서 원자쌍 거리 분포를 뽑아, 역볼츠만 관계로 유효 퍼텐셜을 역산한다. “자연에서 자주 관측되는 배치는 에너지가 낮을 것”이라는 통계적 가정에 기댄다.
근래에는 머신러닝 스코어링 함수(RF-Score 계열, 3D CNN 등)가 붙고 있는데, 결국 대리 모델을 학습시키는 일이라 데이터 편향과 일반화 문제를 그대로 물려받는다. 벤치마크 점수가 높아도 학습 세트와 유사한 표적에서만 좋더라는 지적이 반복된다.2
4. 탐색 알고리즘[편집]
- 체계적 탐색 / 앵커-앤-그로우 — 리간드의 강체 조각(앵커)을 먼저 앉히고, 회전 결합 하나씩 붙여가며 가지치기한다. FlexX와 초기 DOCK 계열의 방식.
- 몬테카를로 방법 / 담금질 — 무작위 변형 후 메트로폴리스 기준으로 수용·기각. 온도를 서서히 낮춰 전역 최소를 노린다.
- 유전 알고리즘 — 자세를 유전자(6+n 실수 벡터)로 인코딩하고, 교배·돌연변이·선택으로 세대를 굴린다. GOLD가 대표. AutoDock 4의 기본값인 라마르크식 GA는 여기에 국소 최적화 결과를 유전자에 되먹여, 진화론적으로는 틀렸지만 수치적으로는 잘 통하는 접근을 취한다.3
- 반복 국소 탐색 — Vina의 방식. 무작위 섭동 후 기울기 기반(준-뉴턴법 계열 BFGS) 국소 최적화를 반복한다. 해석적 기울기를 쓰기 때문에 AutoDock 4 대비 체감 속도가 크게 빠르다.
5. 강체 도킹과 유연 도킹[편집]
- 강체-강체 — 1980년대 초 쿤츠의 DOCK가 시작한 원조. 형상 상보성만으로 자물쇠-열쇠를 맞춘다. 지금은 단백질-단백질 도킹 초기 단계 정도에 남아 있다.
- 유연 리간드 + 강체 수용체 — 오늘날의 표준. 격자 사전계산을 쓸 수 있는 것이 바로 이 가정 덕분이다.
- 유연 수용체 — 현실은 자물쇠도 움직인다(유도 적합, induced fit). 곁사슬만 회전시키거나, 분자동역학 궤적에서 여러 수용체 구조를 뽑아 각각에 도킹하는 앙상블 도킹으로 우회한다. 비용은 구조 개수만큼 곱해진다.
여기에 결합 부위의 구조 물 분자를 남길지 지울지, 히스티딘의 양성자화 상태를 어떻게 줄지 같은 준비 단계 결정이 결과를 뒤집는다. 도킹 초보가 가장 많이 지는 곳이 알고리즘이 아니라 이 준비 단계다.
6. 정확도의 한계와 후속 검증[편집]
정직하게 말하면 이렇다. 자세 예측은 쓸 만하고, 점수 예측은 아직 아니다. 좋은 조건(결합 부위가 잘 정의되고, 리간드가 지나치게 유연하지 않고, 수용체 구조가 그 리간드와 함께 풀린 것)에서 상위 자세가 실험 구조와 2 Å 이내로 겹치는 비율은 준수하다. 반면 도킹 점수와 실험 결합 상수의 상관계수는 벤치마크에서 흔히 0.5 안팎에 그치고, 표적을 바꾸면 그마저 무너진다. 애초에 자유에너지를 1 kcal/mol 수준으로 맞히려면 볼츠만 인자상 때문에 친화도가 5배 이상 갈리는데, 초 단위 계산에 그걸 기대하는 것 자체가 무리다.
그래서 도킹은 거르는 체로 쓰고, 살아남은 소수만 비싼 방법으로 다시 본다.
- 도킹 — 수백만~수십억 개 라이브러리 → 상위 수천 개. 화합물당 수 초.
- 분자동역학 재정련 — GROMACS 등으로 복합체를 수십~수백 ns 돌려 자세가 유지되는지 본다. 도킹이 만든 억지 자세는 여기서 대개 풀려나간다.
- 말단점 자유에너지(MM/PBSA, MM/GBSA) — 궤적에서 근사 결합 에너지. 중간 비용, 중간 신뢰도.
- 자유에너지 섭동(FEP/TI) — 연금술적 경로로 두 리간드의 상대 자유에너지 차이를 통계역학적으로 정확히 계산. 잘 세팅하면 1 kcal/mol 수준에 접근하지만, 화합물 쌍 하나에 GPU 시간을 며칠 태운다.
이 피라미드의 각 단계는 앞 단계가 틀린 후보를 걸러 올렸다면 아무 소용이 없다. 도킹의 위양성(false positive)은 아래 단계 전체를 오염시킨다는 뜻이고, 이것이 검증 및 확인이 이 분야에서 유독 시끄러운 이유다.4
7. 관련 문서[편집]
8. Footnotes[편집]
-
도킹 점수를 결합 자유에너지 실측값처럼 소수점 둘째 자리까지 보고서에 적는 순간, 그 보고서는 화학자에게 신뢰를 잃는다. 순위(rank)로 쓰라고 만든 숫자다. ↩
-
리간드 정보만 가리고 학습시켰더니 성능이 별로 안 떨어지더라는 실험이 여럿 보고되었다. 모델이 상호작용이 아니라 “이 화합물류는 활성”이라는 편향을 외웠다는 뜻이다. ↩
-
개체가 살면서 얻은 형질(국소 최적화된 자세)이 유전자에 기록된다는 설정이라 라마르크식이다. 생물학적으로는 폐기된 이론이지만 최적화 알고리즘으로는 잘 작동한다. 자연은 안 그래도 우리 코드는 그래도 된다. ↩
-
스크리닝 성능은 보통 농축 계수(enrichment factor)나 ROC AUC로 평가하며, DUD-E 같은 디코이 세트를 쓴다. 다만 디코이 세트 자체에 물성 편향이 있어 “잘 나온 벤치마크”가 실전 성능을 보장하지 않는다는 비판이 오래 이어지고 있다. ↩