KR20230073630A - 화합물 최적화를 위한 장치 및 방법 - Google Patents
화합물 최적화를 위한 장치 및 방법 Download PDFInfo
- Publication number
- KR20230073630A KR20230073630A KR1020210160209A KR20210160209A KR20230073630A KR 20230073630 A KR20230073630 A KR 20230073630A KR 1020210160209 A KR1020210160209 A KR 1020210160209A KR 20210160209 A KR20210160209 A KR 20210160209A KR 20230073630 A KR20230073630 A KR 20230073630A
- Authority
- KR
- South Korea
- Prior art keywords
- compound
- unit
- optimization
- prediction
- compound data
- Prior art date
Links
- 150000001875 compounds Chemical class 0.000 title claims abstract description 234
- 238000005457 optimization Methods 0.000 title claims abstract description 100
- 238000000034 method Methods 0.000 title claims abstract description 72
- 239000000126 substance Substances 0.000 claims abstract description 75
- 239000013598 vector Substances 0.000 claims abstract description 70
- 230000006870 function Effects 0.000 claims description 101
- 238000011156 evaluation Methods 0.000 claims description 56
- 238000005070 sampling Methods 0.000 claims description 42
- 230000008569 process Effects 0.000 claims description 36
- 239000011159 matrix material Substances 0.000 claims description 27
- 230000015572 biosynthetic process Effects 0.000 claims description 14
- 238000003786 synthesis reaction Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 7
- 238000001914 filtration Methods 0.000 claims description 7
- 238000005192 partition Methods 0.000 claims description 7
- 230000008859 change Effects 0.000 abstract description 2
- 238000010606 normalization Methods 0.000 description 22
- 238000012545 processing Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 238000000605 extraction Methods 0.000 description 8
- 230000000873 masking effect Effects 0.000 description 8
- 230000009466 transformation Effects 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 3
- 239000002547 new drug Substances 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000009509 drug development Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000007786 learning performance Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 238000012362 drug development process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 102000004169 proteins and genes Human genes 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C20/00—Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
- G16C20/30—Prediction of properties of chemical compounds, compositions or mixtures
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C20/00—Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
- G16C20/40—Searching chemical structures or physicochemical data
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C20/00—Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
- G16C20/70—Machine learning, data mining or chemometrics
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C20/00—Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
- G16C20/90—Programming languages; Computing architectures; Database systems; Data warehousing
Landscapes
- Engineering & Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Computing Systems (AREA)
- Crystallography & Structural Chemistry (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
본 개시 내용은 화합물 최적화를 위한 및 방법을 제공한다. 상기 방법은, 화합물 데이터에 대한 레이턴트 벡터의 검색 범위를 선택하는 단계; 상기 선택된 검색 범위를 복수개의 격자 범위들로 분할하는 단계; 각각의 격자 범위에 대한 화합물 최적화를 수행하는 단계; 및 각각의 격자 범위에 대하여 산출된 최적화 결과물을 연결하여 최종 화합물 데이터를 제공하는 단계를 포함할 수 있다. 본 개시 내용에 따르면, 다양한 물리-화학적 특성들을 동시에 최적화할 수 있으며 최적화하려는 항목을 상황에 맞게 변화시킬 수 있는 화합물 최적화 모델을 구현할 수 있다.
Description
본 개시 내용은 화합물 최적화 모델에 관한 것이며, 보다 상세하게는 화합물 최적화를 위한 컴퓨팅 장치 및 방법에 관한 것이다.
신약 개발을 포함한 화합물 관련 연구에 있어 화합물을 원하는 특성을 가진 방향으로 최적화시키는 과정은 가장 시간 및 노력이 많이 들어갈 수 있는 부분이다. 이러한 부분을 해결하기 위해 인공지능 알고리즘을 활용하여 약물 최적화를 수행하려는 시도들이 이루어지고 있다.
그러나, 종래에 시도된 알고리즘은 원하는 특성을 입력값으로 하여 그에 해당하는 화합물을 생성하는 방식으로서 이러한 방식은 다양한 특성들을 한번에 최적화하는데 한계가 있을뿐만 아니라 신약 개발 과정의 직관력(intuition)이 반영되기 어려운 문제점을 가지고 있다.
따라서, 반복된 실험 결과와 관련 의료 화학 전문가의 직관 및 경험에 의존하여 이루어지던 개발 방식이 유사하게 모방될 수 있고 상응하는 결과를 낼 수 있는 인공지능 기반 알고리즘 모델을 개발할 필요성이 요구되고 있다.
이러한 문제점을 해결하기 위해 본 개시 내용은 다양한 물리-화학적 특성들을 동시에 최적화할 수 있으며 최적화하려는 항목을 상황에 맞게 변화시킬 수 있는 화합물 최적화 모델을 구현하기 위한 컴퓨팅 장치 및 방법을 제공하는 것을 목적으로 한다.
본 개시 내용의 일 실시예에 따르면, 컴퓨팅 장치에 의해 수행가능한 화합물 최적화를 위한 방법이 제시된다. 상기 방법은, 화합물 데이터에 대한 레이턴트 벡터의 검색 범위를 선택하는 단계; 상기 선택된 검색 범위를 복수개(n)의 격자 범위들로 분할하는 단계; 각각의 격자 범위에 대한 화합물 최적화를 수행하는 단계; 및 각각의 격자 범위에 대하여 산출된 최적화 결과물을 연결(concatenate)하여 최종 화합물 데이터를 제공하는 단계를 포함할 수 있다.
상기 각각의 격자 범위에 대한 화합물 최적화를 수행하는 단계는, 상기 격자 범위에서 복수개(K)의 포인트들을 랜덤 샘플링하여 디코더부로 제공하는 단계; 상기 디코더부를 통해 입력된 포인트들의 레이턴트 벡터에 기초하여 화합물 데이터를 재구성하는 단계; 상기 재구성된 화합물 데이터의 복수개(M)의 물리-화학적 특성들 각각에 대한 예측 및 스케일링을 통해 평가 메트릭을 결정하는 단계; 상기 평가 메트릭에 기초하여 가우시안 프로세스(GP) 함수를 업데이트하는 단계; 상기 업데이트된 가우시안 프로세스 함수에 기초하여 획득되는 획득 함수(Acquisition Function)로부터 하나 이상의 다음 샘플링 포인트를 결정하는 단계; 및 상기 결정된 다음 샘플링 포인트를 상기 디코더부로 제공하고, 상기 최적화 결과물로서 미리 결정된 개수의 다음 샘플링 포인트들을 결정할 때까지 상기 재구성하는 단계, 상기 평가 메트릭을 결정하는 단계, 상기 업데이트하는 단계 및 상기 다음 샘플링 포인트를 결정하는 단계를 반복하는 단계를 포함할 수 있다.
또한, 상기 방법은 하나 이상의 물리-화학적 특성에 대하여 설정된 허용 범위를 통해 상기 최종 화합물 데이터를 필터링함으로써 필터링된 최종 화합물 데이터를 제공하는 단계를 더 포함할 수 있다.
또한, 상기 평가 메트릭을 결정하는 단계는, 상기 재구성된 화합물 데이터를 복수개(M)의 물리-화학적 특성들을 각각 예측하기 위한 복수개(M)의 예측 모델들로 입력함으로써 상기 복수개(M)의 물리-화학적 특성들 각각에 대한 예측값을 결정하는 단계; 상기 복수개(M)의 물리-화학적 특성들 각각에 대한 예측값에 대하여 상기 복수개(M)의 예측 모델들 각각에 대응하는 복수개(M)의 스케일링 함수들을 적용함으로써 상기 복수개(M)의 물리-화학적 특성들 각각에 대한 스케일링된 평가값을 결정하는 단계; 및 상기 물리-화학적 특성들에 대한 스케일링된 평가값들에 기초하여 상기 평가 메트릭을 결정하는 단계를 포함할 수 있다.
또한, 상기 복수개(M)의 스케일링 함수들 각각은 대응하는 물리-화학적 특성에 대한 예측값을 0~1 사이의 값으로 정규화시키도록 정의될 수 있다.
또한, 상기 물리-화학적 특성들은 결합 친화도(BA: Binding Affinity), 합성 용이성(SA: Synthesis Accessibility), 용해도(LogP: Partition Coefficient), 링 사이즈(Ring Size), 분자량(MW: Molecular Weight), 유사도(Similarity)를 포함할 수 있다.
또한, 상기 가우시안 프로세스(GP) 함수를 업데이트하는 단계는, 상기 평가 메트릭에 기초하여 상기 GP 함수의 평균 벡터를 업데이트하고 상기 격자 범위의 기 샘플링된 포인트와 예측될 포인트와의 유클리드 거리에 기초하여 상기 GP 함수의 공분산 행렬을 업데이트하는 단계를 포함할 수 있다.
또한, 상기 획득 함수로부터 하나 이상의 다음 샘플링 포인트를 결정하는 단계는, 상기 업데이트된 GP 함수의 평균 벡터 및 공분산 행렬로 정의되는 정규분포에 기초하여 획득되는 상기 획득 함수의 값이 가장 큰 하나 이상의 레이턴트 벡터 지점을 상기 하나 이상의 다음 샘플링 포인트로 결정하는 단계를 포함할 수 있다.
본 개시 내용의 일 실시예에 따르면, 화합물 최적화를 위한 컴퓨팅 장치가 제시된다. 상기 컴퓨팅 장치는, 화합물 데이터에 대한 레이턴트 벡터의 검색 범위를 선택하도록 구성되는 검색 범위 선택부; 상기 선택된 검색 범위를 복수개(n)의 격자 범위들로 분할하도록 구성되는 검색 범위 분할부; 각각의 격자 범위에 대한 화합물 최적화를 수행하도록 구성되는 격자 최적화부; 및 각각의 격자 범위에 대하여 산출된 최적화 결과물을 연결하여 최종 화합물 데이터를 제공하도록 구성되는 최적화 출력부를 포함할 수 있다.
상기 격자 최적화부는, 상기 격자 범위에서 복수개(K)의 포인트들을 랜덤 샘플링하여 디코더부로 제공하도록 구성되는 랜덤 샘플링부; 입력된 포인트들의 레이턴트 벡터에 기초하여 화합물 데이터를 재구성하도록 구성되는 디코더부; 상기 재구성된 화합물 데이터의 복수개(M)의 물리-화학적 특성들 각각에 대한 예측 및 스케일링을 통해 평가 메트릭을 결정하도록 구성되는 예측 평가부; 상기 평가 메트릭에 기초하여 가우시안 프로세스(GP) 함수를 업데이트하도록 구성되는 GP 모델 업데이트부; 및 상기 업데이트된 가우시안 프로세스 함수에 기초하여 획득되는 획득 함수로부터 하나 이상의 다음 샘플링 포인트를 결정하도록 구성되는 획득 함수부를 포함할 수 있다.
상기 격자 최적화부는 상기 결정된 다음 샘플링 포인트를 상기 디코더부로 제공하고, 상기 최적화 결과물로서 미리 결정된 개수의 다음 샘플링 포인트들을 결정할 때까지 상기 디코더부, 상기 예측 평가부, 상기 GP 모델 업데이트부 및 상기 획득 함수부를 통한 동작을 반복하도록 구성될 수 있다.
본 개시 내용의 일 실시예에 따르면, 화합물 최적화 방법을 실행하기 위한 컴퓨터-실행가능 명령들을 포함하는, 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램이 제시된다.
본 개시 내용에 따르면, 반복된 실험 결과와 관련 의료 화학 전문가의 직관 및 경험을 통해 이루어지던 신약 개발 방식을 모방할 수 있는 알고리즘을 제시하여 화학물의 속성을 반복적으로 평가하고 그 평가를 기준으로 새로운 화합물을 생성해나갈 수 있으며 최적화하려는 항목을 상황에 맞게 변화시킬 수 있는 화합물 최적화 모델을 구현할 수 있다.
또한, 본 개시 내용에 따르면, 원하는 화합물 최적화 항목을 변경시에 전체 모델을 재설계해야할 필요없이 해당 예측 모델만 변경할 수 있을 뿐만 아니라 해당하는 예측 모델이 없을시에는 추출된 화합물의 특성을 입력값으로 가지는 간단한 예측 모델을 빠르게 설계하여 사용할 수 있는 화합물 최적화 모델을 제시할 수 있다.
또한, 본 개시 내용에 따르면, 전체 데이터 검색 범위를 복수개의 인터벌로 나누고 해당 인터벌의 베이시안 최적화를 도출하여 합치는 방식을 적용함으로써 고차원 데이터에 대하여 로컬 최적화에 머무르는 베이시안 최적화의 한계점을 해결할 수 있는 화합물 최적화 모델을 제시할 수 있다.
도 1은 본 개시 내용의 일 실시예에 따른 화합물 최적화를 위한 시스템을 나타내는 예시적인 도면이다.
도 2는 본 개시 내용의 일 실시예에 따른 컴퓨팅 장치를 나타내는 예시적인 블록도이다.
도 3은 본 개시 내용의 일 실시예에 따른 컴퓨팅 장치에 의해 수행되는 화합물 정보 추출 모델을 나타내는 예시적인 도면이다.
도 4는 본 개시 내용의 일 실시예에 따른 컴퓨팅 장치에 의해 구현되는 화합물 최적화 모델을 나타내는 예시적인 도면이다.
도 5는 본 개시 내용의 일 실시예에 따른 화합물 최적화 방법을 나타내는 예시적인 순서도이다.
도 6는 본 개시 내용의 일 실시예에 따른 입력 화합물에 대하여 화학물 최적화 모델이 수행된 결과를 나타내는 예시적인 도면이다.
도 2는 본 개시 내용의 일 실시예에 따른 컴퓨팅 장치를 나타내는 예시적인 블록도이다.
도 3은 본 개시 내용의 일 실시예에 따른 컴퓨팅 장치에 의해 수행되는 화합물 정보 추출 모델을 나타내는 예시적인 도면이다.
도 4는 본 개시 내용의 일 실시예에 따른 컴퓨팅 장치에 의해 구현되는 화합물 최적화 모델을 나타내는 예시적인 도면이다.
도 5는 본 개시 내용의 일 실시예에 따른 화합물 최적화 방법을 나타내는 예시적인 순서도이다.
도 6는 본 개시 내용의 일 실시예에 따른 입력 화합물에 대하여 화학물 최적화 모델이 수행된 결과를 나타내는 예시적인 도면이다.
이하, 본 발명의 바람직한 실시예들을 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
본 발명의 다양한 양상들이 아래에서 설명된다. 여기에서 제시되는 발명들은 폭넓은 다양한 형태들로 구현될 수 있으며 여기에서 제시되는 임의의 특정한 구조, 기능 또는 이들 모두는 단지 예시적이라는 것을 이해하도록 한다. 여기에서 제시되는 발명들에 기반하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 여기에서 제시되는 하나의 양상이 임의의 다른 양상들과 독립적으로 구현될 수 있으며 둘 이상의 이러한 양상들이 다양한 방식들로 결합될 수 있다는 것을 이해할 것이다. 예를 들어, 여기에서 설명되는 임의의 수의 양상들을 이용하여 장치가 구현될 수 있거나 또는 방법이 실시될 수 있다. 또한, 여기에서 설명되는 하나 이상의 양상들에 더하여 또는 이들 양상들이 아닌 다른 구조, 기능 또는 구조 및 기능을 이용하여 이러한 장치가 구현될 수 있거나 또는 이러한 방법이 실시될 수 있다.
본 개시 내용은 딥러닝(Deep Learning)을 위한 트랜스포머(Transformer), VAE(Variational Auto Encoder), 베이시안 최적화(Bayesian Optimization) 등의 모델들에서 정의된 함수, 수식, 변수 등을 이용하여 설명될 수 있으며, 이에 한정되지 않고 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network) 등과 같은 다른 인공신경망 개념도 본 개시 내용을 이해하는데 참조될 수 있다.
도 1은 본 개시 내용의 일 실시예에 따른 화합물 최적화를 위한 시스템을 나타내는 예시적인 도면이다.
도 1에 도시된 바와 같이, 이러한 시스템은 화합물 데이터베이스(DB)(100), 컴퓨팅 장치(200) 및 출력 장치(300)를 포함하여 구성될 수 있다. 컴퓨팅 장치(200)는 화합물 DB(100)로부터 제공되는 화합물 데이터에 기초하여 본 개시 내용에 따른 화합물 최적화 모델을 실행시키도록 구성될 수 있다. 출력 장치(300)는 컴퓨팅 장치(200)의 실행 결과를 출력하거나 또는 이용하도록 구성될 수 있다.
화합물 DB(100)는 컴퓨팅 장치(200)에서 데이터 세트를 구성할 수 있도록 소스 화합물 데이터들을 제공할 수 있다. 일 구현예에서, 이러한 소스 화합물 데이터들은 ZINC15, PubChem, ChEMBL 등과 같은 오픈 소스 데이터들일 수 있다. 이러한 소스 화합물 데이터는 컴퓨터 시스템에서 처리가능한 형태로 제공될 수 있으며, 예시적으로 SMILES(Simplified Molecular-Input Line-Entry System), InChl(International Chemical Identifier), MACCSKeys 등과 같은 형태의 화합물 데이터일 수 있다. 본 명세서에서는 설명의 편의를 위해, SMILES 형태의 화합물 데이터를 기준으로 본 개시 내용에 따른 화합물 최적화 모델을 설명할 것이다.
컴퓨팅 장치(200)는 화합물 DB(100)로부터 제공되는 화합물 데이터 소스에 기초하여 본 개시 내용의 화합물 최적화 모델에서 사용될 데이터 세트를 결정할 수 있다. 예시적으로 컴퓨터 장치(200)는 다음과 같은 방식으로 하드웨어 처리가 가능할 정도로 샘플 데이터의 양을 감소시키고 모델의 훈련 과정시 데이터 불균형 문제가 발생하지 않도록 샘플링함으로써 모델에 적용될 데이터 세트를 결정할 수 있다.
예를 들어, ZINC15에는 약 11억개, PubChem에는 약 1억개, ChEMBL에는 약 200만개의 소스 화합물 데이터가 있으며, 컴퓨팅 장치(200)는 중복 데이터를 필터링하고 화합물을 소정 개수의 물리-화학적 특징별로 라벨링 및 정규화함으로써 약 5억개의 화합물들을 결정할 수 있다. 다음으로, 컴퓨팅 장치(200)는 이들 화합물들을 예컨대 두가지 물리-화학적 특성(예를 들어, 용해도(LogP: Partition Coefficient), 분자량(MW: Molecular Weight))에 따라 각각 8개의 구간으로 나누어 총 64개의 그룹으로 분류할 수 있다. 각각의 그룹은 상이한 개수의 화합물 데이터를 가질 수 있으며, 이들 개수 중 가장 작은 수가 n인 경우에 모든 그룹에 대하여 최소 n개에서 최대 3n개의 화합물들을 샘플링할 수 있다. 그 결과 컴퓨팅 장치(200)는 약 5억개의 화합물 데이터로부터 1/100 정도인 약 500만개의 화합물 데이터를 샘플링하여 모델에서 학습시키기 위한 데이터 세트로 결정할 수 있다. 그러나, 본 개시 내용은 이러한 샘플링 방식에 한정되지 않으며, 모델에 적용하기에 적합한 데이터 세트를 구축하기 위해 변형된 또는 추가적인 샘플링 방식이 적용될 수 있다.
구현예에 따라, 출력 장치(300)는 컴퓨팅 장치(200)의 처리 결과를 디스플레이하기 위한 디스플레이 장치일 수 있거나, 컴퓨팅 장치(200)의 처리 결과를 저장 및 관리하기 위한 데이터베이스 장치일 수 있거나, 또는 컴퓨팅 장치(200)에서 화합물 최적화 모델을 통해 최적화된 화합물 정보를 이용하기 위한 다른 인공지능 기반의 화합물 처리 모델을 실행하기 위한 다른 컴퓨팅 장치일 수 있다.
도 2는 본 개시 내용의 일 실시예에 따른 컴퓨팅 장치를 나타내는 예시적인 블록도이다.
도 2에 도시된 바와 같이, 컴퓨팅 장치(200)는 프로세서(210), 저장 매체(220), 메모리(230), 네트워크 인터페이스(240)를 포함할 수 있으며, 이들은 시스템 버스(250)를 통해 서로 연결될 수 있다.
저장 매체(220)에는 운영 시스템(222) 및 컴퓨터 프로그램(224)이 탑재될 수 있다. 저장 매체(220)는 컴퓨터 프로그램 및 관련 데이터들을 저장할 수 있는 하드디스크, SSD(Solid State Drive) 등과 같은 데이터 저장 장치일 수 있다. 운영 시스템(222)은 컴퓨팅 장치(200)를 동작시키기 위한 Windows, IOS, Linux 등과 같은 운영체재 소프트웨어일 수 있다. 컴퓨터 프로그램(224)은 화합물 DB(100)에 기초하여 화합물 정보를 추출하는 모델뿐만 아니라 본 개시 내용의 화합물 최적화 모델을 실행시키기 위한 컴퓨터-실행가능 명령들을 포함할 수 있다. 컴퓨터 프로그램(224)의 컴퓨터-실행가능 명령들은 프로세서(210)에 의해 실행될 때, 프로세서(210)로 하여금 본 개시 내용의 화합물 최적화를 위한 방법을 수행하게 할 수 있다. 프로세서(210)는 전체 컴퓨팅 장치(200)의 실행을 지원하기 위한 컴퓨팅 및 제어 능력들을 제공하도록 구성될 수 있다. 프로세서(210)는 CPU(Central Processing Unit), MPU(Microprocessor Unit), AP(Application Processor) 등과 같은 데이터 처리 장치일 수 있으며, 하나의 프로세서 또는 복수개의 프로세서들로 구성될 수 있다. 복수개의 프로세서들로 구성되는 경우, 프로세서들(210)은 병렬 처리 프로세서들로서 동작할 수 있다. 네트워크 인터페이스(240)는 외부 장치(예를 들어, 화합물 DB(100), 출력 장치(300) 또는 네트워크를 통해 연결가능한 유무선 통신 디바이스 등)와 연결되어 데이터를 통신할 수 있는 인터페이스를 제공할 수 있다.
도 3은 본 개시 내용의 일 실시예에 따른 컴퓨팅 장치에 의해 수행되는 화합물 정보 추출 모델을 나타내는 예시적인 도면이다.
도 3에 도시된 바와 같이, 본 개시 내용에 따른 화합물 정보 추출 모델은 데이터 처리부(310), 인코더 계층부(320), 정보 보틀넥 계층(Information Bottleneck Layer)부(330), 재파라미터화(Reparameterization)부(340), 물리-화학적 특성 예측부(350), 시퀀스 길이 예측부(360), 정보 확장 계층(Information Expansion Layer)부(370), 디코더 계층부(380), 생성 계층부(390)를 포함할 수 있다. 또한, 도 3은 화합물 정보 추출 모델을 통한 데이터 처리 과정에 대한 이해를 돕기 위해 ① 내지 ⑩의 번호를 표시하였으나 이는 예시적인 것으로 본 개시 내용의 화합물 정보 추출 모델은 표시된 번호에 따른 실행 순서로 한정되지 않는다. 예를 들어, 본 개시 내용의 화합물 정보 추출 모델은 5번, 6번, 7a번, 7b번 및 8번의 순서로 실행될 수 있거나 또는 5번, 6번, 8번, 7b번, 7c번의 순서로 실행될 수 있거나 또는 이와 다른 순서로 실행될 수 있다.
본 개시 내용의 화합물 정보 추출 모델로 입력되는 화합물 데이터는 SMILES 형태의 시퀀스 데이터일 수 있으며, 인코더 계층부(320) 및 디코더 계층부(380)에는 동일한 SMILES 데이터가 입력되지만 디코딩 계층부(380)에는 스타트 토큰(start token)과 같은 추가 토큰이 부가되어 입력될 수 있다.
데이터 처리부(310)는 인코더 계층 및 디코딩 계층으로의 입력을 위해 설정된 차원으로 입력 화합물 데이터를 처리하도록 구성될 수 있다. 이를 위해, 데이터 처리부(310)는 입력 화합물 데이터를 화합물 시퀀스를 구성하는 최소단위의 형태소인 토큰으로 분리하는 토큰화(tokenization)를 수행할 수 있다. 예를 들어, SMILES 형식의 입력 화합물 데이터가 NC(=O)c1nc(F)c[NH]c1=O인 경우에 이러한 SMILES 시퀀스는 토큰들 N,C,(,=,O,),c,1,n,c,(,F,),c,[nH],c,1,=,O로 분리될 수 있다. 토큰화된 입력 화합물 데이터(Xsmiles)는 N×T 차원의 행렬로 표현될 수 있다(즉, ). 여기서, N은 토큰화된 화합물의 토큰 개수이고, T는 토큰의 가지 수이다.
다음으로, 데이터 처리부(310)는 N×T 차원의 토큰화된 화합물 데이터(Xsmiles)를 선형 변환(linear transformation)(또는 선형 투영(Linear projection))을 통해 N×d_model 차원의 행렬로 임베딩하여 임베딩된 화합물 데이터()를 생성할 수 있다. 이러한 과정은 다음의 수식을 통해 표현될 수 있다:
및 는 훈련 과정에서 학습되는 훈련가능한 가중치(trainable weight)이다. 및 뿐만 아니라 후술할 내용에서 언급되는 다른 훈련가능한 가중치들은 모델 학습 결과에서 손실(loss)을 줄이는 방향으로 역 전파(Back Propagation) 알고리즘과 같은 방식을 통해 업데이트될 수 있다.
다음으로, 데이터 처리부(310)는 임베딩된 행렬()에 포지셔널 인코딩 값(PE)을 더함으로써 인코딩 계층 및 디코딩 계층에 입력가능하도록 처리된 입력 화합물 데이터(, )를 생성할 수 있다. 포지셔널 인코딩 값(PE)은 에 있는 각 토큰의 상대적 위치를 나타내는 값이다. 이러한 과정은 다음의 수식을 통해 표현될 수 있다:
여기서, pos는 해당 토큰의 인덱스 위치를 표시한다.
인코더 계층부(320)는 입력 화합물 데이터()를 어텐션 방식으로 학습시키도록 구성될 수 있다. 이를 위해, 인코더 계층부(320)는 멀티헤드 셀프 어텐션(Multi-Head Self Attention) 부계층부, 제 1 잔차 연결 및 정규화부(Add & Norm), 피드 포워드(Feed Forward) 부계층부 및 제 2 잔차 연결 및 정규화부를 포함할 수 있다.
멀티헤드 셀프 어텐션 부계층은 입력값 중 어떤 부분을 집중하여 학습하여야 하는지 모델 스스로 학습할 수 있도록 멀티헤드 셀프 어텐션 방식으로 입력된 화합물 데이터()를 학습시키고, 제 1 잔차 연결 및 정규화부는 멀티헤드 셀프 어텐션 부계층의 입력 화합물 데이터() 및 출력 화합물 데이터()를 잔차 연결 및 정규화시킨 결과 데이터()를 출력할 수 있다. 이러한 과정은 다음의 수식으로 표현될 수 있다.
여기서, Q, K, V는 각각 어텐션의 Query, Key, Value를 의미하고, 이고, h는 헤드들의 개수이다. 이고, WG, WQ, WK, 및 WV는 훈련가능한 가중치이며, 어텐션 헤드(headi)마다 다르게 설정될 수 있다.
수학식 3의 Concat은 어텐션 헤드들을 연결(concatenate)하는 함수이다. 예를 들어, 어텐션 헤드(headi)는 N×dh의 차원을 가질 수 있으며, h개의 헤드들을 연결한 는 N×(dh×h)=N×d_model 차원을 가질 수 있다.
수학식 3의 Residual은 입력값 및 출력값을 더해주어 출력값과 입력갑의 연결점을 만들어주고 정규화시키는 잔차 연결 및 정규화를 나타내는 함수이며, 다음의 수식으로 표현될 수 있다:
피드 포워드 부계층부는 제 1 잔차 연결 및 정규화부로부터 입력되는 멀티-헤드 셀프 어텐션 학습된 화합물 데이터(, 아래에서는 설명의 편의를 위해 로 표시함)를 추가적인 정보를 획득할 수 있도록 피드 포워드 신경망을 통해 학습시키고, 제 2 잔차 연결 및 정규화부는 피드 포워드 부계층의 입력 화합물 데이터() 및 출력 화합물 데이터()를 잔차 연결 및 정규화시킨 결과 데이터()를 출력시킬 수 있다. 이러한 과정은 다음의 수식으로 표현될 수 있다.
수학식 5의 ReLU 함수는 실수 입력값 a에 대하여 ReLU(a)=max(0, a)값을 출력하는 함수이다.
구현예에 따라, 인코더 계층부(320)는 인코더 계층의 학습 성능을 강화시키기 위해 복수개(예를 들어, 4개)의 연속된 인코더 계층들을 포함할 수 있다. 이러한 구현예에서, 인코더 계층부(320)는 이전 인코더 계층에서 학습된 화합물 데이터()를 다음 인코더 계층으로 입력()하는 방식으로 동작할 수 있으며, 이는 다음의 수학식으로 표현될 수 있다:
이러한 경우에, 인코더 계층부(320)는 첫번째 인코더 계층에서 데이터 처리부(310)로부터 입력 화합물 데이터()를 입력받고 마지막 인코더 계층에서 최종 학습된 화합물 데이터를 정보 보틀넥 계층부(330)로 출력할 수 있다.
정보 보틀넥 계층부(330)는 인코더 계층부(320)로부터 학습되어 입력되는 화합물 데이터(, 아래에서의 설명의 편의를 위해 로 표시함)에 기초하여 레이턴트 차원을 가지는 평균 벡터(μ) 및 분산 벡터(σ)를 획득하도록 구성될 수 있다. 정보 보틀넥 계층부(330)는 N×d_model 차원을 갖는 인코딩 계층부(320)의 출력 데이터()로부터 1×dlatent 차원을 갖는 평균 벡터(μ) 및 분산 벡터(σ)를 획득할 수 있으며, dlatent는 레이턴트 차원을 나타낸다. 이러한 과정은 다음의 수식을 통해 표현될 수 있다:
여기서, 이다. 즉, 입력된 화합물 데이터()는 1×d_model 차원을 가지는 N개의 벡터로 분리되어 Avg 함수로 입력될 수 있다. , 이고, 및 는 훈련가능한 가중치이다. 전술한 바와 같이, 획득된 평균 벡터(μ) 및 분산 벡터(σ)는 , 인 차원을 갖는다.
재파라미터화부(340)는 재파라미터화를 통해 평균 벡터(μ) 및 분산 벡터(σ)에 따른 정규분포(N(μ,σ))로부터 1×dlatent 차원의 레이턴트 벡터(z)를 추출하도록 구성될 수 있다. 예시적으로, 재파라미터화부(340)는 재파라미터화 방식을 통해 평균이 0이고 표준편차가 1인 정규분포를 갖는 ε값을 N(μ,σ)에 더해줌으로써 레이턴트 벡터(z)를 샘플링할 수 있다. 이는 다음의 수학식으로 표현될 수 있다.
이러한 레이턴트 벡터(z)는 N×d_model 차원인 고차원의 화합물 데이터에 대한 의미있는 정보가 담긴 저차원(1×dlatent)의 히든 차원 공간인 레이턴스 스페이스(latent space)를 표현할 수 있다.
물리-화학적 특성 예측부(350)는 추출된 평균 벡터(μ)에 기초하여 화합물의 물리-화학적 특성을 예측하도록 구성될 수 있다. 예를 들어, 화합물의 물리-화학적 특성은 결합 친화도(BA: Binding Affinity), 합성 용이성(SA: Synthesis Accessibility), 용해도(LogP: Partition Coefficient), 링 사이즈(Ring Size), 분자량(MW: Molecular Weight), 유사도(Similarity) 등을 포함할 수 있다. 물리-화학적 특성 예측부(350)는 레이턴트 벡터(z)가 화합물의 물리-화학적 특성을 내포할 수 있도록 물리-화학적 특성 예측 벡터(Yμ)를 획득할 수 있으며, 이는 다음의 수학식으로 표현될 수 있다:
수학식 9에 표현된 바와 같이, 물리-화학적 특성 예측부(350)는 평균 벡터(μ)를 입력값으로 하는 1×dzo 차원으로의 제 1 선형 변환 출력값을 ReLU 함수에 입력하여 제 1 출력 벡터()를 획득할 수 있으며, dzo은 제 1 선형 변환의 설정된 차원 크기이다. 물리-화학적 특성 예측부(350)는 제 1 출력 벡터를 입력값으로 하는 1×dz1 차원으로의 제 2 선형 변환 출력값을 ReLU 함수에 입력하여 제 2 출력 벡터()를 획득할 수 있으며, dz1은 제 2 선형 변환의 설정된 차원 크기이다. 물리-화학적 특성 예측부(350)는 제 2 출력 벡터를 입력값으로 하는 1×y 차원으로의 제 3 선형 변환을 통해 물리-화학적 특성 예측 벡터()를 획득할 수 있다.
시퀀스 길이 예측부(360)는 추출된 평균 벡터(μ)에 기초하여 화합물 시퀀스의 길이(즉, 예측될 화합물의 SMILES 시퀀스의 길이(N))를 예측하도록 구성될 수 있다. 예측된 화합물 시퀀스의 길이는 시퀀스 길이 예측 벡터(S)로서 획득될 수 있다. 이러한 과정은 다음의 수학식으로 표현될 수 있다:
수학식 10에 표현된 바와 같이, 시퀀스 길이 예측부(360)는 평균 벡터(μ)를 입력값으로 하는 1×dl0 차원으로의 제 1 선형 변환을 통해 제 1 출력 벡터()를 획득할 수 있으며, dl0은 제 1 선형 변환의 설정된 차원 크기이다. 시퀀스 길이 예측부(360)는 제 1 출력 벡터를 입력값으로 하는 1×L 차원으로의 제 2 선형 변환을 통해 제 2 출력 벡터()를 획득하고, 제 2 출력 벡터를 Softmax 함수에 입력하여 시퀀스 길이 예측 벡터()를 획득할 수 있다.
정보 확장 계층부(370)는 레이턴트 벡터(z)에 내재된 정보가 디코딩 계층에서의 학습에 이용될 수 있도록 레이턴트 벡터(z)를 디코딩 계층으로의 입력을 위해 설정된 차원을 갖는 인코더-출력 화합물 데이터()로 변환하도록 구성될 수 있다. 이를 위해, 정보 확장 계층부(370)는 확장부, 멀티헤드 셀프 어텐션 부계층부 및 잔차 연결 및 정규화부를 포함할 수 있다. 이러한 과정은 다음의 수학식으로 표현될 수 있다:
수학식 11에 표현된 바와 같이, 확장부는 1×dlatent 차원의 레이턴트 벡터(z)를 Expand 함수를 통해 N×d_model 차원의 행렬(Z)로 변환시킬 수 있다. Expand 함수는 레이턴트 벡터(z) N개를 Concat 함수에 의해 연결시킴으로써 N×dlatent 차원의 행렬을 생성하고 이를 와 내적시킴으로써 차원의 행렬(Z)를 생성할 수 있다. 멀티헤드 셀프 어텐션 부계층부는 멀티헤드 셀프 어텐션 방식으로 입력된 화합물 데이터(Z)를 학습시키고, 잔차 연결 및 정규화부는 멀티헤드 셀프 어텐션 부계층의 입력 화합물 데이터(Z) 및 출력 화합물 데이터()를 잔차 연결 및 정규화시킨 인코더-출력 화합물 데이터()를 생성할 수 있다.
디코더 계층부(380)는 어텐션 방식으로 인코더-출력 화합물 데이터()를 이용하여 입력 화합물 데이터()를 학습시키도록 구성될 수 있다. 이를 위해, 디코더 계층부(380)는 마스킹 멀티헤드 셀프 어텐션(Masked Multi-Head Self Attention) 부계층부, 제 1 잔차 연결 및 정규화부, 멀티헤드 인코더-디코더 어텐션(Multi-Head Encoder-Decoder Attention) 부계층부, 제 2 잔차 연결 및 정규화부, 피드 포워드 부계층부 및 제 3 잔차 연결 및 정규화부를 포함할 수 있다.
마스킹 멀티헤드 셀프 어텐션 부계층부는 마스킹 행렬(M)이 적용된 멀티헤드 셀프 어텐션 방식으로 입력된 화합물 데이터()를 학습시키고, 제 1 잔차 연결 및 정규화부는 마스킹 멀티헤드 셀프 어텐션 부계층의 입력 화합물 데이터() 및 출력 화합물 데이터()를 잔차 연결 및 정규화시킨 결과 데이터()를 출력할 수 있다. 여기서, 마스킹 행렬(M)은 N×N 차원의 주 대각선 항을 포함한 아래 항들이 모두 1값을 가지고 나머지 항들은 0값을 가지는 하삼각행렬일 수 있다. 마스킹 행렬(M)을 적용함으로써, 마스킹 멀티헤드 셀프 어텐션 부계층부는 화합물의 n번째 토큰을 예측할 때 인코더 측에서 받은 정보()와 이미 예측된 0번째부터 n-1번째까지의 토큰의 정보를 이용하게 되며, 이를 통해 현재 시점(즉, n번째)의 예측에서 현재 시점보다 미래에 있는 토큰 정보(즉, n+1번째, n+2번째....)를 참고하지 못하도록 학습을 수행할 수 있다. 이러한 과정은 다음의 수식으로 표현될 수 있다.
여기서, Q, K, V는 각각 어텐션의 Query, Key, Value를 의미하고, M은 마스킹 행렬이고, 이고, h는 헤드들의 개수이다. 이고, WG, WQ, WK, 및 WV는 훈련가능한 가중치이며, 어텐션 헤드(headi)마다 다르게 설정될 수 있다.
멀티헤드 인코더-디코더 부계층부는 멀티헤드 인코더-디코더 어텐션 방식으로 인코더-출력 화합물 데이터()를 이용하여 제 1 잔차 연결 및 정규화부로부터 입력되는 마스킹 멀티-헤드 셀프 어텐션 학습된 화합물 데이터(, 아래에서는 설명의 편의를 위해 로 표시함)를 학습시키고, 제 2 잔차 연결 및 정규화부는 멀티헤드 인코더-디코더 부계층부의 입력 화합물 데이터() 및 출력 화합물 데이터()를 잔차 연결 및 정규화시킨 결과 데이터()를 출력할 수 있다. 이러한 경우에, 어텐션 학습을 위해 Q는 디코더 측에서 학습된 입력 화합물 데이터()에 기초하여 결정될 수 있으며, K 및 V는 인코더-출력 화합물 데이터()에 기초하여 결정될 수 있다. 이러한 과정은 다음의 수식으로 표현될 수 있다:
여기서, Q, K, V는 각각 어텐션의 Query, Key, Value를 의미하고, 이고, h는 헤드들의 개수이다. 이고, WG, WQ, WK, 및 WV는 훈련가능한 가중치이며, 어텐션 헤드(headi)마다 다르게 설정될 수 있다.
피드 포워드 부계층부는 제 2 잔차 연결 및 정규화부로부터 입력되는 멀티-헤드 인코더-디코더 어텐션 학습된 화합물 데이터(, 아래에서는 설명의 편의를 위해 로 표시함)를 추가적인 정보를 획득할 수 있도록 피드 포워드 신경망을 통해 학습시키고, 제 3 잔차 연결 및 정규화부는 피드 포워드 부계층의 입력 화합물 데이터() 및 출력 화합물 데이터()를 잔차 연결 및 정규화시킨 결과 데이터()를 출력시킬 수 있다. 이러한 과정은 다음의 수식으로 표현될 수 있다.
구현예에 따라, 디코더 계층부(380)는 디코더 계층의 학습 성능을 강화시키기 위해 복수개(예를 들어, 3개)의 연속된 디코더 계층들을 포함할 수 있다. 이러한 구현예에서, 디코더 계층부(380)는 이전 디코더 계층에서 학습된 화합물 데이터를 다음 디코더 계층으로 입력하는 방식으로 동작할 수 있으며, 첫번째 디코더 계층에서 입력 화합물 데이터()를 입력받고 마지막 디코더 계층에서 최종 학습된 화합물 데이터를 생성 계층부(390)로 출력할 수 있다. 또한, 각각의 디코더 계층의 멀티헤드 인코더-디코더 어텐션 부계층에는 정보 확장 계층(370)으로부터의 인코더-출력 화합물 데이터()가 입력될 수 있다.
생성 계층부(390)는 디코더 계층(380)에서 학습된 화합물 데이터(, 아래에서의 설명의 편의를 위해 로 표시함)로부터 화합물 데이터를 재구성하도록 구성될 수 있다. 이러한 과정은 다음의 수학식으로 표현될 수 있다:
수학식 15에 표현된 바와 같이, 생성 계층부(390)는 N×d_model 차원의 디코딩 계층(380)에서 출력된 화합물 데이터()를 입력값으로 하는 선형 변환을 통해 N×T 차원의 행렬을 획득하고, 획득된 행렬을 Softmax 함수에 입력하여 화합물 데이터 재구성 행렬()을 획득할 수 있다. 생성 계층부(390)는 화합물 데이터 재구성 행렬로부터 화합물 데이터를 재구성할 수 있다. 예를 들어, 생성 계층부(390)는 화합물 데이터 재구성 행렬()로부터 N×T 차원의 토큰화된 SMILES 데이터를 확률적으로 예측할 수 있으며, 예측된 토큰화된 SMILES 데이터를 토큰화-해제(de-tokenization)함으로써 SMILES 형식의 화합물 데이터를 재구성할 수 있다.
컴퓨팅 장치(200)는 도 3과 관련하여 설명된 화합물 정보 추출 모델을 통해 산출된 정보(예를 들어, 레이턴트 벡터(z))를 후술할 본 개시 내용의 화합물 최적화 모델에서 이용하도록 구성될 수 있다.
도 4는 본 개시 내용의 일 실시예에 따른 컴퓨팅 장치에 의해 구현되는 화합물 최적화 모델을 나타내는 예시적인 도면이다.
도 4에 도시된 바와 같이, 본 개시 내용에 따른 화합물 최적화 모델은 검색 범위 선택부(410), 검색 범위 분할부(420), 격자 최적화부(425) 및 최적화 출력부(480)를 포함할 수 있다.
본 개시 내용의 화합물 최적화 모델은 (예를 들어, 도 3의 재파라미터화부(340)를 통해 획득될 수 있는) 화합물 데이터에 대한 레이턴트 표현(즉, 레이턴트 벡터(z))에 대하여 수행될 수 있다.
검색 범위 선택부(410)는 화합물 데이터에 대한 레이턴트 벡터(z)의 검색 범위를 선택하도록 구성될 수 있다. 이러한 검색 범위는, 예를 들어, 통상적으로 [-6.0, 6.0]의 범위로 설정될 수 있으나 이에 제한되지 않으며 최적화가 필요한 범위에 따라 [rmin, rmax](rmin, rmax 는 각각 실수임)의 범위로 설정될 수 있다.
검색 범위 분할부(420)는 검색 범위 선택부(410)에서 선택된 검색 범위를 복수개(n)(n은 2 이상의 정수) 격자(grid) 범위들로 분할하도록 구성될 수 있다. 본 개시 내용의 레이턴트 벡터(z)는 예컨대 64차원 또는 128차원과 같은 고차원 데이터일 수 있으며, 이러한 고차원 데이터에 통상적인 베이시안 최적화를 적용하면 로컬 최적화에 머무는 결과를 가지는 한계점을 가지게 된다. 이러한 한계점을 극복하기 위해, 본 개시 내용은 후술할 바와 같이 전체 데이터 검색 범위를 복수개의 인터벌(즉, 격자 범위)로 나누고 각각의 인터벌에 대한 화합물 최적화 결과를 도출하여 연결(concatenate)시킬 수 있다.
검색 범위([rmin, rmax])를 n개의 격자 범위들로 분할시 각각의 격자 범위는 si(여기서, i ∈ [0, n-1])로 정의할 수 있다. 예를 들어, 검색 범위를 [-6.0, 6.0]으로 선택하고 12개의 격자 범위들로 구분하는 경우에, 격자 범위 s0는 [-6.0, -5.0], 격자 범위 s1은 [-5.0, -4.0], 격자 범위 s11은 [5.0, 6.0]으로 정의될 수 있다.
격자 최적화부(425)는 각각의 격자 범위에 대한 화합물 최적화를 수행하도록 구성될 수 있다. 예를 들어, 격자 최적화부(425)는 격자 범위 s0에 대하여 화합물 최적화 결과물(예를 들어, 해당 격자 범위에서 최적화된 레이턴트 벡터에 대응하는 재구성된 화합물 데이터)을 산출하고, 그 다음에 격자 범위 s1에 대하여 화합물 최적화 결과물을 산출하고, 그 다음에 다음 격자 범위 si에 대하여 화합물 최적화 결과물을 산출하는 방식으로 n개의 격자 범위들 각각에 대한 화합물 최적화를 수행할 수 있다.
최적화 출력부(480)는 각각의 격자 범위(si)에 대하여 산출된 최적화 결과들을 연결하여 최종 화합물 데이터를 제공하도록 구성될 수 있다. 예를 들어, 이러한 연결은 수학식 3에 정의된 Concat 함수를 이용하여 수행될 수 있다.
격자 최적화부(425)는 해당 격자 범위에 대한 화합물 최적화를 수행하기 위해 랜덤 샘플링부(430), 디코더부(440), 예측 평가부(450), 가우시안 프로세스(GP) 모델 업데이트부(460) 및 획득 함수(Acquisition Function)부(470)를 포함할 수 있다.
랜덤 샘플링부(430)는 해당 격자 범위(si)에서 복수개(K)(K는 2 이상의 정수)의 포인트들을 랜덤 샘플링하여 디코더부(440)로 제공하도록 구성될 수 있다. 해당 격자 범위(si)에서 랜덤 샘플링된 K개의 포인트들의 레이턴트 벡터는 다음과 같이 Zi로 표현될 수 있다:
디코더부(440)는 입력된 포인트들의 레이턴트 벡터(z)에 기초하여 화합물 데이터를 재구성하도록 구성될 수 있다. 예를 들어, 디코더부(440)는 도 3의 정보 확장 계층부(370), 디코더 계층부(380) 및 생성 계층부(390)에 대응하는 디코딩 동작을 수행할 수 있다. 다시 말하면, 디코더부(440)는 레이턴트 벡터(z)를 입력으로 하고 출력을 재구성된 화합물 데이터(X)로 하는 디코딩 동작을 수행할 수 있으며, 이는 다음의 수학식과 같이 표현될 수 있다:
또한, 구현예에 따라, 재구성된 화합물 데이터(X)는 도 3에서 설명된 바와 같이 SMILES 형식의 화합물 데이터로 출력될 수 있다.
예측 평가부(450)는 재구성된 화합물 데이터(X)의 복수개(M)(M은 2 이상의 정수)의 물리-화학적 특성들 각각에 대한 예측 및 스케일링을 통해 평가 메트릭(Evaluation Metric)을 결정하도록 구성될 수 있다. 이를 위해, 예측 평가부(450)는 디코더부(440)로부터 재구성된 화합물 데이터를 각각 입력받아 복수개(M)의 물리-화학적 특성들 각각에 대한 예측값을 결정하도록 구성되는 복수개(M)의 예측부들(451-1, 451-2,...,451-M)을 포함할 수 있다. 각각의 예측부(451)는 특정 물리-화학적 특성을 예측하기 위한 예측 모델일 수 있으며, 다양한 딥러닝(또는 머신러닝) 기반 예측 모델 또는 규칙기반(Rule-based) 예측 모델이 적용될 수 있다. 예를 들어, 이러한 예측 모델은 기존에 이용되고 있는 예측 모델일 수 있거나, 오픈소스로부터 입수가능한 예측 모델일 수 있거나, 또는 개발사 별로 자체 개발한 예측 모델일 수도 있다.
예시적인 물리-화학적 특성들은 결합 친화도(BA: Binding Affinity), 합성 용이성(SA: Synthesis Accessibility), 용해도(LogP: Partition Coefficient), 링 사이즈(Ring Size), 분자량(MW: Molecular Weight), 유사도(Similarity)를 포함할 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 예측 평가부(450)에서 위에서 언급된 6가지(M=6)의 물리-화학적 특성들을 예측하는 경우에, 예측 평가부(450)는 결합 친화도 예측부(451-1), 합성 용이성 예측부(451-2), 용해도 예측부(451-3), 링 사이즈 예측부(451-4), 분자량 예측부(451-5), 유사도 예측부(451-6)를 포함할 수 있다.
예측 평가부(450)는 예측부들(451)에서 예측된 복수개(M)의 물리-화학적 특성들 각각에 대한 예측값에 대하여 복수개(M)의 예측부들(451) 각각에 대응하는 복수개(M)의 스케일링 함수들을 적용함으로써 복수개(M)의 물리-화학적 특성들 각각에 대한 스케일링된 평가값을 결정할 수 있다. 각각의 예측부(451)로부터의 해당 물리-화학적 특성에 대한 예측값은 서로 다른 스케일 범위의 값을 가질 수 있기 때문에, 본 개시 내용의 예측 평가부(450)는 예측된 모든 물리-화학적 특성들이 동등한 스케일 범위를 가질 수 있도록 각각의 예측부(451)에 각각의 대응하는 스케일링 함수를 적용할 수 있다. 이러한 스케일링 함수의 적용을 통해, 본 개시 내용은 평가 메트릭을 결정하는데 있어 다른 스케일을 가지고 있는 물리-화학적 특성이 다른 물리-화학적 특성보다 더 중요하게 평가되거나 또는 덜 중요하게 평가되는 것을 방지할 수 있으며, 이를 통해 예측 평가의 안정성을 높일 수 있다.
예를 들어, 위의 6가지(M=6) 물리-화학적 특성들을 예측 및 평가하는 경우에, 예측 평가부(450)는 결합 친화도 예측부(451-1)에 대응하는 스케일링 함수, 합성 용이성 예측부(451-2)에 대응하는 스케일링 함수, 용해도 예측부(451-3)에 대응하는 스케일링 함수, 링 사이즈 예측부(451-4)에 대응하는 스케일링 함수, 분자량 예측부(451-5)에 대응하는 스케일링 함수, 유사도 예측부(451-6)에 대응하는 스케일링 함수를 각각 정의하여 적용할 수 있다.
예시적으로, 각각의 물리-화학적 특성에 대한 스케일링 함수는 다음의 설명과 같이 정의될 수 있다. 이러한 예에서, 각각의 물리-화학적 특성에 대한 각각의 스케일링 함수는 해당 물리-화학적 특성에 대한 예측값을 0~1 사이의 값으로 정규화시키도록 정의될 수 있다.
물리-화학적 특성들 중 결합 친화도((BA: Binding Affinity)는 단백질과 화합물의 결합력에 대한 척도이고, 통상적으로 로그 스케일로 0보다 큰 값을 가지고 대부분 10 이하의 값을 가지며, 결합 친화도 값이 클수록 결합력이 높다는 것을 의미할 수 있다.
결합 친화도 예측부(451-1)에서의 결합 친화도(BA) 예측은 다음과 같이 표현될 수 있다:
여기서, X는 재구성된 화합물 데이터이고, GBA는 결합 친화도 예측 모델이며, yBA는 결합 친화도 예측 모델의 출력값(즉, 결합 친화도 특성에 대한 예측값)이다.
결합 친화도 특성에 대한 예측값(yBA)에 적용되는 스케일링 함수(ScaleBA)는 다음과 같이 정의될 수 있다:
여기서, targetBA는 요구되는 목표 BA 값이다.
물리-화학적 특성들 중 합성 용이성(SA: Synthesis Accessibility)은 화합물의 생성 가능성을 나타내는 척도이고, 통상적으로 1~10 사이의 값을 가지며 1에 가까울수록 생성하기 쉬운 화합물임을 의미할 수 있다.
합성 용이성 예측부(451-2)에서의 합성 용이성(SA) 예측은 다음과 같이 표현될 수 있다:
여기서, X는 재구성된 화합물 데이터이고, GSA는 합성 용이성 예측 모델이며, ySA는 합성 용이성 예측 모델의 출력값(즉, 합성 용이성 특성에 대한 예측값)이다.
합성 용이성 특성에 대한 예측값(ySA)에 적용되는 스케일링 함수(ScaleSA)는 다음과 같이 정의될 수 있다:
여기서, targetSA는 요구되는 목표 SA 값이다. 스케일링 함수(ScaleSA)는 수학식 21에 표현된 바와 같이 생성되는 화합물의 다양성 저하를 방지하기 위한 ±1의 마진을 적용하여 생성된 화합물이 [targetSA-1,targetSA+1] 사이의 값을 가지도록 정의될 수 있다.
물리-화학적 특성들 중 용해도(LogP: Partition Coefficient)는 이론상으로 [-∞, +∞]의 값을 가질 수 있으며, 음수값은 친수성을 의미하고 양수값은 소수성을 의미할 수 있다.
용해도 예측부(451-3)에서의 logP 예측은 다음과 같이 표현될 수 있다:
여기서, X는 재구성된 화합물 데이터이고, GlogP는 용해도 예측 모델이며, ylogP는 용해도 예측 모델의 출력값(즉, 용해도 특성에 대한 예측값)이다.
용해도 특성에 대한 예측값(ylogP)에 적용되는 스케일링 함수(ScalelogP)는 다음과 같이 정의될 수 있다:
여기서, targetlogPmin 및 targetlogPmax는 각각 사용자에 의해 지정가능한 화합물의 최소 logP값 및 최대 logP 값이다.
물리-화학적 특성들 중 링 사이즈(Ring Size)는 생성된 화합물의 최대 고리 크기(yring_max) 및 최소 고리 크기(yring_min)를 나타내며, 최소 0개에서 최대 20개의 고리 크기를 가질 수 있다.
링 사이즈 예측부(451-4)에서의 링 사이즈(Ring) 예측은 다음과 같이 표현될 수 있다:
여기서, X는 재구성된 화합물 데이터이고, Gring_max 및 Gring_min은 링 사이즈 예측 모델이며, yring_max 및 yring_min은 링 사이즈 예측 모델의 출력값(즉, 링 사이즈 특성에 대한 예측값)이다.
링 사이즈 특성에 대한 예측값(yring_max 및 yring_min)에 적용되는 스케일링 함수(Scalering)는 다음과 같이 정의될 수 있다:
여기서, targetring_max 및 targetring_min는 각각 사용자에 의해 지정가능한 화합물의 최대 고리 크기 및 최소 고리 크기이다.
물리-화학적 특성들 중 분자량(MW: Molecular Weight)은 생성된 화합물의 분자량을 나타내며, 최소 0에서 최대 500의 값을 가질 수 있다.
분자량 예측부(451-5)에서의 링 사이즈(Ring) 예측은 다음과 같이 표현될 수 있다:
여기서, X는 재구성된 화합물 데이터이고, Gmw는 분자량 예측 모델이며, ymw는 분자량 예측 모델의 출력값(즉, 분자량 특성에 대한 예측값)이다.
분자량 특성에 대한 예측값(ymw)에 적용되는 스케일링 함수(Scalemw)는 다음과 같이 정의될 수 있다:
여기서, targetmw_max 및 targetmw_min는 각각 사용자에 의해 지정가능한 화합물의 최대 분자량 값 및 최소 분자량 값이다. 분자량 값은 다른 특성 값에 비해 상당히 큰 값을 가질 수 있기 때문에 다른 특성 값의 범위에 맞게 스케일링이 필요하며, 이를 위해 스케일링 함수(Scalemw)는 수학식 27에 표현된 바와 같이 exp()에 들어가는 값을 10으로 나누도록 정의될 수 있다.
물리-화학적 특성들 중 유사도(Similarity)는 생성된 화합물과 사용자가 입력한 화합물 간의 유사도를 나타내는 값으로 최소 0에서 최대 1의 값을 가질 수 있다.
유사도 예측부(451-6)에서의 유사도 예측은 다음과 같이 표현될 수 있다:
여기서, X는 재구성된 화합물 데이터이고, Gsim은 유사도 예측 모델이며, ysim은 유사도 예측 모델의 출력값(즉, 유사도 특성에 대한 예측값)이다.
유사도 특성에 대한 예측값(ysim)에 적용되는 스케일링 함수(Scalesim)는 다음과 같이 정의될 수 있다:
여기서, targetsim은 요구되는 목표 유사도 값이다. 유사도 값은 다른 특성 값에 비해 작은 값을 가질 수 있기 때문에 다른 특성 값의 범위에 맞게 스케일링이 필요하며, 이를 위해 스케일링 함수(Scalesim)는 수학식 29에 표현된 바와 같이 마진이 적용된 다른 특성(예를 들어, 분자량, LogP 등)과 달리 마진이 적용되지 않도록 정의될 수 있다. 스케일링 함수(Scalesim)에서 마진을 주지 않음으로써, 보다 타이트한 평가가 가능하며 원하지 않는 결과가 나오는 것을 예방할 수 있다.
예측 평가부(450)는 복수개(M)의 물리-화학적 특성들 각각에 대하여 결정된 스케일링된 평가값들에 기초하여 평가 메트릭(Eval)을 결정하도록 구성될 수 있다. 예를 들어, 평가 메트릭(Eval)은 각 물리-화학적 특성에 대한 스케일링된 평가값의 합에 기초하여 정의될 수 있다. 예를 들어, 5개의 물리-화학적 특성들(BA, SA, Sim, logP, Ring)에 대하여 스케일링된 평가값들(ScaleBA, ScaleSA, Scalesim, ScalelogP, Scalering)이 결정된 경우, 평가 메트릭(Eval)은 다음과 같이 결정될 수 있다:
가우시안 프로세스(GP) 모델 업데이트부(460)는 결정된 평가 메트릭(Eval)에 기초하여 가우시안 프로세스(GP) 함수를 업데이트하도록 구성될 수 있다. GP 모델 업데이트부(460)는 가우시안 프로세스 회기(Gaussian Process Regression) 방식으로 평가 메트릭의 형태에 대한 확률적인 추정을 수행할 수 있다. 이를 통해, 기 샘플링된 포인트들을 기준으로 해당 격자 범위 내의 모든 포인트에 대한 확률분포가 획득될 수 있으며, 이러한 확률분포는 이후에 어떤 포인트를 추가로 샘플링할지 결정하는데 이용될 수 있다.
GP 모델 업데이트부(460)의 가우시안 프로세스(GP) 함수(f(z))는 다음과 같이 정의될 수 있다:
여기서, 는 f(z)의 평균 벡터이며, 는 f(z)의 공분산 행렬이다. 수학식 30 및 31로부터 표현되는 바와 같이, f(z)의 평균 벡터 =Eval일 수 있으며, f(z)의 공분산 행렬 는 해당 격자 범위의 기 샘플링된 포인트(z)와 예측될 포인트()의 유클리드 거리(Eclidean Distance)에 기초하여 결정될 수 있다.
이에 따라, GP 모델 업데이트부(460)는 예측 평가부(450)에서 결정된 평가 메트릭(Eval)에 기초하여 GP 함수의 평균 벡터를 업데이트하고 해당 격자 범위의 기 샘플링된 포인트와 예측될 포인트와의 유클리드 거리에 기초하여 GP 함수의 공분산 행렬을 업데이트할 수 있다.
획득 함수부(470)는 GP 모델 업데이트부(460)에서 업데이트된 가우시안 프로세스(GP) 함수에 기초하여 획득되는 획득 함수(Acquisition Function)로부터 하나 이상의 다음 샘플링 포인트를 결정하도록 구성될 수 있다. 획득 함수는 EI(Expected Improvement) 함수로서 정의될 수 있으며, 다음과 같이 표현될 수 있다:
여기서, 는 평균값이 y이고, 표준편차가 k인 가우시안 분포를 의미하며, 는 기 샘플링된 포인트의 레이턴트 벡터 중 가장 높은 평가 메트릭 점수를 가지고 있는 벡터를 의미할 수 있다. 수학식 32에 표현된 바와 같이 y는 GP 함수의 평균 벡터()일 수 있고 표준편차 k는 GP 함수의 공분산 행렬(즉, 커널 함수)일 수 있다. 다시 말하면, 획득 함수인 EI(z)는 GP 함수의 평균 벡터 및 공분산 행렬로 정의되는 정규분포에 기초하여 수학식 32에 표현된 바와 같이 정의될 수 있다.
획득 함수부(470)는 획득 함수 EI(z)의 값이 가장 큰 하나 이상의 레이턴트 벡터 지점을 하나 이상의 다음 샘플링 포인트로 결정하도록 구성될 수 있다. 예를 들어, 1개의 다음 샘플링 포인트를 결정하는 경우에는 EI 함수의 값이 최대가 되는 z 지점을 다음 샘플링 포인트로 결정할 수 있으며, 3개의 다음 샘플링 포인트들을 결정하는 경우에는 EI 함수의 값이 가장 큰 3개의 z 지점들을 다음 샘플링 포인트들로 결정할 수 있다.
전술한 과정들을 통해 다음 샘플링 포인트들이 결정되면, 격자 최적화부(425)는 결정된 다음 샘플링 포인트들을 획득 함수부(470)로부터 디코더부(440)로 전달할 수 있다. 격자 최적화부(425)는 해당 격자 범위의 최적화 결과물로서 미리 결정된 개수의 다음 샘플링 포인트들을 결정할 때까지 전술한 디코더부(440), 예측 평가부(450), GP 모델 업데이트부(460) 및 획득 함수부(470)를 통한 동작을 반복하도록 구성될 수 있다.
여기서, 다음 샘플링 포인트들의 미리 결정된 개수는 본 개시 내용의 화합물 최적화 모델을 통해 획득하고자 하는 최종 화합물 데이터의 개수에 따라 적절하게 설정될 수 있다. 예를 들어, 400개의 후보 화합물 데이터(즉, 최종 화합물 데이터)를 산출하고자 하며 10개의 격자 범위들 각각에 대하여 화합물 최적화를 수행하는 경우에, 각 격자 범위에서 산출되는 다음 샘플링 포인트의 미리 결정된 개수는 40개로 설정될 수 있다.
격차 최적화부(425)를 통해 각각의 격자 범위(si)에 대한 최적화 결과물이 산출되면, 전술한 바와 같이, 최적화 출력부(480)는 각각의 격자 범위에 대하여 산출된 최적화 결과물을 연결(예를 들어, Concat 함수를 이용하여 연결)하여 최종 화합물 데이터를 제공할 수 있다.
또한, 최적화 출력부(480)는 하나 이상의 물리-화학적 특성에 대하여 설정된 허용 범위를 통해 산출된 최종 화합물 데이터를 필터링함으로써 필터링된 최종 화합물 데이터를 제공하도록 추가적으로 구성될 수 있다. 예를 들어, 산출된 후보 화합물 데이터가 400개이나 이 중에서 추가로 감소된 개수의 후보 화합물 데이터만을 제공받고자 하는 경우, 최적화 출력부(480)는 하나 이상의 물리-화학적 특성(예를 들어, 전술한 6개의 물리-화학적 특성들 또는 다른 물리-화학적 특성들)의 허용 범위를 설정하여 이러한 허용 범위를 벗어나는 해당 특성값을 갖는 후보 화합물 데이터들을 필터링함으로써 더 적은 개수의 그리고 추가적인 허용 범위를 만족하는 후보 화합물 데이터를 제공할 수 있다.
예를 들어, 최적화 출력부(480)를 통해 산출된 최종 화합물 데이터 중에는 합성이 어렵거나 또는 양산이 어려운 화합물 구조가 포함되어 있을 수 있으며, 이러한 경우에 필터링 범위(즉, 허용 범위)로서 SA의 범위를 [1~4]로 설정하고 링 사이즈를 최소 2에서 최대 7로 설정함으로써, 해당 허용 조건들을 만족하는 화합물 데이터가 필터링된 최종 화합물 데이터로서 컴퓨팅 장치(200)를 통해 사용자/개발자에게 제공될 수 있다.
도 5는 본 개시 내용의 일 실시예에 따른 화합물 최적화 방법을 나타내는 예시적인 순서도이다.
도 5에 도시된 바와 같이, 컴퓨팅 장치(200)는 화합물 데이터에 대한 레이턴트 벡터의 검색 범위를 선택할 수 있다(510). 컴퓨팅 장치(200)는 선택된 검색 범위를 복수개(n)의 격자 범위들로 분할할 수 있다(520). 컴퓨팅 장치(200)는 각각의 격자 범위에 대한 화합물 최적화를 수행할 수 있다(530). 컴퓨팅 장치(200)는 각각의 격자 범위에 대하여 산출된 최적화 결과물을 연결하여 최종 화합물 데이터를 제공할 수 있다(540). 여기서, 각각의 격자 범위에 대한 화합물 최적화(520)는 전술한 바와 같이, 격자 최적화부(425)의 랜던 샘플링부(430), 디코더부(440), 예측 평가부(450), GP 모델 업데이트부(460) 및 획득 함수부(470)를 통하여 수행될 수 있다.
도 6는 본 개시 내용의 일 실시예에 따른 입력 화합물에 대하여 화합물 최적화 모델이 수행된 결과를 나타내는 예시적인 도면이다.
도 6a는 본 개시 내용의 화합물 최적화 모델에 입력될 수 있는 입력 화합물 구조를 나타내는 예시적인 도면이다. 본 개시 내용의 화합물 최적화 모델을 통해 도 6a와 같은 입력 화합물에 대하여 유사도(Sim)를 0.8이상 유지하면서 logP가 1.5~2의 값을 가지고 분자량(mw)이 350~400g/mol의 값을 갖는 후보 화합물 데이터를 도출하는 동작을 수행하였다. 그 결과, 도 6b에 도시된 바와 같이, 전술한 logP 및 분자량 범위를 만족하는 246개의 생성된 후보 화합물을 확인할 수 있었다. 또한, 생성된 후보 화합물들에 대한 추가적인 필터링(SA 범위 설정, 링 사이즈 범위 설정 등)으로 합성이 어렵거나 양산이 어려운 구조를 필터링함으로써 도 6c에 예시된 바와 같은 최종 화합물 데이터가 도출될 수 있다.
임의의 제시된 프로세스들에 있는 단계들의 임의의 특정한 순서 또는 계층 구조는 예시적인 접근들의 일례임을 이해하도록 한다. 설계 우선순위들에 기반하여, 본 발명의 범위 내에서 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조가 재배열될 수 있다는 것을 이해하도록 한다. 첨부된 방법 청구항들은 예시적인 순서로 다양한 단계들의 엘리먼트들을 제공하지만 제시된 특정한 순서 또는 계층 구조에 한정되는 것을 의미하지는 않는다.
본 명세서 사용되는 용어 "컴포넌트", "유닛(또는 부)", "모듈", "시스템" 등은 컴퓨터-관련 엔티티, 하드웨어, 펌웨어, 소프트웨어, 소프트웨어 및 하드웨어의 조합, 또는 소프트웨어의 실행을 지칭할 수 있다. 예를 들어, 컴포넌트는 프로세서상에서 실행되는 처리과정, 프로세서, 객체, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이들로 제한되는 것은 아니다. 예를 들어, 컴퓨팅 장치에서 실행되는 애플리케이션 및 컴퓨팅 장치 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세서 및/또는 실행 스레드 내에 상주할 수 있고, 일 컴포넌트는 하나의 컴퓨터 내에 로컬화될 수 있고, 또는 2개 이상의 컴퓨터들 사이에 분배될 수 있다. 또한, 이러한 컴포넌트들은 그 내부에 저장된 다양한 데이터 구조들을 갖는 다양한 컴퓨터 판독가능한 매체로부터 실행할 수 있다.
제시된 실시예들에 대한 설명은 임의의 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 발명의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 발명은 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.
100: 화합물 DB
200: 컴퓨팅 장치
210: 프로세서
220: 저장 매체
222: 운영 시스템
224: 컴퓨터 프로그램
230: 메모리
240: 네트워크 인터페이스
250: 시스템 버스
410: 검색 범위 선택부
420: 검색 범위 분할부
425: 격자 최적화부
430: 랜덤 샘플링부
440: 디코더부
450: 예측 평가부
451-1, 451-2, 451-M: 예측부
460: GP 모델 업데이트부
470: 획득 함수부
480: 최적화 출력부
200: 컴퓨팅 장치
210: 프로세서
220: 저장 매체
222: 운영 시스템
224: 컴퓨터 프로그램
230: 메모리
240: 네트워크 인터페이스
250: 시스템 버스
410: 검색 범위 선택부
420: 검색 범위 분할부
425: 격자 최적화부
430: 랜덤 샘플링부
440: 디코더부
450: 예측 평가부
451-1, 451-2, 451-M: 예측부
460: GP 모델 업데이트부
470: 획득 함수부
480: 최적화 출력부
Claims (15)
- 컴퓨팅 장치에 의해 수행가능한 화합물 최적화 방법으로서,
화합물 데이터에 대한 레이턴트 벡터의 검색 범위를 선택하는 단계;
상기 선택된 검색 범위를 복수개(n)의 격자 범위들로 분할하는 단계;
각각의 격자 범위에 대한 화합물 최적화를 수행하는 단계; 및
각각의 격자 범위에 대하여 산출된 최적화 결과물을 연결(concatenate)하여 최종 화합물 데이터를 제공하는 단계를 포함하며,
상기 각각의 격자 범위에 대한 화합물 최적화를 수행하는 단계는,
상기 격자 범위에서 복수개(K)의 포인트들을 랜덤 샘플링하여 디코더부로 제공하는 단계;
상기 디코더부를 통해 입력된 포인트들의 레이턴트 벡터에 기초하여 화합물 데이터를 재구성하는 단계;
상기 재구성된 화합물 데이터의 복수개(M)의 물리-화학적 특성들 각각에 대한 예측 및 스케일링을 통해 평가 메트릭을 결정하는 단계;
상기 평가 메트릭에 기초하여 가우시안 프로세스(GP) 함수를 업데이트하는 단계;
상기 업데이트된 가우시안 프로세스 함수에 기초하여 획득되는 획득 함수(Acquisition Function)로부터 하나 이상의 다음 샘플링 포인트를 결정하는 단계; 및
상기 결정된 다음 샘플링 포인트를 상기 디코더부로 제공하고, 상기 최적화 결과물로서 미리 결정된 개수의 다음 샘플링 포인트들을 결정할 때까지 상기 재구성하는 단계, 상기 평가 메트릭을 결정하는 단계, 상기 업데이트하는 단계 및 상기 다음 샘플링 포인트를 결정하는 단계를 반복하는 단계를 포함하는,
화학물 최적화 방법. - 제 1 항에 있어서,
하나 이상의 물리-화학적 특성에 대하여 설정된 허용 범위를 통해 상기 최종 화합물 데이터를 필터링함으로써 필터링된 최종 화합물 데이터를 제공하는 단계를 더 포함하는,
화학물 최적화 방법. - 제 1 항에 있어서,
상기 평가 메트릭을 결정하는 단계는,
상기 재구성된 화합물 데이터를 복수개(M)의 물리-화학적 특성들을 각각 예측하기 위한 복수개(M)의 예측 모델들로 입력함으로써 상기 복수개(M)의 물리-화학적 특성들 각각에 대한 예측값을 결정하는 단계;
상기 복수개(M)의 물리-화학적 특성들 각각에 대한 예측값에 대하여 상기 복수개(M)의 예측 모델들 각각에 대응하는 복수개(M)의 스케일링 함수들을 적용함으로써 상기 복수개(M)의 물리-화학적 특성들 각각에 대한 스케일링된 평가값을 결정하는 단계; 및
상기 물리-화학적 특성들에 대한 스케일링된 평가값들에 기초하여 상기 평가 메트릭을 결정하는 단계를 포함하는,
화합물 최적화 방법. - 제 3 항에 있어서,
상기 복수개(M)의 스케일링 함수들 각각은 대응하는 물리-화학적 특성에 대한 예측값을 0~1 사이의 값으로 정규화시키도록 정의되는,
화합물 최적화 방법. - 제 1 항에 있어서,
상기 물리-화학적 특성들은 결합 친화도(BA: Binding Affinity), 합성 용이성(SA: Synthesis Accessibility), 용해도(LogP: Partition Coefficient), 링 사이즈(Ring Size), 분자량(MW: Molecular Weight), 유사도(Similarity)를 포함하는,
화합물 최적화 방법. - 제 1 항에 있어서,
상기 가우시안 프로세스(GP) 함수를 업데이트하는 단계는,
상기 평가 메트릭에 기초하여 상기 GP 함수의 평균 벡터를 업데이트하고 상기 격자 범위의 기 샘플링된 포인트와 예측될 포인트와의 유클리드 거리에 기초하여 상기 GP 함수의 공분산 행렬을 업데이트하는 단계를 포함하는,
화합물 최적화 방법. - 제 6 항에 있어서,
상기 획득 함수로부터 하나 이상의 다음 샘플링 포인트를 결정하는 단계는,
상기 업데이트된 GP 함수의 평균 벡터 및 공분산 행렬로 정의되는 정규분포에 기초하여 획득되는 상기 획득 함수의 값이 가장 큰 하나 이상의 레이턴트 벡터 지점을 상기 하나 이상의 다음 샘플링 포인트로 결정하는 단계를 포함하는,
화합물 최적화 방법. - 화합물 최적화를 위한 컴퓨팅 장치로서,
화합물 데이터에 대한 레이턴트 벡터의 검색 범위를 선택하도록 구성되는 검색 범위 선택부;
상기 선택된 검색 범위를 복수개(n)의 격자 범위들로 분할하도록 구성되는 검색 범위 분할부;
각각의 격자 범위에 대한 화합물 최적화를 수행하도록 구성되는 격자 최적화부; 및
각각의 격자 범위에 대하여 산출된 최적화 결과물을 연결하여 최종 화합물 데이터를 제공하도록 구성되는 최적화 출력부를 포함하며,
상기 격자 최적화부는,
상기 격자 범위에서 복수개(K)의 포인트들을 랜덤 샘플링하여 디코더부로 제공하도록 구성되는 랜덤 샘플링부;
입력된 포인트들의 레이턴트 벡터에 기초하여 화합물 데이터를 재구성하도록 구성되는 디코더부;
상기 재구성된 화합물 데이터의 복수개(M)의 물리-화학적 특성들 각각에 대한 예측 및 스케일링을 통해 평가 메트릭을 결정하도록 구성되는 예측 평가부;
상기 평가 메트릭에 기초하여 가우시안 프로세스(GP) 함수를 업데이트하도록 구성되는 GP 모델 업데이트부; 및
상기 업데이트된 가우시안 프로세스 함수에 기초하여 획득되는 획득 함수로부터 하나 이상의 다음 샘플링 포인트를 결정하도록 구성되는 획득 함수부를 포함하며,
상기 격자 최적화부는 상기 결정된 다음 샘플링 포인트를 상기 디코더부로 제공하고, 상기 최적화 결과물로서 미리 결정된 개수의 다음 샘플링 포인트들을 결정할 때까지 상기 디코더부, 상기 예측 평가부, 상기 GP 모델 업데이트부 및 상기 획득 함수부를 통한 동작을 반복하도록 구성되는,
컴퓨팅 장치. - 제 8 항에 있어서,
상기 최적화 출력부는 하나 이상의 물리-화학적 특성에 대하여 설정된 허용 범위를 통해 상기 최종 화합물 데이터를 필터링함으로써 필터링된 최종 화합물 데이터를 제공하도록 추가적으로 구성되는,
컴퓨팅 장치. - 제 8 항에 있어서,
상기 예측 평가부는,
상기 재구성된 화합물 데이터를 각각 입력받아 복수개(M)의 물리-화학적 특성들 각각에 대한 예측값을 결정하도록 구성되는 복수개(M)의 예측부들을 포함하고,
상기 예측 평가부는,
상기 복수개(M)의 물리-화학적 특성들 각각에 대한 예측값에 대하여 상기 복수개(M)의 예측부들 각각에 대응하는 복수개(M)의 스케일링 함수들을 적용함으로써 상기 복수개(M)의 물리-화학적 특성들 각각에 대한 스케일링된 평가값을 결정하고, 상기 물리-화학적 특성들에 대한 스케일링된 평가값들에 기초하여 상기 평가 메트릭을 결정하도록 구성되는,
컴퓨팅 장치. - 제 10 항에 있어서,
상기 복수개(M)의 스케일링 함수들 각각은 대응하는 물리-화학적 특성에 대한 예측값을 0~1 사이의 값으로 정규화시키도록 정의되는,
컴퓨팅 장치. - 제 8 항에 있어서,
상기 물리-화학적 특성들은 결합 친화도(BA: Binding Affinity), 합성 용이성(SA: Synthesis Accessibility), 용해도(LogP: Partition Coefficient), 링 사이즈(Ring Size), 분자량(MW: Molecular Weight), 유사도(Similarity)를 포함하는,
컴퓨팅 장치. - 제 8 항에 있어서,
상기 GP 모델 업데이트부는 상기 평가 메트릭에 기초하여 상기 GP 함수의 평균 벡터를 업데이트하고 상기 격자 범위의 기 샘플링된 포인트와 예측될 포인트와의 유클리드 거리에 기초하여 상기 GP 함수의 공분산 행렬을 업데이트하도록 구성되는,
컴퓨팅 장치. - 제 13 항에 있어서,
상기 획득 함수부는 상기 업데이트된 GP 함수의 평균 벡터 및 공분산 행렬로 정의되는 정규분포에 기초하여 획득되는 상기 획득 함수의 값이 가장 큰 하나 이상의 레이턴트 벡터 지점을 상기 하나 이상의 다음 샘플링 포인트로 결정하도록 구성되는,
컴퓨팅 장치. - 제1항 내지 제7항 중 어느 한 항에 따른 방법을 실행하기 위한 컴퓨터-실행가능 명령들을 포함하는, 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210160209A KR20230073630A (ko) | 2021-11-19 | 2021-11-19 | 화합물 최적화를 위한 장치 및 방법 |
PCT/KR2022/014509 WO2023090627A1 (ko) | 2021-11-19 | 2022-09-28 | 화합물 최적화를 위한 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210160209A KR20230073630A (ko) | 2021-11-19 | 2021-11-19 | 화합물 최적화를 위한 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230073630A true KR20230073630A (ko) | 2023-05-26 |
Family
ID=86397236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210160209A KR20230073630A (ko) | 2021-11-19 | 2021-11-19 | 화합물 최적화를 위한 장치 및 방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20230073630A (ko) |
WO (1) | WO2023090627A1 (ko) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4156032A1 (en) * | 2017-05-23 | 2023-03-29 | Google LLC | Attention-based sequence transduction neural networks |
EP4050612A4 (en) * | 2019-10-21 | 2023-11-15 | Standigm Inc. | METHOD AND DEVICE FOR COMPOUND DESIGN |
-
2021
- 2021-11-19 KR KR1020210160209A patent/KR20230073630A/ko not_active Application Discontinuation
-
2022
- 2022-09-28 WO PCT/KR2022/014509 patent/WO2023090627A1/ko unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023090627A1 (ko) | 2023-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Goudet et al. | Learning functional causal models with generative neural networks | |
Singh et al. | Construction of Bayesian network structures from data: A brief survey and an efficient algorithm | |
CN113299354B (zh) | 基于Transformer和增强交互型MPNN神经网络的小分子表示学习方法 | |
US7389208B1 (en) | System and method for dynamic knowledge construction | |
US7761392B2 (en) | Configurable infinite logic signal processing network and genetic computing method of designing the same | |
KR102362679B1 (ko) | 심전도 신호 기반의 만성질환 예측 방법 | |
Virgolin et al. | On explaining machine learning models by evolving crucial and compact features | |
CN111461168A (zh) | 训练样本扩充方法、装置、电子设备及存储介质 | |
KR102534453B1 (ko) | 의료 영상 기반의 질환 예측 방법 | |
Rigoni et al. | Conditional constrained graph variational autoencoders for molecule design | |
EP3869513A1 (en) | De novo generation of molecules using manifold traversal | |
Wang et al. | idarts: Improving darts by node normalization and decorrelation discretization | |
Ledezma et al. | GA-stacking: Evolutionary stacked generalization | |
CN116959613B (zh) | 基于量子力学描述符信息的化合物逆合成方法及装置 | |
CN112086144A (zh) | 分子生成方法、装置、电子设备及存储介质 | |
Toth et al. | Seq2tens: An efficient representation of sequences by low-rank tensor projections | |
KR20220163241A (ko) | 생체신호 분석 방법 | |
Simsek et al. | Deep learning in smart health: Methodologies, applications, challenges | |
KR20230022005A (ko) | 화합물 정보 추출을 위한 장치 및 방법 | |
Thompson et al. | The contextual lasso: Sparse linear models via deep neural networks | |
JPWO2020049666A1 (ja) | 時系列データ処理装置 | |
CN115083537A (zh) | 分子骨架跃迁的处理方法、装置、介质及电子设备 | |
Alatas et al. | Mining fuzzy classification rules using an artificial immune system with boosting | |
KR20230073630A (ko) | 화합물 최적화를 위한 장치 및 방법 | |
Li et al. | GLDH: Toward more efficient global low-density locality-sensitive hashing for high dimensions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |