Introduction

인공지능과 신약개발.
 
최근 가장 핫한 두 분야의 만남이다. 알파고를 시작으로 여기저기서 인공지능과 머신러닝 등의 이야기가 끊임없이 나오고 있고, 질병 치료를 위한 신약개발은 이미 오래 전부터 정부와 기업들의 관심대상 1순위였다.
 
이 분야는 신약개발을 하던 과학자들이 인공지능을 적용하려고 한다기 보다는, 인공지능을 연구하던 개발자들이 신약개발에도 이를 적용해볼 수 있지 않을까 하는 생각으로 다양한 시도를 하고 있는 단계라고 보는 것이 좀 더 타당할 것이다. 그렇기에 “인공지능을 활용한 신약개발” 분야는 머신러닝 전공의 개발자들이 주축이 되고, 신약개발과 관련된 분야의 과학자들이 조인하는 경우가 대부분이다.
 
다만 두 분야의 성격이 너무나도 다르다는 것이 큰 문제다.
Tech 기반의 개발자들은 제약산업의 긴 호흡과 보수적인 업계의 분위기에 적응하기 힘들고, 과학자들은 인공지능을 제대로 이해하여 이를 구현할 수 있는 역량이 부족하다. 이는 이 영역 뿐만 아니라, 기술과 의료가 융합되는 접점인 Digital Healthcare 분야에서 발생하는 가장 큰 문제 라고도 할 수 있을 것이다.
 
나 역시 생명공학을 공부하며 제약/바이오 산업에 대해서는 익숙했지만 어떤 과정으로 신약을 개발하는지는 자세히 알지 못했고, 머신러닝에 대해서는 “GPU를 사용해서 무언가 복잡한 코딩을 한다” 정도밖에 알지 못했다. 전문가도 아니고 전문지식도 없기에 통찰력 있는 결론을 제시하기 보다는, 책과 논문을 비롯하여 공개된 온라인 자료 등을 통해서 양쪽 분야에 대한 내용들을 reorganize하여 기본적인 background 지식과 용어를 이해하는 것에 초점을 맞추었다.
 


Contents
 
1. 신약개발: in silico Drug Discovery
1.1. Target Identification & Valuation
1.2. Lead Identification
1.2.1. Structure-Based Drug Discovery
1.2.2. Ligand-Based Drug Discovery
1.3. Lead Optimization
 
2. 인공지능: Machine Learning
2.1. AI, Machine Learning, Deep Learning 차이
2.1.1. 상위개념과 하위개념
2.1.2. Machine Learning?
2.1.3. Deep Learning?
2.2. 머신러닝의 개념과 학습방식
2.2.1. 학습방식에 따른 분류
2.2.2. Neural Network
2.2.3. Convolutional Neural Network
2.2.4. Recurrent Neural Network
2.2.5. Autoencoder
2.3. GAN - 머신러닝의 새로운 시대를 열다
2.3.1. GAN이란 무엇인가?
2.3.2. GAN 어떻게 발전되어 왔는가?
2.3.3. Generative Adversarial Autoencoder
 
3. 인공지능으로 신약개발하기
3.1. 머신러닝, 신약개발에 사용되다
3.1.1. 어느 단계에 사용되고 있나?
3.1.2. Prior Studies
3.2. 주요 업체별 타이틀 논문 소개
3.2.1. Insilico Medicine
3.2.2. AtomWise
3.2.3. IBM Watson
3.2.4. twoXAR
          3.3. 머신러닝을 활용한 신약개발 업체 소개





1. in silico Drug Discovery

먼저 첫번째로, 컴퓨터를 활용한 신약 개발에 대한 얘기다.

(Source: PhRMA)

제약/바이오 분야에 조금이라도 관심이 있는 사람들이라면 지겹도록 봐왔을, 아주 전통적인 신약 개발의 과정을 나타낸 그림이다. 앞부분의 수도 없이 많은 물질들 중에서, 단 1개만이 길고 긴 시간을 거쳐 승인을 받아 약이 된다는 뭐 그런 그림이다. 물론 이제는 이러한 전통적인 모델에서 변형된 다양한 신약개발 전략들이 존재하지만, 공부는 언제나 고전적인 것에서부터 출발해야 하는 법이다. 이 classical한 신약개발 모델을 좀 단순화해보면 아래와 같다.


(Source: sauder.ubc.ca)

위 그림을 보면 후기 Development에 소요되는 기간과 비용이 훨씬 길어 보이지만, 초기 Discovery 과정을 제대로 하지 못하면 뒷부분의 Development에서 투입하는 자원들이 아무 쓸모가 없어지기 때문에 앞부분의 중요성이 예전부터 강조되어 왔다(garbage in, garbage out).

그리고 이런 수많은 노가다와 비슷한 작업은 항상 컴퓨터를 이용한 자동화를 시도해왔었기 때문에, 신약개발에도 데이터와 컴퓨터를 이용하고자 하는 컨셉은 예전부터 있어 왔고, 이는 in silico drug discovery라는 분야로 많은 연구가 진행되어 왔다.

앞부분의 파란색 과정을 좀 더 자세히 나타내면 (1) Target Identification & Validation - (2) Lead Identification - (3) Lead optimization 으로 구분할 수 있다. 각 과정에서는 어떠한 일들을 하며 이 과정에서 어떻게 컴퓨터가 기여하고 있는지 하나하나 살펴보도록 하자.

(Source: sauder.ubc.ca)


1.1. Target Identification & Validation
말 그대로 Target, 즉 개발할 약물이 목표로 하는 곳을 찾아내고(identification) 검증하는(validation) 과정이다. 이 과정에서도 수많은 정보들이 필요하고, 이들을 다루는 데에 있어서 컴퓨터의 역할이 점점 많아지고 있는 추세이다. 조금 더 자세히 어떤 일들을 하는지 살펴보자.

  •  질병 분석
약은 기본적으로 질병을 치료하는 물질이므로, 질병에 대해 아는 것이 가장 기본적인 출발점이다. 병이 왜 발생했는지 그 원인을 찾아내고(etiology), 병을 치료할 수 있는 아이디어를 얻는 과정이다. 환자들의 요구사항, 즉 그 유명한 medical unmet needs를 파악하는 과정이기도 하다. 당연히 환자가 많을수록 연구가 많이 되어 있는 경향이 있고, 다양한 요인에 의해서 발생하는 병일수록 그만큼 다양한 종류의 치료제가 개발되기 마련이다.

  • 타겟 선정
병을 일으키는 원인에 대해 알았다면, 구체적으로 어떤 부위의 어떤 단백질 등을 타겟으로 할 것인지 선정하게 된다. AIDS라는 질병을 분석해 보았더니 HIV라는 바이러스의 증식에 의해서 발생한다는 것을 알았다면, HIV의 증식을 막기 위해 어떤 일을 할 것인지 선정하는 것이다. 이 바이러스의 생존에 필요한 것들을 차단해 버리던가, 다른 세포로 감염되지 못하도록 그 과정을 막아버리는 식이다. 당연히 genomics, proteomics 등 유전자와 단백질에 대한 정보가 많으면 많을수록 타겟에 대한 아이디어를 많이 얻을 수 있을 것이고, 이는 새로운 mechanism of action을 갖는 약물의 개발로 이어질 수 있다.

  • 검증
 타겟을 선정했다면 실제 그 아이디어가 맞는지 검증해보아야 한다. 바이러스의 생존에 필요한 것들을 차단했을 때, 혹은 다른 세포로 감염되지 못하도록 했을 때 실제로 그렇게 되는지를 확인하는 과정이다. 만일 내가 예상치 못했던 또다른 경로로 감염을 일으킨다면, 내가 생각했던 그 타겟은 건드리나마나 아무런 효과가 없기 때문이다. 바이러스에 생존에 필요한 어떤 효소를 차단했더니 HIV가 더 이상 생존하지 못한 것을 발견했다고 해보자. 이러한 검증 결과까지 성공적이었다면, 이제 이 아이디어를 실현시켜줄 약물을 찾아내야 한다.



1.2. Lead Identification
신약 개발에서의 "Lead"는 흔히 "선도화합물" 혹은 "선도물질" 등으로 번역되는데, 딱 그 어감이 주는 그 의미가 맞다. 수많은 후보물질 중에 가장 선도에 있는, 즉 가장 효과가 좋은 물질을 찾아내는 과정을 Lead Identification이라고 한다.  회사 자체적으로 가지고 있는 library, 혹은 외부의 DB에 저장되어 있는 수많은 후보물질들에 대한 정보를 기반으로 해서, 내가 원하는 효과를 나타내는 물질을 찾아내는 것이다.

노가다의 느낌이 강하게 들고, 왠지 데이터 처리를 잘하는 컴퓨터가 똑똑해질수록 이 과정이 효율적으로 진행될 것만 같다. 컴퓨터를 활용해서 최적의 물질을 찾아내자, 더 나아가서는 최적의 물질을 디자인해보자는 컨셉으로 "Computer Aided Drug Discovery (CADD)"가 생겨났고, 이 과정이 바로 AI가 적극적으로 개입하고자 하는 분야이기도 하다. 이 과정을 컴퓨터로 수행하기에 Virtual Screening 이라고도 부른다.

CADD는 크게 접근 방식에 따라서 structure-based drug discovery (SBDD)와 ligand-based drug discovery (LBDD)로 나뉜다. 
Pharmacopore라는 개념도 존재하는데, 이 역시 컴퓨터를 이용한 방식 중 하나이며 structure-based와 ligand-based로 구분되므로 크게 SBDD, LBDD에 대해서만 살펴보고자 한다.

(Source: KHAN Academy)

CADD의 접근은, 물질(ligand)이 작용을 하기 위해서 자신에게 맞는 수용체(receptor)에 결합한다는 데에서 시작한다.
SBDD는 receptor의 구조에 따라서 약물을 디자인 하는것이고, LBDD는 반대로 receptor에 결합하는 ligand에 초점을 맞춘다. SBDD와 LBDD에 대해 좀 더 자세히 살펴보자.


     1.2.1. Structure-Based Drug Discovery (SBDD)
타겟의 구조를 기반으로 하여 거기에 가장 잘 결합할 수 있는 물질을 디자인하는 과정이다.
먼저 타겟의 구조를 밝혀내고, 거기에 어떻게 물질이 결합할 것인지 예측한 뒤, 가장 잘 결합할 수 있는 순서대로 랭킹을 매기는 방식으로 진행된다.

  • Protein Structure Determination
    • 당연히 내가 목표로 하는 타겟의 구조를 알아야 이 방법을 쓴다. X-ray나 NMR로 구조가 밝혀진 애들은 보통 DB에 등록되어 있지만, 구조를 모르는 애들은 어떠한 방법을 써서라도 구조를 알아내야 한다.
    • Homology Modeling: 구조를 알아내는 방법 중 하나. 아미노산 서열 가지고 구조를 만드는 과정인 것 같다.
    • Folding Recognition: 역시 구조를 알아내는 방법 중 하나. Threading 이라고도 하며, 이름 그대로 주어진 단백질 서열에 따라서 얘들이 어떻게 접힐지를 가지고 구조를 알아낸다.
    • 이외에도 Ab initio Protein Modeling, Hot Spot Prediction의 방법 등을 통해서 어떻게든 구조를 알아낸다.
  • Docking
    • Docking이란 말 그대로 약물이 목표로 하는 타겟에 어떻게 결합할 것인지를 뜻한다. 구조를 알았으니, 어떻게 붙을 것인지를 알아보자는 것이다. 논문의 정의를 따오자면, "Docking is an automated computer algorithm, that determines how a compound will bind in the active site of a protein"이다.
    • 컴퓨터 알고리즘이니 당연히 툴로 사용하는 SW들이 존재한다. Autodock, CDOCKER, LigandFit 등이 있으며 각 SW마다 각자만의 계산방식과 알고리즘을 사용한다. 크게는 그 방식에 따라 rigid / semi-flexible / flexible 등으로 구분되거나, stochastic / systematic / deterministic 등으로 구분된다고 한다.
  • Binding Free Energy (Scoring)
    • 구조를 예측해서 어떻게 결합할지까지 예측했다면, 어떤 물질이 더 잘 결합할 것인지도 예측해야 수많은 후보물질의 순위를 매길 수 있다.
    • 이를 위해서 물질이 타겟에 결합할 때, 즉 protein-ligand interaction이 일어날 때 발생하는 binding free energy라는 개념이 이용된다. 이게 중요한 이유는 이 에너지가 의미하는 것이 결국 물질과 타겟의 궁합이기 때문인데, 생화학 시간에 나오는 Gibbs free energy와 반응식을 생각한다면 이해가 쉬울 것이다.
  • 추가적인 작업들
    • 이 논문에서는 "Flexibility"라고 하여 Protein-Ligand Complex의 결합 유연성 정도에 대해서도 고려를 해주자고 하고 있고,
    • Receptor에 구조에 맞게끔 Ligand의 일부분을 바꾸어주자는 "de novo evolution"이라는 개념도 제시하고 있다.
    

     1.2.2. Ligand-Based Drug Discovery (LBDD)
타겟으로 하는 구조가 밝혀져 있지 않거나 각종 구조예측 모델링으로도 불가능할 때에는, 관점을 바꿔서 타겟에 결합하는 물질인 ligand의 관점에서 접근한다. 컴퓨터 모델을 이용해서 다양한 변수들을 바꿔가며, 어떻게 생긴지 모르는 타겟에 가장 잘 결합할 수 있을 것 같은 물질을 찾아내는 방법이다. (참고논문)

  • QSAR (Quantitative Structure-Activity Relationship)
    • LBDD에서 가장 널리 쓰이는 방식이다. 해석을 해보자면 "구조와 활성화의 정량적 관계"? 정도가 되는데, 말 그대로 ligand의 구조가 변함에 따라 타겟 결합 시 활성화 정도가 어떻게 변하는지를 수치화하는 것 정도로 이해하면 될 것 같다.
    • 기본 컨셉은 특정 molecule을 여러 feature들의 3차원 분포로 수식화하고자 하는 개념이다. 즉, Ligand의 hydrophobic, electronic, steric 등의 features를 변수로 놓고 식을 세워서 biological activity와의 관계를 살펴보는 방식으로 진행된다.
    • 크게 4가지 부분으로 나누어볼 수 있다
      • 분자를 특정 feature로 수치화하는 과정 (Conversion of molecules to relevant descriptor)
      • 그 중에서 그 분자의 유의미한 특징을 골라내는 과정 (Descriptor selection)
      • 선정된 특징과 실제 생물학적 활성도를 연결하는 과정 (Mapping)
      • 검증과정 (Validation)
    • 논문의 영어 설명을 보면 개념 이해가 좀 더 쉽다.
      • "QSAR is a computational procedure used for quantitatively predicting the interaction between a molecule and the active site of a specific target"
      • "QSAR is a mathematical attempt to define the properties of the active site, without knowing its structure'
  • 3D-QSAR
    • 과거에 사용하던 2D-QSAR에서, 최근(사실 꽤 오래 전)에는 3차원적 구조와 관계를 반영하기 위한 3D-QSAR이 사용되고 있다. 
    • CoMFA (Comparative Molecular Field Analysis): 물질의 활성도가 주변 환경 (surrounding molecular fields)에 의해서 달라질 수 있다는 가정 하에, 입체적인 구조를 반영하는 방식이다. 주변 분자들의 steric, electrostatic fields 등을 반영한다.
    • CoMSIA (Comparative Molecular Similarity Index Analysis): CoMFA에서 좀 더 나아가서 hydrogen bond 효과, hydrophobicity 등을 반영한다.
    • 그 외에도 COMPASS, CoMMA 등 비슷한 이름의 3D QSAR 방식이 많이 있는데, 추가적인 자료는 이 논문에 잘 정리되어 있다. 



1.3. Lead Optimization

1.1에서 우리가 원하는 타겟을 밝히고, 1.2에서 그 타겟에 가장 잘 결합할 수 있는 물질들을 찾는 과정을 거쳤다. 이제는 이 물질이 약으로 개발되기 위해 체내에서 어떻게 바뀌어가는지를 알아야 한다. 

이 과정에서 가장 중요한 것이 바로 그 유명한 ADMET에 대한 profile을 밝혀 내는 것이다. ADMET이란 약동학의 기본적인 요소들로, Absorption(흡수), Distribution(분포), Metabolism(대사), Excretion(배설), Toxicity(독성)을 뜻한다.

in vitro cell-based 혹은 in-vivo animal study로 wet-lab 실험을 통해 ADMET data를 획득하며, 위 과정들과 마찬가지로 컴퓨터를 통해 ADMET profile을 예측하기도 한다. 이를 통해 도출한 후보물질이 "약이 될 수 있는지 (drug-like properties)"를 검증하는 과정이다. (사실 컴퓨터를 이용해서 ADMET profile을 예측할 수 있다는 개념, 즉 in silico ADMET profiling에 대한 가능성은 2003년 Nature Article에 언급될 정도로 오래 된 개념이다.)

이외에도 ADMET과 관련된 자료는 수도 없이 많으니, 이를 통해 ADMET profile을 충족시킨 물질이 최적화된 후보물질이 된다는 것만 알아두고 넘어가자. 이렇게 아래 그림의 파란색 Discovery 과정을 거쳐 탄생한 후보물질은, 본격적으로 노란색 Development 과정의 비임상, 임상으로 진입하게 되는 것이다.


(Source: sauder.ubc.ca)


[참고논문]

전반적인 in silico drug discovery와 내용 구성에 대해서는 아래 세 논문과 강의록을 주로 참고했다.

부분적으로 나오는 개념들에 대해서는 아래 논문을 참고했다.

아래 논문은 다양한 개념들에 대한 설명이 자세하게 나와 있어서, 백과사전처럼 옆에 놓고 가면서 찾아보았다.

아래 논문들도 참고로 읽어볼만 하다.





2. Machine Learning

두번째로는, 머신러닝에 대한 얘기다.

다른 분야도 점차 바뀌어가고 있지만, 이쪽 분야는 컴퓨터를 이용한 분야여서 그런지 전문가들간의 온라인 소통이 매우 활발하다는 것을 공부하면서 느꼈다. 또한 대중들의 관심이 높아지고 있는 분야인 만큼, 지식공유를 위해 각종 온라인 매체를 통해 무료 강좌를 제공해주시는 분들과 우수한 글을 작성해주시는 블로거 등의 전문가들이 정말 많아서 공부하기 참 좋았다. 아래에 작성되는 내용들 역시 컴퓨터 하나만을 통해 모두 무료로! 학습한 내용이다. 

가장 대표적으로, 페이스북 셀럽(?)이신 엄태웅 님의 추천강좌가있다. 초급부터 고급까지 무료로 학습할 수 있는 온라인 머신러닝 강좌들에 대해 소개해주시고 있으며, 본인께서도 YouTube Facebook에서 많은 글들을 공유해주고 계신다. 

우선 요즘 여기저기 사용되고 있는 인공지능/머신러닝/딥러닝 등에 대한 개념을 잡은 뒤에, 자세한 구현 원리와 다양한 학습방식에 대해서 살펴보고, 최근 등장하고 있는 연구 현황과 향후에는 어떤 방향으로 나아가게 될 것인지에 대해 정리한 글들을 참고해서 다시 정리해보았다. 또한 글 단락마다 출처를 밝혀 놓았는데, 해당 링크를 통해 들어가서 원글을 읽어보면 개념 이해에 훨씬 더 도움이 많이 될 것이다. 


2.1. AI, Machine Learning, Deep Learning의 개념과 차이

인공지능, 머신러닝, 딥러닝...
비슷한 것 같지만 다른 용어들이 마구 혼재되어 쓰이는 걸 보며, 전문가들이 보기에는 리보솜 리소좀 하는 것 같겠지? 라는 생각이 들었기에...
이들에 대한 용어 정리부터 시작해보자.

     2.1.1. 상위개념과 하위개념

(Source: NVIDIA Blog)

위 그림을 통해 인공지능(AI), 머신러닝(ML), 딥러닝(DL)의 차이와 상하 관계에 대해 한눈에 알아볼 수 있다. 
AI는 말 그대로 "인간의 지능을 기계로 구현"하고자 하는 개념으로 이미 1950년대에 시작되었으며, 그 지능의 수준을 높이기 위해서 다양한 학습 방법이 ML의 분야인 것이다. 이를 통해 무언가를 분류해내거나 판별하거나 하는 작업들을 알고리즘화하여 기계가 이를 할 수 있도록 하였고, 상대적으로 단순한 작업들이 아닌 정말 사람의 신경 구조를 모방해보고자 DL이 등장하게 되었다. AI를 구현하는 학습 방법인 ML과 DL에 대해 조금 더 자세히 알아보자.

     2.1.2. Machine Learning?
말 그대로 기계를 학습시키는 것이다. 수많은 데이터를 통해 기계를 Training하여, 어떠한 input이 주어졌을 때 적합한 output에 도달할 수 있도록 하는 과정이다. 

아래 그림과 함께 보면, Carnegie Mellon의 ML 교수님인 Tom Mitchell이 주장한 ML의 정의가 (조금은) 이해된다.

"A computer program is said to learn from experience E with respect to some class of tasks T, and performance measure P if its performance at tasks in T, as measured by P, improves with experience E."

(Source: Cyberx Blog)


ML은 학습 방식의 특성 상, 무언가를 분류해내거나 패턴을 인식하고, 이상을 감지하고, 예측해내는 곳에 활용도가 높다.
예를 들면 아래와 같은 사례들이다.
  • 수많은 개와 고양이 사진을 학습하여, 사진이 주어졌을 때 개인지 고양이인지를 분류하는 작업
  • 수많은 사람들의 몸무게와 키에 대한 정보를 학습하여, 몸무게가 주어졌을 때 키를 예측하는 작업
  • 날씨와 관련된 정보를 모아 폭풍이 발생하기 전에 나타났던 패턴을 학습하여, 동일한 패턴이 발생했을 때 폭풍을 예측하는 작업


     2.1.3. Deep Learning?
위 NVIDIA의 그림에서도 보았듯이, DL은 ML의 세부 분야라고 볼 수 있다. DL의 가장 큰 차별점은, 주어진 데이터에 대해 사람이 개입하지 않고 기계가 이를 그대로 input으로 활용한다는 점이다.

ML의 과정에서는 이 사진이 개인지 고양이인지를 사람이 기계에게 알려주는 작업(labeling)이 포함되지만, DL에서는 처음부터 끝까지 그냥 기계가 모든걸 다 하게 된다(end-to-end). 데이터 속에 존재하는 feature(개와 고양이를 구분할 수 있는 기준들)을 기계가 스스로 발견해내고 결과값을 출력해주는 방식이다. 

AI라는 단어는 너무 광범위하고 DL로만 범위를 한정짓기에는 너무 좁은 것 같아, 앞으로는 ML로 용어를 통일하여 사용하고자 한다. DL이 ML의 한 분야이고 그 안에서도 다양한 학습방식들이 존재하기에, ML이 가장 적합한 단어선택일 것 같다.


[참고자료]
CyberX 블로그 http://cyberx.tistory.com/128
월급쟁이 님의 브런치 https://brunch.co.kr/@itschloe1/8
   


     
2.2. 머신러닝의 개념과 학습방식

머신러닝과 관련된 내용을 공부하다보면 수많은 용어들이 쏟아져 나오는데, 이들이 지칭하는 것과 어디에 속하는지 몰라서 큰 그림을 그리는 데 애를 먹었다. 우선 개념에 대해 이해하기 전에, 각 용어들이 어디에 속하는지 생각하면서 학습하면 훨씬 더 아웃풋이 좋아질 것이다.

(Source: Ranzato)

위 사진은 Google Brain, FB AI group에서 인공지능을 연구하신 분인 Ranzato의 슬라이드에 나오는 ML 방법의 분류이다. X축은 supervised/unsupervised로 구분되며, Y축은 deep/shallow로 나뉘어져 있다. 이제부터 이 표에 있는 내용들과 개념에 대해서 하나하나 자세히 알아보자.


     2.2.1. 학습방식에 따른 분류
위 Ranzato의 그림을 다시 살펴보자. Deep과 Shallow는 학습의 정도를 나타내는 용어이며 "딥러닝"이라는 말도 자주 쓰이기 때문에 익숙한데, supervised와 unsupervised라는 생소한 개념이 등장한다. 이 역시 기계를 학습시키는 방법을 분류하는 기준이며, 뜻 그대로 학습 과정에서 사람이 기계를 얼마나 많이 "감독"하느냐, 즉 얼마나 많이 지도해주는가를 의미한다.

  • Supervised Learning (지도학습)
데이터에 대한 레이블(정답)이 주어진 상태에서 기계를 학습시키는 방법이다. 조금 더 자세히 설명하자면, 주어진 input data에 대해 어떤 결과가 나올 지 알고 있는 (labeled) 데이터를 이용하여 모델을 만들고 새로운 데이터에 대한 결과값은 추정하는 방법이다. 수많은 (x,y)가 주어졌을 때 이를 설명할 수 있는 y=f(x)를 찾아내는 과정이라고 할 수 있다. CNN, RNN 등의 구조를 주로 이용한다.

  • Unsupervised Learning (비지도학습)
말 그대로 supervised의 반대다. 데이터 대한 레이블(정답)이 주어지지 않은 상태에서 기계를 학습시킨다. 정답이 없기 때문에 수많은 데이터들을 비슷한 특징에 따라 묶는(clustering) 방식으로 학습이 진행되며, 그 속에 숨겨져 있던 특징이나 구조를 발견하는 곳에 사용된다. 데이터에 대한 답을 일일히 달아주지 않아도 되므로 편리하지만, 당연히 더 어렵고 당연히 덜 정확한 결과값이 나올 수도 있는 학습 방식이다. Autoencoder 방식에 주로 이용된다.

  • Reinforced (강화학습)
위 지도/비지도학습과는 다른 부류의 개념으로, 역시 말 그대로 "reinforced" 상황 하에서 학습이 진행된다. 학습을 지시하는 쪽이 원하는 답을 만들어가기 위해 사용되며, 원하는 방향의 답을 제시했을 경우 보상이 주어지게 되며 기계는 이 보상을 최대화하는 방향으로 학습하게 된다. 이론적으로는 "어떤 환경 안에서 정의된 에이전트가 현재의 상태를 인식하여, 선택 가능한 행동들 중 보상을 최대화하는 행동을 선택하는 방법"으로 정의된다. Q-learning, DQN 등의 방식에 주로 이용된다.


위 그림은 2016년 NIPS에서 Yann Lecun이 (=유명한 ML 학회에서 유명한 ML 학자가) 위 학습방법을 비유한 말이다. Reinforcement Learning은 케익 위의 체리에 불과하고, Supervised Learning은 케익 겉부분에 불과하며, 진짜 케이크는 Unsupervised Learning이라는 뜻이다. 즉, ML의 꽃은 Unsupervised Learning이다 정도로 이해하면 될 것 같다.

[참고자료]
솔라리스 님의 블로그 http://solarisailab.com/archives/1785
라온피플 님의 블로그 http://laonple.blog.me/220827900759 


     2.2.2. Neural Network
ML에 대해 공부하다보면, "인공신경망" 이라는 단어를 자주 듣게 된다. 말 그대로 사람의 신경망을 모방하고자 하는 것인데, 이를 구현하는 것이 기계가 스스로 학습하고 답을 찾아낼 수 있도록 하는 방법이라고 할 수 있다. 인공신경망은 그 구조에 따라 여러가지가 존재하는데, 이에 대해 하나씩 간략하게 살펴보고자 한다.


  • Neural Network (NN)의 기본 구조
먼저 가장 기본적인 신경망의 구조에 대해 살펴보면 아래와 같다. Layer를 거치면서 각각의 가중치에 따라 계산이 이루어지고, 이 과정이 반복되면서 최종적인 결과값이 나오게 되는 것이다. 당연히 몇 개의 층을 쌓을 것인지, 각 층안에서 노드의 갯수는 어떻게 할 것인지, 어떤 가중치와 함수를 쓸 것인지 등에 따라 결과값이 다르게 나타나며, 이것이 일종의 학습 과정이라고 할 수 있다.

(Source: DeepLearning4j)



  • Deep NN
말 그대로 deep한, 즉 layer가 많은 신경망이다. 아래와 같은 multi-layer NN가 쌓이고 쌓여 DNN이 되는 것이다.

(Source: : LG CNS 블로그)

이렇게 신경망들을 깊게 쌓다보면 아래와 같은 여러가지 문제점들이 나타나게 되는데, 이를 해결하기 위해서 DL의 여러 개념들이 등장하게 된다. 이를 설명해주신 좋은 강의자료가 있는데, 이를 요약해보자면 아래와 같다.

  • Underfitting
학습이 잘 되지 않는 문제점.
NN은 미분값을 이용하여 뒤쪽으로 정보를 전달(back propagation)하면서 오차를 줄여나가는 방식으로 학습하게 되는데, 미분이 제대로 되지 않는 구간이 존재하면 뒤로 전달할 정보가 없어서 뒤로 갈수록 점차 학습이 되지 않는(vanishing gradient) 것이다. 
이를 없애주기 위해, Sigmoid대신 ReLu (Rectified Linear Units)라는 함수를 사용하여 이 문제를 해결한다.
  • Slow
학습을 하기는 하는데 그 속도가 너무 느리다는 문제점.
최적의 길을 찾으려다 보니, 즉 일을 완벽하게 하려다 보니 시간이 너무 오래 걸리게 되는 것이다.
이를 해결하기 위해, 조금 틀리더라도 결과를 향해 단계적으로 나아가는 (Stochastic Gradient Descent) 방식으로 최적화를 하게 된다.
  • Overfitting
기계가 융통성 없이 학습한다는 문제점.
가르치는 데이터들에 기반해서 학습하다보니, 조금이라도 변수가 생기면 이에 대해서는 적합한 답을 내놓지 못하는 경우가 생긴다.
이를 막아주기 위해, input 데이터에서 조금씩 정보를 지워가며 (dropout) 핵심 요소가 무엇인지를 파악할 수 있도록 학습시키게 된다.



    2.2.3. Convolutional NN (합성곱신경망)
CNN은 사물인식과 같은 vision 관련 정보를 처리하는 모델에 널리 사용되고 있다. 위 DNN에서 발생하던 문제를 해결하기 위해 여러가지 컨셉이 등장했듯이, CNN 역시 DNN에서 발생하는 문제들을 피하기 위해 "convolution"이라는 새로운 개념을 도입하게 된다.



CNN의 기본적인 컨셉은, 주어진 input image로부터 특정 feature를 뽑아내는 것이다. 
CNN을 구성하는 3종류의 layer는 각각 Height*Width*Depth로 이루어진 3차원 정보를 주고받으며, CNN을 모두 거치게 되면 최종적으로 big/shallow data가 small/deep의 형태로 변형되고 제일 끝쪽에 위치한 classifier가 image를 인식하고 판단할 수 있게 된다.


(Source: Mathworks)


각 Layer들은 그 특징과 기능이 조금씩 다른데, 이를 간단히 살펴보면 아래와 같다.
  • Convolution/RELU Layer: 입력 image의 일부 영역과 연결되어 있고, Convolutaion layer의 경우 자신의 가중치와 내적 연산을 수행하여 depth를 깊게 만들며 RELU layer는 depth 변화 없이 적용되는 activation 함수이다.
  • Pooling Layer: Height*Width를 downsampling 해주어, 줄어든 결과값을 출력하게 된다.
  • Fully-Connected Layer: 앞쪽의 모든 layer와 연결되어 있어서, 출력된 결과값을 종합하여 classification에 사용될 클래스 점수들을 계산한다.

워낙 개념들이 어렵고 실제 프로그래밍을 통해 구현해보지 않으면 추상적인 느낌이 많이 들기 때문에, 아래 참고자료들을 통해 더 깊은 학습을 하는 것이 좋겠다.


[참고자료]
천상혁 님의 블로그 http://sanghyukchun.github.io/75/


    2.2.4. Recurrent Neural Network (순환신경망)
CNN이 이미지 처리에 주로 사용되는 신경망이라면, RNN은 자연어 처리(음성인식, 번역 등)에 주로 사용된다. 결과값을 다시 계산에 이용하는 순환되는 구조의 특성 상, 순서가 있는 데이터를 학습하기에 좋기 때문에 언어, 음성, 영상 등에 많이 사용되고 있다.

(Source: Jospeh Wilk)


LSTM (Long Short Term Memory)은 층이 깊어질수록 RNN에서 발생하는 vanishing gradient 문제를 해결하기 위한 모듈로, 메모리 셀(emory cell)을 이용하여 이전에 입력된 정보(Long-term memory)도 계속 저장해놓으며 필요할 때마다 출력에 사용하기 위한 구조이다. 실제로는 RNN보다 LSTM 구조를 더 많이 사용한다고 한다.



흥미로운 점은 RNN을 CNN과 함께 사용하여 이미지나 문장 등을 생성할 수 있다는 점인데, 이에 착안하여 새로운 구조의 약물을 RNN을 통해 생성해봤더니 학습에 사용한 실제 약물과 거의 비슷한 특성을 나타냈다는 연구 결과가 있다. RNN을 통해 화합물의 구조를 생성해내고, scoring을 통해 적절하지 않은 것들을 반복적으로 제거하는 방식으로 학습시켰다고 한다.



[참고자료]


     2.2.5. Autoencoder
Autoencoder(AE)는 Unsupervised Learning에서 사용되는 Neural Network라고 할 수 있다. 아래 구조를 보면 상당히 typical한 Neural Network처럼 생겼다.

(참고: 라온피플)

단어에서 느껴지는 것처럼 무언가 "self-encoding"을 할 것 같은 그 느낌대로, AE의 목표는 출력값을 입력값과 최대한 비슷하게 뽑아내는 것이다. 즉, output의 결과는 "input의 근사치"가 된다는 뜻이다.

알려준 값와 비슷한 값을 정답으로 내어놓는다니 상당히 쓸데없어 보이지만, input 이후 여러 layer를 거치면서 주어진 data들의 핵심적인, 압축된 내용만을 골라서 학습하고 이를 다시 복원하기 때문에 절대 쉬운 문제가 아니다. 이를 잘 하기 위해서는 주어진 data들을 복원하는 데 필요한 가장 핵심적인 특징이 무엇인지를 찾아내는 학습이 필요하며, 이것이 AE 모델의 성능을 결정하는 것이라고 할 수 있다. 


Input data를 복원하는 AE의 특성 상 대칭 형태를 갖게 되며, 기본 모델에서 점차 layer가 깊어지면서 좁아지면 위와 같은 구조가 될 것임을 예상할 수 있다. 이러한 구조에 기반하여 다양한 종류의 Autoencoder 들이 개발되었으며 최근에는 이를 Generative Model로 이용하는 것이 트렌드라고 하는데, 이에 대해서는 아래 2.3.3에서 다시 언급해보고자 한다.

[참고자료]
고려대 대학원 Autoencoder 튜토리얼 https://wikidocs.net/book/498
솔라리스 님의 블로그 http://solarisailab.com/archives/113



2.3. GAN - 머신러닝의 새로운 시대를 열다

위 2.2.2에서, 사람의 도움이 필요한 지도학습과 데이터 자체로부터 답을 찾아내는 비지도학습의 차이에 대해서 다루어 보았다. 당연한 얘기겠지만 위 케이크 비유에서도 나왔듯이, 기계가 스스로 학습이 가능하도록 하는 것이 미래 ML이 나아가야 할 방향일 것이다. 이를 위한 연구가 꾸준히 진행되어왔고, 2014년 6월 Ian Goodfellow라는 사람이 GAN을 처음 발표하면서 ML 연구자들의 큰 관심을 불러일으켰다.

     2.3.1. GAN이란 무엇인가?
GAN (Generative Adversarial Network)는 그 이름에서 어떤 컨셉의 기술인지 바로 파악할 수 있다. 문자 그대로, 무언가 서로 대립되는 것(adversarial)들을 만들어내는(generative) 방식의 학습방법이다. 기계는 GAN을 통해 비지도학습과 마찬가지로 정답이 없는 상황(unlabeled)에서 스스로 답을 찾아내는 훈련 과정을 거치게 되는데, 이 과정의 원리는 바로 "라이벌은 서로를 발전시킨다"는 논리이다.

(Source: TechM, 엄태웅)

위 GAN의 구조를 살펴보면 두명의 등장인물이 있다. 위조지폐를 만들어내는 생성자(Generator)와, 이를 진폐와 감별하는 구별자(Discriminator)이다. 위조지폐를 만들어내는 생성자의 목적은 구별자를 속이는 것이고, 구별자의 목적은 위조지폐를 찾아내는 것이다. 이를 위해 생성자는 위조지폐를 점점 더 정교하게 만들어내려는 시도를 하게 되며, 구별자의 구별 능력도 점차 향상되게 되는 것이다.

이에 대한 자세한 설명은 윤재준님의 블로그에서 자세히 설명해주시고 있으니, 이를 참고하면 단 4분(05:34~09:28)만에 GAN의 개념에 대해 쉽게 이해할 수 있다.

[참고자료]
엄태웅 님의 기고글  http://techm.kr/bbs/?t=Wh



     2.3.2. GAN은 어떻게 발전되어 왔는가?
2014년 6월 GAN이 발표된 이후 연구가 급속도로 발전하여 다양한 후속작들이 출시되며 성능이 향상되고 있다. 
LAPGAN, InfoGAN, BIGAN, DCGAN, EBGAN, WGAN, BEGAN, LSGAN, fGAN 등등 지금 이순간에도 새로운 GAN들이 탄생하고 있을 것이다.

이러한 GANs(?)들의 목적은 결국 생성자와 구별자의 학습능력, 즉 지폐를 위조하는 능력과 이를 구별하는 능력 모두를 향상시키기 위한 방법들 정도로 이해해보고자 한다. 이들 GANs에 대한 자세한 내용은 아래 전문가님들의 블로그에 자세히 나와 있으니 참고하면 좋을 것 같다.

[참고자료]
심규홍 님의 블로그 http://www.khshim.com/archives/tag/gan 
윤재준 님의 블로그 : http://jaejunyoo.blogspot.com/search/label/GAN 



     2.3.3. Generative Adversarial Autoencoder
위 2.2.4에서 소개했던 Autoencoder 방식을, GAN과 함께 적용하는 방식의 구조이다. 역시나 GAN의 창시자인 Ian Goodfellow가 2015년 11월 발표하였다. AE의 특징이 입력하는 값을 최대한 모방하여 출력하는 것이므로, 바꿔 말하면 AE의 출력값은 입력값의 근사치, 즉 "위조지폐"라고 할 수 있다. 그렇기에 AE의 output을 통해 GAN을 훈련시켜보면 어떨까 하는 것이 바로 Generative Adversarial Autoencoder의 컨셉이다.


위 그림이 바로 이러한 컨셉을 나타낸 것이다. 논문의 설명에도 적혀 있듯이, 위쪽에 있는 AE는 z라는 값으로부터 x를 모방해내어 이를 output으로 출력한다. 그러면 밑에 있는 Second network에서 이 값을 받아서, 실제 값과 AE가 모방한 값을 구분해내는 훈련을 하게 되는 것이다.




3. AI in Drug Discovery

지금까지 1. in silico Drug Discovery 에서 신약개발 과정에서 컴퓨터가 어떻게 사용되고 있는지와, 2. Machine Learning 에서 기본적인 ML의 구현 방식과 주요 아키텍쳐인 CNN, RNN, Autoencoder 등에 대해 간략하게나마 살펴보았다. 이제 본격적으로 두 분야를 결합하여, 신약개발에서 ML이 어떻게 사용되고 있는지를 살펴보고자 한다.


3.1. 머신러닝, 신약개발에 사용되다

     3.1.1. 어느 단계에 사용되고 있나?
머신러닝은 위 1.에서도 살펴보았듯이, 신약개발의 초기 단계에서 컴퓨터를 이용하는 과정을 좀 더 효율적으로 만들어주기 위해 많이 사용되고 있다. 아래 도표는 BioCentury에서 신약개발의 각 단계별로 Machine Learning 기술을 적용하고 있는 업체들을 정리한 것이다. 여기에서는 Targets & Pathways - Compound Binding - Compound Efficacy - ADME/Tox - Matching Patient 의 5단계로 나누어 각 단계별로 머신러닝을 적용하고 있는 회사들을 구조화해놓았다. (아래 스탠다임은 얼마 전 코리아바이오플러스에서 발표하신 김진한 대표님의 슬라이드에서 따온 것이다.)

  
(Source: BioCentury)


한가지 좀 더 구체적인 예로, 약물의 Toxicity를 예측하기 위한 DL Model을 살펴보자. 화합물이 특정 성질을 갖게 되면 (e.g. hydrophobic, aromatic rings, electron transfer 등) 독성을 나타낼 수 있는데, 이러한 성질을 갖는지의 여부를 판단한다면 독성을 예측해볼 수 있을 것이라는 추측이 가능하다.

이를 일반화해보자면, i 라는 compound가 t 라는 특성을 갖는지를 예측하는 ML 모델이 된다. 그리고 이러한 정보를 가지고 있는 dataset을 학습시켜준다면, 새로운 i라는 물질에 대해 t 특성이 어떻게 나타날 것인지 모델이 결과값을 내어 줄 수 있을 것이라는 컨셉이다.




    3.1.2. Prior Studies
사실 머신러닝이 최근 굉장히 뜨고 있지만 이미 수십년 전부터 연구되고 있던 분야인 것처럼, in silico drug discovery도 굉장히 오래된 분야인지라 이 두 영역의 결합에 대해서도 현업에 있는 연구자들은 꽤나 오래 전부터 다루고 있던 내용이다. 다만, 최근 들어 머신러닝의 성능이 급격히 향상되며 시도할 수 있는 것들도 많아지고 있는 것 또한 사실이다. 과거 신약 개발에서 머신러닝과 관련된 테크닉들을 어떠한 방식으로 적용해왔는지 간략하게 살펴보고자 한다.

호주의 국책연구기관(?)인 CSIRO 소속 Dave Winkler 교수님이 쓴, 무려 2004년에 나온 29장짜리 리뷰논문으로 Reference가 171개나 된다. 당시에도 널리 활용되던 방식인 QSAR, VHTS(virtual high-throughput screening)을 비롯하여 ADMET/PK profiling, Library Design, 물질의 특성예측 등에 어떻게 Neural Network가 사용되어 왔는지에 대한 소개가 자세히 수록되어 있다.
다만 당시에는 다양한 고성능의 Neural Network가 아직 존재하지 않을 때인지라, 가장 기본적인 모델인 back propagation 방식의 neural network를 위주로 소개하고 있으며 CNN, GAN 등의 내용은 언급되어있지 않다.

신약개발 분야에 DL이 사용되어온 과정과, 향후 전망 대한 좋은 리뷰 논문이다.
DL을 신약개발에 적용한 ~20여개의 논문들을 표로 정리해 놓아서, 그동안 이러한 것들이 진행되고 있었구나 하고 살펴보기에 좋다. 실제 DL 모델이 신약개발의 어떠한 부분에 적용되고 있는지 Reference를 통해 확인해볼 수 있다.
아래 그림에서도 볼 수 있듯이 PubChem, ChEMBL 등의 DB를 활용한 ML 모델의 가능성과 약물 부작용 예측, formulation, PK, 임상시험 시뮬레이션 등 다양한 적용 분야에 대한 논제를 던지고 있다.

(Source: Sean Akins, 2016)


이 논문은 RBM과 CNN의 구조를 주로 설명하며 이들이 신약개발에 사용된 사례를 소개하고 있는데, 마지막 부분에 하고 싶은 말이 다 담겨 있는 것 같아서 그대로 인용해본다.
    • "We are convinced that modern deep learning architecture will be useful for the coming age of big data analysis in pharmaceutical research."
    • "However, we still need to fully understand the advantages and limitations of deep learning techniques."
    • "We think that the time is ripe for (re)discovering and exploring the usefulness of deep learning in drug discovery."

과거부터 현재까지 신약개발에 사용되어 온 Neural Network에 대해 소개하며, 그간의 발전 과정과 발생했던 문제점 및 개선방안 등에 대해 정리되어 있다. 향후 Neural Network의 발전방향과 적용 가능성 등에 대해 전망하고 있어 읽어보기에 좋을 것 같다.



3.2. 주요 업체별 타이틀 논문 소개
머신러닝을 이용하여 신약개발을 하는 회사가 아직 많지 않으며(globally 10여개 내외) 이들의 역사조차 길지 않기 때문에(~5년 내외), 현재까지 발표된 것들을 살펴보아도 대부분 proof-of-concept 수준의 결과가 대부분이고 "이게 정말 되는 것인지"를 확인해보고자 시도하고 있는 단계로 판단된다. 아직 이러한 방법을 통해 발견된 물질이 성공적으로 임상을 마치고 허가를 받은 사례가 나오는 것이 중요하다는 것이 업계의 분위기인 것 같다.

그 중에 위 회사들에서 발간한 대표적인 논문을 몇 개 소개해보았다. 신약개발에서 머신러닝 기술을 어떻게 적용하고 있는지 살펴볼 수 있을 것이다.


  • 논문 소개
    • Insilico Medicine의 대표적인 논문으로, CEO인 Alex Zhavoronkov가 저자로 참여하였다.
    • GAN과 Autoencoder를 이용하여 anticancer therapy를 위한 후보물질을 발굴하는 과정을 설명하고 있다.
  • Summary
    • Deep Neural Networks (DNN)는 바이오마커 연구, omics 데이터를 활용한 의약품 특성 연구 등 활용도가 높아지고 있음
    • in silico 방식을 oncology 분야에 적용해오면서 이와 관련된 database들이 쌓이기 시작하였고, 이를 활용할 수 있게 되었다
      • CCLE: 36개 tumor site에서 유래한 1,000+개 cell line data / 500+개 cell line에 대한 24개 항암제 처리 data 
      • GDSC: 1,000+ cell line에 대한 138개 항암제 처리 data / 75개 암 유전자 data
      • NCI-60 collection: 수천개의 항암제 스크리닝 data / 여러 암종의 60개 cell line data
    • New molecule development를 위한 Deep Adversarial Autoencoder를 구현하였음
      • Input data: 물질들의 log 농도값과 vector of binary fingerprints
      • GI (growth inhibition percentage): 해당 물질 처리 이후 암세포 생성 억제 효과를 수치화한 것
      • MCF-7 cell line에 처리한 6,252개 물질의 profile과 GI 정보를 입력하여 학습시켰고, 이를 기반으로 32개 vector를 획득.
        획득한 벡터들을 PubChem DB에 있는 72mn개의 물질에 적용하여, 69개의 후보물질을 찾아내었다.
    • "This approach is a proof-of-concept of an artificially intelligent drug discovery engine, where AAEs are used to generate new molecular fingerprints with the desired molecular properties."




  • 논문 소개
  • Summary
    • What is AtomNet?
      • AtomNet is the first structure-based deep CNN
      • AtomNet is designed to predict the bioactivity of small molecules for drug discovery
    • 기존의 ligand-based 방식은 몇가지 문제점이 있었음
      • 구조를 비롯하여 target에 대한 정보가 알려져 있어야 예측이 가능하기 때문에, 새로운 target을 찾아낼 수 없음
      • Input data로 ECFP와 같은 molecular fingerprints를 이용하는데, 이러한 데이터를 인코딩하는 과정에서 물질의 특징을 제한하기 때문에 새로운 결과가 제한됨
      • AutoDock, Glide 등 기존의 SBDD 프로그램은 false-positive가 많이 나옴
    • DUDE, ChEMBL-20 등의 benchmark를 돌려보았더니, AtomNet은 기존에 사용되던 Smina 방식에 비해 성능이 우수하였음
      • 성능은 AUC(area under the receiver operating characteristic) 값으로 측정
      • 이는 structure-based 방식을 통한 약물의 예측 정확도를 의미


  • 이 논문은 IBM에서 Watson을 이용하여 후보물질을 탐색한 초기 pilot 연구결과를 소개하고 있다.
  • p53 kinase와 관련된 논문들로부터 text feature analysis, graph-based diffusion 등으로 Watson을 학습시켰더니 성공적으로 후보물질을 찾아냈다고 한다.
  • 또다른 연구에서는 10명의 연구원들이 14개월 동안 찾아낸 것보다 2배 더 많은 후보물질을 발견했다고 한다.


  • EHR과 gene expression 등을 신약개발에 이용하는 연구.
  • "This is a proof-of-concept study demonstrating that a combination of complementary data sources (e.g. EHRs, gene expression) can corroborate discoveries ... into drug synergism for repurposing."



3.3. 인공지능을 활용한 신약개발 기업 소개
얼마 전 Nature에 발표된 인공지능 신약개발과 관련된 리뷰 아티클에, 최근의 동향을 잘 정리해 놓은 테이블이 있어서 가져와보았다.
현재 단계는, 글로벌 제약사들이 머신러닝 스타트업과 제휴하여 신약 후보물질 발굴 단계에서 다양한 협력을 시도하고 있다고 볼 수 있다. 위에서도 언급하였듯이 아직 이러한 방식을 통해 성공적으로 허가 및 상업화된 파이프라인이 존재하기 않기 때문에, 누가 먼저 성공하느냐가 향후 헤게모니를 가져갈 것 같다는 생각이다.
아래에 언급된 기업들을 중심으로 어떤 회사들이 있는지 하나하나 간단히 살펴보고자 한다.

(Source: Nature)

해외기업
  • Insilico Medicine
      • Homepage, Crunchbase
      • 2014년에 설립되어 미국 Baltimore에 HQ를 두고 있으며, 직원 수는 50명 정도.
      • w/ GSK (2017/08): Pilot study 완료, 신규 타겟발굴 등에 Insilico의 기술 활용
      • w/ 가천대 길병원 (2016/11): 노화 관련 바이오마커 공동개발 MOU 체결

(Source: Insilico Medicine)

  • AtomWise
      • Homepage, Crunchbase
      • 2012년에 설립되어 미국 SF에 위치한 회사로, 위 3.2.2에서 소개한 AtomNet을 개발 중
      • Y combinator 졸업 이후, Khosla Ventures 등으로부터 약 $6mn funding (2015/06)
      • Ebola, Multiple Screlosis 등을 주로 연구
      • w/ Monsanto (2017/06): 작물 보호를 위한 물질 개발 연구협약
      • w/ Merck, IBM
  • Numerate
      • Homepage, Crunchbase
      • 2007년에 설립된 비교적 오래된 회사로, 미국 캘리포니아에 위치
      • Series C를 마쳤으며, Atlas Venture, Lilly Ventures 등으로부터 총 $17mn 유치
      • Neurodegeneration, Cardiovascular, Oncology 등을 주로 연구
      • w/ Takeda (2017/06): 후보물질 디자인 및 도출, ADMET 모델링 관련 연구협약

  • Benevolent.ai
      • Homepage, Crunchbase
      • 2013년 Stratified Medical 이란 이름으로 설립된 회사로, 런던 J&J lab에 위치
      • Woodford Investment 등의 FI와, 신경계 전문 제약사인 Lundbeck 등으로부터 $1.8B이라는 높은 valuation에 약 $100mn funding (2016/08)
      • w/ Janssen (2016/11): 여러 후보물질들을 독점적으로 개발할 수 있는 권리 획득
      • w/ US Drugmaker (unknown): $800mn 규모의 알츠하이머 관련 파이프라인 계약
      • 지난 10월 IR자료가 공개되었다. Benevolent.ai에서 개발 중인 플랫폼을 확인할 수 있다. (Autochem: Drug property prediction, Evochem: Generative Chemistry)
      • 아래 모델을 살펴보면, Encoder/Decoder를 이용하는 구조와 물질의 특성을 최적화해가는 문제를 어떻게 해결하고자 하는지 감을 잡을 수 있다.

(Source: Benevolent.ai)
  • twoXAR
      • Homepage, Crunchbase
      • 스탠포드 의대와 MIT Sloan 출신의 창업자가 2014년 설립하였으며, 미국 캘리포니아에 위치
      • Andersson Horowitz 등으로부터 $4mn funding
  • ExScientia
      • Homepage, Crunchbase
      • Pfizer에서 신약개발을 담당한 Andrew Hopkins가 2012년 영국에 설립한 회사
      • 2016년 초부터 I/O 분야 연구를 함께해온 Evotec으로부터 €15mn funding (2017/09)
      • w/ GSK (2017.07): Exscientia의 플랫폼을 활용하여 GSK에서 선정한 후보물질 10개에 대한 후속개발 진행, 총 $43mn 규모

  • Qrativ
      • Homepage, Crunchbase
      • Mayo clinic에서 분사된 회사로, Matrix Partners 등으로부터 Series A $8.3mn funding (2017/07)
      • Mayo clinic의 인프라를 활용한 Darwin.ai 플랫폼을 개발하고 있으며 주로 희귀병 및 맞춤형 치료를 위한 drug repositioning 관련 연구를 진행 중

(Source: Qrativ)
  • NuMedii
      • Homepage, Crunchbase
      • 2008년 스탠포드 출신의 창업자로부터 기술을 이전받아 캘리포니아에 설립
      • 2015년까지 Lightspeed Venture 등으로부터 총 $5.5mn funding
      • w/ Allergan (2015/09): Psoriasis 치료제 후보물질 도출 관련 연구협약
      • w/ Astellas (2016/01)

  • Berg
      • Homepage, Crunchbase
      • 2006년 미국에 설립
      • Oncology, Neurodegenerative, Metabolic 분야를 주로 연구하고 있으며, 이 영상에서 Omics와 AI를 활용한 personalized medicine의 컨셉을 볼 수 있다.
      • w/ Sanofi (2017/10): Flu vaccine 반응률 예측을 위한 바이오마커 관련 연구 협약

국내기업
  • 스탠다임 (Standigm)
      • Homepage, Crunchbase, 관련기사
      • 삼성종합기술원 출신의 연구자들이 2015년 설립
      • AstraZeneca 주최 AI 신약개발 대회인 Dream Challenge에서 3위를 차지한 뒤 이름을 알리기 시작하여, Drug repositioning을 중심으로 신약개발 연구 진행
      • 파킨슨, 자폐증, NASH, 미토콘드리아 질환 등
      • 케이큐브, LB, 에이티넘 등으로부터 총 $3.7mn 투자유치
      • w/ 크리스탈지노믹스 (2017/08): Repositioning을 통해 항암 분야 후보물질 도출
      • w/ 아주의료원, 일본 소재 제약사 등과 파트너링 진행 중

  • 파로스아이비티 (Pharos IBT)
      • Homepage, 관련기사
      • 물리화학, 계산화학 분야 연구원 출신이 2016년 4월 설립
      • 희귀 난치성질환 분야를 중심으로 신약 후보물질 도출 후 기술이전 추진
      • w/ 파스퇴르연구소 (2016/09): 리슈만편모충증 치료제 개발 공동연구

  • 파미노젠 (Pharminogen)
      • Homepage, 관련기사
      • 국내 제약사 출신 신약개발 연구원이 2016년 6월 설립
      • 후보물질 발굴 이후 동물실험만 마친 뒤 기술이전을 추진하고 있음

  • 닥터노아 (Dr. Noah)
      • Homepage, 관련기사
      • 서울대 의약바이오컨버전스 연구단 출신 연구진이 2016년 12월 설립
      • 기존 약물을 조합하여 새로운 복합제로 개발하는 플랫폼 구축
      • w/ 이원다이애그노믹스 (2017/07): 유전체 데이터 관련 연구개발 협력




4. Appendix & Further Articles



+ Recent posts