Drug/Computer-Aided Drug Discovery

Protein-ligand binding affinity 예측에 대해서

Novelism 2021. 10. 25. 22:12

 

protein-ligand binding affinity 예측과 비슷한 용어가 여러 가지 있습니다.

Drug target interaction (DTI), binding affinity prediction, receptor-ligand interaction 

보통 약물 타깃이 단백질인 경우가 많고, 결합에선 상대적으로 큰 분자를 receptor, 작은 분자를 ligand라고 부르기도 하고, ligand가 약물인 경우가 많아서 이 용어들은 거의 비슷한 의미라고 볼 수 있습니다. affinity 값 자체를 예측하는 대신 결합 여부만을 예측하기도 합니다. 

 

그냥 편의상 DTI라고 부르겠습니다.

 DTI 예측에 대한 접근방법은 크게 informatics based method와 physics based method 두 가지로 나눌 수 있습니다. 

 이외에도 유전체나 다른 실험적 정보들을 더 사용하는 것도 있지만, 그것은 또 다르게 분류해야 합니다.

 

 informatics based method의 기본 관점은, 단백질과 리간드에 대해서, 어떤 단백질과 어떤 리간드가 결합 여부는, 그와 유사한 단백질, 혹은 그와 유사한 리간드의 결합 여부와 유사하다는 것입니다.

 예를 들자면, 같은 패밀리에 속하는 HER1과 HER2는 포켓 구조가 유사한데, HER1에 결합하는 약물은 HER2에도 결합할 가능성이 높고, HER1에 결합하지 않는 단백질은 HER2에도 결합하지 않을 가능성이 높습니다. HER1에 결합하는 약물이 있다면, 그 약물과 구조(scaffold, fragment, pharmacophore)가 유사한 약물은 HER1에 결합할 가능성이 높습니다. 

 이런 정보를 최대한 활용하는 것이 informatics 기반 접근방법입니다. 이런 접근방법이 단백질과 리간드 사이의 상호작용의 원리를 직접적으로 학습한 것은 아니죠. 즉, 전혀 새로운 타입의 단백질과 리간드가 들어왔을 때 예측이 어렵습니다. 또한 약물 구조가 조금 달라졌을 때 결합력이 크게 달라질 수 있지만, 이 접근 방법은 학습 셋에서 그런 데이터가 포함되어있지 못했다면 작은 약물 구조의 변화에 의한 큰 결합력의 차이를 예측하기 어렵습니다. 이에 해당되는 사례로 pharmacophore 모델이 있습니다. 

 

 물리학적인 접근방법은 조금 다릅니다. 물리학은 일반 원리를 추구합니다. 뉴턴은 사과가 떨어지는 것과 행성이 항성의 둘레를 도는 것이 동일한 원리에 의해서라는 것을 알아냈습니다. 단백질과 약물의 상호작용의 원리를 기반으로 약물과 단백질 사이의 결합력을 예측하는 방법입니다. 도킹 프로그램이나 분자동역학 시뮬레이션은 기본적으로 이런 관점에 가깝습니다.  

 

 저는 물리학 전공이지만 단백질 분야에 들어온 후 물리학에 대해서 상당히 신뢰를 잃었습니다. 물리학으로 되는 것이 너무 없어서요. 뭐 절대 안 된다 무쓸모다 그런 건 아닙니다만... 70 정도의 거친 작업은 informatics로 해결하고 나머지 중 30의 세심한 작업에 물리학이 필요한 정도입니다. 단백질 구조예측으로 하자면, 물리학만 가지고 구조 예측하라면 30점밖에 안 나오는데, informatics로 하면 60점 정도 나옵니다. informatics에다가 물리학을 추가하면 80점까지 올라갑니다. 

 단백질-약물 결합도 물리학 만으로 풀기는 어려운 문제입니다. 양자 계산 같은 정밀한 계산을 하면 결과가 잘 나올지도 모르지만, 너무 느려서 선별용으로 사용하기 적절하지 않습니다. 분자동역학만 해도 느려서 대량 스크리닝에 사용하긴 어렵습니다. 딥마인드가 단백질 구조예측에서 성공한 것처럼 머신러닝으로 단백질-약물 결합을 정확히 예측할 수 있을 것이라 생각하는 사람도 있지만, 저는 이것은 경우가 좀 달라서 쉽진 않다고 생각합니다. 단백질 구조예측은 문제가 나름대로 잘 정립되고 PDB를 통해서 일관되게 데이터가 저장된 분야입니다. 약물-단백질 결합 데이터는 데이터가 잘 정제되어 있지도 않고, 분자 공간에 비해서 데이터는 상당히 적습니다. 단백질은 패밀리의 수를 1000~2000으로 추정하니까 웬만한 단백질들은 이미 유사 구조가 알려져 있을 가능성이 높다는 가정을 할 수 있습니다. 서열만 보고도 정렬을 얼마나 잘하는가가 중요한 문제였던 거죠. 단백질과 약물도 결합 구조를 예측한다면 어느 정도 가능성이 높지만, 단백질과 결합하지 않는 약물에 대해선 애초에 결합구조라는 것이 없습니다. 그렇다고 구조 없이 결합력 예측을 하기도 어렵고요. 

 그리고 가장 좋은 구조를 찾는 것과, 그 구조의 에너지 값을 찾는 것은 사실은 다른 문제입니다. 단백질 구조 예측은 전자였는데, 그런 모델이 있다고 해서 후자가 잘 풀릴지는 모릅니다. 

 

 아무튼... 인공지능 기반 DTI 도 성향에 따라서 informatics based와 physics based로 나뉩니다. 

단백질과 리간드의 docking 구조를 기반하는 것이 후자, 단백질의 서열이나, 단백질 구조만을 보는 것이 전자에 가깝습니다. 방법론마다 실제로 머신이 무엇을 보고 무엇을 어떻게 판단하는지 생각해봅시다. 

 docking 구조 없이 단백질의 서열이나 단백질의 구조만을 보고 약물과의 결합력을 예측하는 방법에 대해 생각해봅시다. 예측해야 할 타깃이 A이고 약물이 B라면, A와 B 사이에 상호작용을 예측하기 위해선 training set에 타깃 단백질 A가 있거나, 아니면 A와 서열 기반이라면 서열이, 혹은 구조 기반이라면 구조가 유사한 단백질  A' 이 있어야 합니다. 그리고 DB에 A 혹은 A'과 B의 유사약물 B' 이 있어야 합니다. 

학습은 아니지만, 머신러닝의 예측과 유사한 방법 중에서 nearest neighbor method라는 방법이 있습니다. 데이터 X로부터 어떤 값 Y를 추정할 때, X와 유사한 데이터로부터 Y값을 (1st nearest의 값을 그냥 가져오거나, 2nd nearest, 혹은 3rd nearest을 평균하거나) 추론하는 방법입니다. 머신러닝이 하는 일도 기본적으로 이와 크게 다르지 않다고 봅니다. 다만 유사성을 추정하는 방법이 좀 더 개선되었고, 학습을 통해 데이터의 정보가 파라미터에 반영되었기에 (모델로서) 매번 탐색을 할 필요가 없다는 점 정도가 다릅니다. 

이 그림에서 생각한다면, 빨간 점들이 training data이고, 녹색 선의 x 좌표값이 예측해야 할 data입니다. 

 nearest neighbor method 라면 녹색선에 가장 가까운 빨간 점이 가지는 y값들을 평균해서 y값을 예측할 수 있습니다. 일종의 인터폴레이션이라 할 수 있습니다. ML 은 어떠한 모델을 가지고 있고, 그 모델은 파라미터를 가지고 있습니다. 그 모델에서 X에 대한 Y값이 데이터의 값과 유사해지도록 파라미터를 튜닝하는 과정이 학습입니다. 위 그림에서 보이는 파란 선이 학습된 ML에 해당됩니다. nearest neighbor method에서도 distance에 대해 파라미터를 도입하고 학습하는 과정이 가능하다는 것을 생각하면 결과는 ML과 크게 다르지 않을 수 있습니다. 

 

만약 저에게 약물을 찾아야 하는 단백질 A가 주어지고, 단백질 A에 대해 상호작용 여부가 알려진 약물이 전혀 없다면, 저는 일단 단백질 A의 패밀리에 대한 정보를 수집할 것입니다. 그리고 그중에서 만약 약물 B가 결합한다고 알려져 있다면, 저는 단백질 A에 대해 결합하는 가장 적절한 후보로서 약물 B를 추천할 것입니다. affinity 값은 동일하다 라고 예측할 것입니다. (사실 같은 패밀리끼리는 affinity값이 상당히 유사합니다.) 머신러닝도 기본적으로 이런 관점에서 작동하는 것입니다. 이것도 조심할 점이 많습니다. 일단 예측에 대한 레졸루션이 높기는 어렵습니다. 예측 정확도와는 의미가 좀 다릅니다. 일단 분자 구조 자체는 좋은데, 뭔가 분자에 혹 하나 튀어나왔을 때 그 결합력의 변화가 생각보다 클 수 있지만, 그런 것을 잘 예측하지 못한다는 의미입니다. 일단 약물은 포켓에 들어갈 수 있어야 한다는 게 중요한데, 혹하나 더 달아서 못 들어가게 만들 수도 있으니까요. 아무래도 이런 경우는 docking을 사용하는 편이 좀 더 유리합니다. 그리고 이 방법으로 신규성이 있는 약물을 찾는 것은 어렵습니다. 하지만 연구자의 입장에서, 연구 데이터가 없는 단백질에 대해 약물을 개발해야 할 때, 참고할 약물이 생긴다는 것만으로도 큰 도움이 됩니다. 적어도 그 약물에서 pharmacophore 나 fragment를 찾아낼 수 있다면, 새로운 분자를 디자인할 때 유용합니다. 

 

하지만 저는 informatics based ML만 가지고 약물의 디테일한 구조 변화의 효과까지 잘 예측하는 머신을 만들 수 있다고는 현 단계에선 기대하지 않습니다. 

 그리고 현재 ML에서 많이 사용하는 분자의 descriptor는 scaffold 유사성 위주이고, pharmacophore 유사성이 잘 고려되기 어렵습니다. graph neural network 도 마찬가지입니다. 약물 상호작용에선 pharmacophore 유사성이 중요합니다. 그런데 특허는 scaffold 유사성 기반에 가깝습니다. pharmacophore 유사성 기반 descriptor를 사용한다면, 특허를 피할 만큼 신규성이 있으면서도 예측 정확도가 높은 분자를 탐색할 수 있을 것 같긴 한데 그런 descriptor를 만드는 것이 쉽지 않네요.