AI
단백질 구조 기반의 약물 설계 - Docking 환경 설정
Molecular docking은 신약 개발에서 리간드와 수용체 간의 결합 구조를 예측하는 핵심 기술입니다. 그러나 Thoroughness, scoring function, flexible residue 설정과 같은 환경 구성에 따라 결과가 달라질 수 있다는 사실, 알고 계셨나요? 도킹의 한계를 극복하고 이를 연구에 어떻게 활용할 수 있을지 함께 알아보시죠!
이세한 AI 연구2팀 팀장
2024.11.297min read
분자 모델링 분야에서 molecular docking은 두 분자의 상호작용을 분석하여 안정적인 결합 구조를 예측하는 것을 목표로 합니다. 신약개발에서는 주로 화합물과 표적 단백질의 결합 구조를 예측하기 위해서 사용됩니다. 이 때 화합물을 ligand, 표적 단백질을 receptor라고 표현합니다.
성공적인 docking 수행을 위해서는 단백질 구조의 선택, binding site 정의, 그리고 환경 설정에 대한 철저한 고려가 필요합니다.
도킹(Docking) 프로그램의 구성 요소
Docking 프로그램의 환경 설정을 설명해 드리기에 앞서, docking의 구성 요소를 간단하게 소개하겠습니다.
- 도킹(Docking) 알고리즘
- Ligand와 receptor의 다양한 결합 구조를 생성하는 과정입니다. 생성된 구조는 scoring function에 의해 평가됩니다.
- Rigid docking: ligand와 receptor의 형태(conformation)가 고정된 상태에서 ligand를 rotation & translation합니다.
- Flexible docking: ligand의 형태 변화가 추가로 고려됩니다. Binding site를 구성하는 일부 side chain의 형태 변화가 허용하기도 합니다. 형태 변화는 보통 rotatable bond의 비틀림 각 (torsional angle) 변화를 통해 이루어지며, 일부 프로그램에서는 ring 구조의 형태 변화까지 고려할 수 있습니다.
- Scoring function
- 결합 친화도를 계산하기 위해 사용되는 수학적 모델입니다.
- 생성된 receptor-ligand 결합 구조의 상대적 안정성을 점수로 평가합니다.
- 물리 기반 scoring function: Force field를 사용하여 분자 간의 상호작용을 계산하며 hydrogen bond, electrostatic, vdw, entropy 등을 고려합니다.
- Empirical scoring function: 알려져 있는 protein-ligand 결합 구조와 binding affinity 데이터를 기반으로 학습된 모델입니다. 단순한 형태로 계산 속도가 빠른 장점이 있지만 학습 범위를 벗어나는 경우 계산 정확도를 보장할 수 없는 제한이 있습니다.
- Consensus scoring function: 서로 다른 scoring function에서 얻어진 점수를 종합해서 평가하는 방식입니다. 연관성이 높은 scoring function들을 사용할 경우 변별력이 낮아질 수 있음으로 주의가 필요합니다.
- 최적화 알고리즘
- 최적화 알고리즘은 손실 함수의 값이 최소화되는 변수 값들을 찾는 것을 목표로 합니다. Docking에서 손실 함수는 score function이 사용되며, 변수는 ligand의 형태와 위치를 정의하는 torsional angle, center, rotation angle 등을 포함합니다. 즉 최적화 알고리즘은 score 값이 낮아지는 방향으로 변수들을 수정하여 ligand-receptor 결합 구조가 안정한 구조로 최적화될 수 있도록 합니다.
- Genetic algorithm, simulation annealing, random walk 등 다양한 기법이 사용될 수 있습니다.
도킹(Docking) 환경 설정
Docking의 환경 설정은 위 3가지 구성 요소와 관련이 있습니다. 환경 설정에 따라 정확성과 소요 시간이 달라지기 때문에 효율적인 연구 수행을 위해서는 사용하는 프로그램을 이해하고 적절히 활용하는 노력이 필요합니다. 옵션의 종류와 설정 범위는 프로그램에 따라 다를 수 있습니다.
- Thoroughness (Exhaustiveness)
- Docking 과정에서 receptor-ligand 결합 구조 탐색을 얼마나 열심히(철저히) 진행할지를 정의하는 값입니다. Thoroughness 값이 높이면 더 많은 탐색이 이루어져 docking 결과의 정확성과 재현성이 향상될 가능성이 높아집니다. Docking 과정에서 탐색은 random 변수를 사용하기 때문에 같은 receptor-ligand 조합이더라도 실행마다 결과가 달라질 수 있습니다.
- 일반적으로 회전할 수 있는 single bond의 수는 분자 구조의 유연성을 정의하는 기준이 됩니다. Single bond의 수가 늘어날수록 분자 구조가 유연해지고 이는 탐색 범위의 확장을 의미합니다. Single bond가 30° 간격으로 회전한다고 가정하면 3개의 single bond가 있는 분자는 1728개((360°/30°)^3)의 구조를 가질 수 있습니다. 만약 thoroughness가 충분히 높지 않을 경우 이 중 일부만 탐색하게 되고 (예를 들어 1728개 중 1000개) 이는 최적의 구조 탐색에 실패할 가능성이 높아진다는 것을 의미합니다.
- 반대로 thoroughness가 지나치게 높을 경우 불필요하게 많은 탐색이 이루어질 수 있습니다. 또한 thoroughness 값이 높아지면 계산 시간도 증가하기 때문에 대량의 docking을 수행할 경우 계산 비용이 과다하게 높아질 수도 있습니다. 따라서 적절한 값을 설정하기 위한 노력이 필요합니다.
- 결합 구조 수
- 일반적으로 docking 프로그램들은 다양한 결합 구조를 탐색하고 10개 정도의 binding pose와 score 값을 제공합니다. 일반적으로 10개 정도의 binding pose는 충분한 수이지만 ligand가 매우 유연하거나 flexible docking을 적용하는 등 매우 다양한 conformation이 가능한 경우에는 더 다양한 pose를 검토할 필요가 있습니다.
- Binding pose의 적절성을 평가하는 방법의 하나는 key interaction 형성 여부를 확인하는 것입니다. 예를 들어 kinase inhibitor의 경우에는 hinge binding을 필수적으로 형성하는 것으로 알려져 있습니다. Hyper Lab의 3D viewer를 이용하면 이러한 결합 구조 분석을 편리하게 진행할 수 있습니다.
- Scoring function & 최적화 알고리즘
- 프로그램에 따라 다양한 scoring function과 최적화 알고리즘을 제공합니다. 각 scoring function과 최적화 알고리즘의 특성을 파악하고 적절히 활용한다면 더 나은 예측 결과를 기대할 수 있습니다.
- 일반적으로 물리 기반 scoring function은 구조 예측에 강점을 보이는 경향이 있습니다. 이에 반해 최근 많은 연구가 이뤄지고 있는 deep-learning 모델들은 x-ray 구조를 기반으로 활성을 예측하도록 학습되어 활성 예측에 강점을 보이는 경향이 있습니다. Hyper Lab의 Hyper Binding은 물리-딥러닝 융합 알고리즘을 적용하여 활성과 구조 예측 모두에서 최상위 수준의 성능을 보여주고 있습니다.
- Flexible residue 설정
- Receptor 구조의 유연성이 높을 경우 docking 과정에서 이를 적절히 반영해 주는 것이 필요합니다. 결합하는 ligand에 따라 receptor 골격 구조의 변화가 클 경우에는 2개 이상의 단백질 구조를 사용하는 것을 고려할 수 있습니다. Binding site를 구성하는 residue 중 일부가 ligand에 따라 다양한 구조를 갖는 경우에는 docking 과정에서 이 residue의 구조 변화까지 함께 탐색하는 방법을 사용할 수 있습니다.
- Flexible residue를 추가할 경우 탐색 범위가 크게 확장됩니다. 이 경우 계산 시간이 많이 늘어날 수 있으며 오히려 예측 정확성이 낮아질 우려가 있기 때문에 적절한 테스트를 통해 전략을 검토할 필요가 있습니다.
이제 단백질-약물 결합 구조와 예측을 위한 docking 환경 설정이 마무리되었습니다. Docking의 예측 결과는 분석을 통해 비판적으로 활용하는 것이 바람직합니다. 다음 글에서는 docking의 한계를 분석하고 이를 합리적으로 활용하는 과정에 대해서 살펴보겠습니다.