Drug/Computer-Aided Drug Discovery

의약화학

Novelism 2021. 4. 29. 22:55

 

 인공지능/컴퓨터 기반 신약개발을 연구하려고 한다면, 무엇을 해야할까? 라고 질문한다면

저는 일단 의약화학 (0medicinal chemistry)을 공부 해야 한다고 대답하고 싶습니다.

 

 전 직장에서 저에게 "약을 만든다면서 의약화학을 공부하지 않고서 어떻게 약을 만들 수 있겠습니까?" 라고 하셨던 분이 있습니다. 저는 그 말에 충격을 받고 의약화학책을 열심히 읽었는데, 거기엔 온갓 신약개발 사례들이 적혀 있었습니다.

 제대로된 경험도 없는 벤처 회사 입장에선, 신약을 개발해본 경험이 있는 사람 한명이 있다면 얼마를 주고서라도 데려와야 할 것입니다. 그런데, 많은 신약개발 경험들이 담긴 책을 무려 저렴한 가격 10만원 이하에 살 수 있다면... 이것을 공부 안하는게 오히려 이상한 일일 것입니다.

 제가 이분야에서 회사나 사람을 평가할 때 의약화학을 공부했는가 아닌가를 중요한 지표로 제시할 수 있다고 생각합니다. 물론 의약화학자를 고용한 회사도 있긴 하지만, 그분들을 어떻게 활용하는지가 문제이고, 컴퓨터 기반이나 인공지능 기반의 사람들과 얼마나 긴밀하게 소통하고, 그것들이 신약개발 진행절차에 어떻게 반영되는가가 문제이겠죠.

기계학습은 단순한 컴퓨터 알고리즘이 아니고, 통계 분석에 가깝습니다. 지금은 많은 석학들과, 인공지능으로 사업을 하는 회사들도 모델 아키텍처 뿐만 아니라 데이터가 중요하다는 이야기를 하고 있습니다. 자신이 해야할 일이 무엇인지, 자신이 이용하려는 데이터가 무엇인지 이해하지 못해선 유용한 것을 만들어낼 수 없습니다.  

 그냥 아주 기초적인 통계 이야기를 해봅시다. 가상의 모집단을 가정하는데, 우리는 그 모집단의 분포를 모릅니다. 우리는 데이터를 가지고 있습니다. 그리고 그 데이터로부터 모집단의 분포를 유추합니다. 통계학에선 샘플링된 데이터가 (랜덤으로 추출되었다면) 모집단을 대표할 것이라고 기대하고 시작할 것입니다. 그런데, 현실에서 접근할 수 있는 데이터가 정말로 모집단을 대표할만한 데이터일까요? 특히 신약개발 분야에서 사용하는 데이터가?

 데이터를 만드는데도 막대한 돈이 소모되는데... 순전히 데이터를 만들기 위해서 라는 이유로 만든 데이터가 아니라, 여기저기에서 서로 다른사람들이 서로 다른 이유로 실험한 결과들을 모아서 데이터베이스화 한 데이터가... 어떤 분포를 이룰까요? 상당히 편향되어 있으며, 유사도가 상당히 높은 데이터들이 몰려있습니다. 왜냐하면 특정 사람이 하나의 유효물질을 찾으면, 그와 유사한 구조들을 만들어서 실험해보기 때문입니다. (이미 옵티마이즈까지 진행된 것들) High-throughput screening (HTS)이라도 하지 않고서는 전 공간을 고르게 탐색하는 일은 별로 없습니다. 그런데 HTS 데이터를 누가 공개하려고 할까요? 그것도 신약개발을 위해서 돈 많이 들여서 생산한 데이터인데? 필요하다면 직접 돈들여서 실험해야죠.

 

 기계 학습에선 흔한 데이터보다는 오히려 특수한 상황에 대한 데이터가 필요할 때도 있습니다. 자율주행을 위해선 온갓 돌발 상황에 대한 데이터가 필요합니다. 예를들어 도로에 크랙이 있거나 사고가 났거나 기타 위험요소들... 이런 데이터에 대한 학습이 없다면 위기 상황에 대한 대처 능력이 떨어질 것입니다. 그러면 이런 데이터를 어떻게 수집할 것인가... 이런것들이 고려되어야만 합리적인 사업모델을 만들 수 있습니다.

 신약개발에선 유효 분자 하나를 가져다가 특정 위치에 작용기를 하나 더 붙이는 것을 생각해볼 수 있습니다. 그런데 똑같은 작용기를 어느 위치에 붙이는가에 따라서 유효성이 크게 달라질 수 있습니다. 단백질 구조 기반으로 생각한다면, 단백질에 속한 원자가 있어야 할 위치에 뭔가 혹같은 것이 붙어버려서 크래시가 생기고 binding pose가 크게 달라질 것으로 설명할 수 있습니다. 하지만 단백질 구조 기반이 아닌 (리간드 기반) 기계학습은 데이터가 매우 밀도 높게 존재하지 않는 한, 분자에서 어느 부분에 작용기가 붙었을 때 크래시가 발생할지를 제대로 예측하기 어렵습니다.

 

신약개발 분야에서 현존하는 쉽게 수집할 수 있는 데이터를 가지고 만든 리간드 기반 기계학습 예측 모델이나 생성모델들은, 대부분 특허를 피하기 어려울만큼 학습 데이터에 포함된 분자와 유사한 것들만을 예측 혹은 생성하거나, 특허 분자와 유사도가 떨어질 경우는 예측 정확도가 크게 낮아지는 문제가 있습니다. 또한 생성모델의 경우는 합성 검토도 제대로 되어있지 않습니다.
 또한 리드 옵티마이즈의 경우, 인간 전문가라면 특정 분자의 대사에 대한 취약점을 찾거나 어떠한 문제점으로부터 분자를 수정해나가는데, 여전히 머신러닝에선 그냥 이유나 목적을 제시하지 않고 유사한 분자들을 생성하려 할 뿐입니다.

 

 저는 이런식으로 신약개발분야에 맞지 않는 인공지능 모델을 쓰지 말고, 의약화학지식을 사용해야 한다고 생각합니다.

 기계학습은 대부분 인간이 못하는 것을 잘하지 못하고, 인간이 잘하는 것을 인간보다 더 빠르게 할 수 있다는 것이 장점입니다. 그렇다면, 인간 전문가 의약화학자가 약을 만드는 방식을 컴퓨터 알고리즘과 기계학습으로 구현한다면, 합리적이면서도 상당히 빠르게 사람보다 더 많은 분자를 검토할 수 있게 되는 것입니다. 뭐 저도 일단 회사에 소속된 입장이라서 의약화학책을 읽고 생긴 아이디어를 그대로 공개할 순 없지만... 인공지능이 뜨기 전부터 신약개발에 컴퓨터가 활용되어왔고, 의약화학책에도 컴퓨터 기반 접근방법들이 여럿 소개되어있습니다. 그런 방법들을 공부해보면 거기에 기계학습이나 강화학습을 어떻게 적용해야 할지가 보일 것입니다.

 저는 컴퓨터 시뮬레이션 기반으로 경력을 쌓아왔기에 처음 의약화학책을 볼 때는 컴퓨터 기반 방법, 단백질과 분자 사이의 상호작용들을 위주로 봤는데, 거기에 국한되어서는 안됩니다. 각각의 타겟 단백질에 대해서 실제로 어떻게 약을 개발했는지 한 단계 한단계 보다보면 훨씬 많은것이 보입니다. 아마도 자신이 약물을 개발해야할 타겟 단백질과 유사한 특성을 지닌 것들이 예제로 나와있을 수도 있습니다.

 저는 물리학을 전공하였고, 물리학의 지향점은 모든 현상을 설명할 수 있는 기초적이면서도 단순한 법칙을 찾는 것이지만, 결코 그런 방법으로 할 수 있는 일이 많지 않습니다. 특히나 생물학에선 상당수의 원초적 질문에 대한 답은 "그때 그 때 달라요." 입니다. 단백질 구조 예측 연구를 하면서 그런 것을 여러번 느꼈습니다.

 그냥 생물학이 얼마나 일관성 없는지에 대해 쉬운 예시를 들어보죠.
동물의 성은 어떻게 결정되나요? 인간의 경우 XX (동형)과 XY (이형)가 있는데 동형이 암컷, 이형이 수컷입니다.

하지만 다른 동물의 경우 동형이 수컷, 이형이 암컷인 경우도 있습니다. (예시가 기억 안나네요.)

또 다른 경우 (악어), 부화온도에 따라서 성별이 결정됩니다.

또 다른 경우 (일부 어류) 암컷으로 태어나서 어느날 수컷으로 성전환 합니다.

현대인의 경우 병원에서 성전환 수술 합니다. 그리고 정부에 성별 정정 신청 합니다. 
 마지막 것은 굳이 농담으로 넣은게 아니라, 우리는 진화에 대해서 자연선택설 이라고 배웠지만, 이미 오래전부터 품종개량 등의 영역에선 자연선택이라기보다는 인간선택에 의한 결과물이 나오고 있고, 지금은 유전자 조작까지 가능한 수준에 이르렀기 때문에 앞으로도 우리의 지식이 적용되지 못할 수도 있다는 의미입니다.

그게 좋은일이거나 나쁜일이거나...

 아무튼 잡소리가 들어갔지만, 결국 하고 싶은 말은
"의약화학책 공부할 때 전체 다 봐야하나요? 아니면 어디 일부분만 봐도 되나요?" 라는 질문에 대해서, 바이오 분야에선 일반 원리를 찾기 어려울 수도 있으니 다양한 문제를 푸는 실제 사례들을 많이 공부해두는게 좋다 (그냥 책 전체 제일 앞부터 제일 뒤까지 다 봐라)는 것입니다.
"약 만들겠다며 의약화학 공부 안하냐"는 말 듣기 전까지는 저도 저런 질문을 하면서 제가 알 수 있는 부분만 공부했는데... 결국은 다 봐야한다. 알수록 도움된다 가 답이었습니다.