Drug/Computer-Aided Drug Discovery

FragDockRL

Novelism 2025. 8. 14. 09:42

 

오랜만에 논문을 썼습니다.

마지막 논문이 2019년도였으니 한참 전이네요. 

그동안 회사 다니면서 딱히 논문을 써야 할 필요가 없어서 잘 쓰지 않고 있었습니다.

뭐 정부 과제 실적을 위해서 쓰라고 강요하는 사람들이 있긴 했지만,

 제가 납득할만한 논문이 될만한 연구는 아니었습니다. 

 

https://www.biorxiv.org/content/10.1101/2025.08.12.670002v1

 

 

 

https://github.com/novelism/FragDockRL

 

GitHub - novelism/FragDockRL: Licensed under a Custom Non-Commercial License. Commercial use requires permission.

Licensed under a Custom Non-Commercial License. Commercial use requires permission. - novelism/FragDockRL

github.com

 

아직 저널에 제출하진 않았습니다.
사실 초안이고, 좀 더 수정을 한 후에 저널에 투고할 예정입니다.
이런저런 이유로 아카이브에 먼저 올릴 필요가 있었습니다.

아카이브는 내려면 관련 분야 사람들의 추천이 있어야 한다고 해서 못 올리고 바이오아카이브에 올렸습니다. 

 

합성 반응식을 이용한 빌딩블록 가상 조립을 강화학습과 접목하여 합성 경로를 활용한 분자 생성을 하려는 것이 목표이고,

리워드로 tethered docking 을 사용하여, 리간드의 core 구조를 알고 있을 때 이로부터 분자를 성장시켜 나가는 접근방법을 사용했습니다. 

 뭐 이미 의약화학에서 많이 사용되는 접근방법을 컴퓨터로 구현한 것 뿐입니다. 

생각보다 새로운 아이디어는 별로 없고, AI라서 가능하게 된것도 별로 없습니다. 

요즘 유행하는 diffusion model 방식의 포켓구조를 활용한 분자 생성도 유사한 접근방법의 CADD 관련 툴이 있다는 것을 의약화학책을 보고 알고 있었습니다. AI를 통해서 성능이 좀 더 향상되는 것은 기대할 수 있겠습니다만... 

 

 원래 이 연구를 하려고 생각했던건 한 2019년부터였던 것 같네요. 

 당시 만난 의약화학자와 연구 관련 미팅을 하면서 실제로 합성을 어떤 식으로 하는지 이야기를 듣고 (역합성 분석) 

 그것을 활용한 컴퓨터 알고리즘으로 구현하면 되지 않을까? 라고 생각하면서부터 하려고 마음먹었습니다. 

 그부분이 building block 가상 반응으로 조립하는 내용입니다.

 여기다 도킹 스코어를 리워드로 강화학습을 사용하면 되겠다는 생각을 했습니다. 

 이당시에 가상 반응에 머신러닝을 이용할지, 아니면 알려진 반응식을 사용할지 고민하고 자료를 찾았던 기록이 보이네요. 

 

 그후 이직하면서 그 첫 과정을 준비했지만, 중간에 다른 사람에게 그 연구를 넘겨주게 되면서, 연구는 제가 원하지 않는 방향으로 진행되어 버리면서 그 연구에 관여하지 않았습니다. 그 연구에서는 강화학습에서 도킹 스코어를 리워들로 쓰는 내용만 구현하고, 합성 반응식을 이용하지는 않았습니다. 그리고 tethered docking을 사용하지 않았습니다. 음... 이 부분에 대해서는 제가 예시 코드를 만들어서 제공했던 것 같은데... 아쉽네요. 

 

 그 후로도 이 연구를 다시 하려고 했지만, 시간을 내기가 어렵고, 무엇보다도 연구 동기가 미약했습니다. 내가 쓰기 위한 툴을 만드는게 목표인데, 당시에 계속 분자 설계 연구에서 멀어지고 있었으니까요. 

 개인사업자로 일하게 되면서 제일 먼저 한 일이 이 연구입니다. 저는 화학적 지식이 부족하기에 이 연구를 하기 위해서 두분의 도움을 받았습니다. 

 처음으로 돌아가는 코드를 만드는데는 코드 작성을 시작하고 1주일 정도 걸렸습니다. 그 후로 이것저것 손보긴 했지만... 정작 만드는 데는 시간이 얼마 걸리지 않았습니다. 그러다 작년 5월쯤, 비슷한 아이디어로 쓴 논문이 나온 것을 봤습니다. 좀 신기하더라고요. 어떻게 5년간 아무도 안한 연구가 이제 와서 튀어나왔는지... 차이점이라면 저는 tethered docking을 사용했다는 점 정도입니다. 

  그 메소드 이름은 SynFlowNet입니다. 최근 논문을 작성하면서 인용하려고 다시 읽다가 전에 본 논문이 아닌 것 같아서 놀랐습니다. 리비전 하면서 상당히 많이 고쳤더라고요. 이전 버전에는 생성된 분자의 합성 가능성을 검토하기 위해, 합성 경로를 찾아주는 AI 툴을 사용하는 좀 납득하기 어려운 방법을 사용했었는데, SciFinder를 사용했으면 몰라도 이것은 통용되기에는 어려운 방법 같았습니다. 지금 버전에선 이 내용은 빠져있네요. 

 아무튼 FragDockRL은 1년 전에 만들고 논문에 쓸 예시 결과까지 나와있었습니다. 원래는 실제로 분자를 합성하고 실험을 하고 논문을 쓰려 하였으나, 예상대로 진행되지 못한 채로 시간만 흘러가서 실험 결과 없이 논문만 따로 쓰기로 했습니다. 

 이 툴은 제가 생각하기에는 부족한점이 매우 많습니다. 논문의 결론 부분에도 여러 가지 적어두었지만, 개선해야 할 사항은 그보다 더 많습니다. 하지만 저는 제가 만든 메서드는 부족할지라도, 아이디어 자체는 좋은 접근방법이라 생각합니다. 결국 분자는 합성에 의해 만들어질 것이니까요. 그 과정을 최대한 현실적으로 파악하고 알고리즘화 하는 것이 중요합니다. 컴퓨터는 사람보다 많은 시행착오를 거치면서 학습할 수 있다는 것이 큰 장점입니다.

 

 이 연구는 저에게 수익을 위한 연구는 아니었습니다. 정부로부터 지원을 받는것도 아니고, 오히려 다른 일로 돈을 벌어서 이 연구에 투입한 돈이 더 크네요. 운 좋게도 얼마 전 한 회사에서 이 메서드를 사용하고 싶다고 소정의 금액을 지원해 주긴 했지만... 

 그저 과거에 했어야 한다고 생각한 일을 이제 한것 뿐입니다. 그냥 하고 싶었던 연구여서 했습니다. 

 사실 제가 지금 돈을 받고 하고 있는 일은 이 일과는 좀 많이 다른 일들이고, 이제 와서 저분자 설계를 서비스를 해봐야 돈을 지불할 사람도 없고, 메서드의 장점을 제대로 활용하기 위해서는 그만한 조건이 필요하기도 하고... 제가 직접 신약개발 프로젝트를 주도해서 진행하지 않는 한에는 그런 조건을 충족시키지는 못하겠네요. 

 

 좀 쉬다가 버전 2를 만들어야겠습니다. 문제점과 개선방안은 대체로 생각해뒀는데, 누가 대신 만들어주면 좋겠네요.