본문 바로가기
Technology

Virtual Library와 Similarity Search

by HITS 2022. 6. 9.

Virtual Library란?

Virtual Library란 약물이 될 가능성이 있는 다량의 가상화합물을 컴퓨터라는 저장 공간에 저장해 놓은 데이터를 의미합니다. Virtual Library는 일종의 잠재적인 약물 후보군과도 같습니다. 따라서 최종적으로 선발될 가능성이 조금이라도 높은 후보들을 최대한 많이 확보하는 게 중요합니다. 때문에 Virtual Library는 대개 그 크기가 상상할 수 없을 정도로 큽니다. 글로벌 기업들이 보유하고 있는 Virtual Library 중에서는 관측 가능한 우주에 존재하는 별의 개수(10^11) 보다 많은 경우도 있습니다. 실용적인 Virtual Library를 만들기 위해서는 필요시 쉽게 합성할 수 있는 분자들로 구성하는 것이 매우 중요합니다. 

 

Drug discovery today  24.5 (2019): 1148-1156.

 

Virtual Library를 만드는 방법

천문학적인 숫자의 분자로 구성된 Virtual Library를 사람이 하나하나 설계하는 것이 불가능합니다. 합성 용이성drug-likeness도 함께 고려해야 하기 때문에, 규칙성 없이 무작위로 원자를 이어 붙이는 방식도 매우 비효율적입니다. 때문에 통상적으로 Virtual Library를 생성하기 위해서는 다음의 방법을 이용합니다.

먼저 Building Block이라고 할 수 있는 크기가 작은 화합물의 Pool을 생성합니다. 이 Pool에 속하는 화합물은 산업적으로 합성이 용이해야 합니다. 화합물의 약물 가능성이 높다고 하더라도 합성 생성물의 수율이 낮거나 그 비용이 비싸다면 상업성이 매우 떨어지기 때문입니다. 그리고 해당 Building Block들끼리 일어날 수 있는 화학 반응을 적용하여 새로운 화합물을 만들어냅니다. 이 과정에 이용되는 화학 반응은 매우 단순한 과정으로 손쉽게 일으킬 수 있는 화학 반응이어야 합니다. 이제 새로 생성된 화합물을 Building Block으로 삼아 위 과정을 반복하면 합성이 용이한 화합물을 대량으로 생성해 낼 수 있습니다.

 

Drug discovery today  24.5 (2019): 1148-1156.

 

Virtual Library를 탐색하는 방법

Virtual Library를 탐색하는 것은 상당한 시간이 소요되는 작업입니다.

신약 개발의 초기후보물질 발굴 과정은 Docking이라는 일련의 계산 과정을 필요로 하는데요. 이 과정은 계산량이 많아 긴 시간이 필요합니다. 만약 Virtual Library 안에 포함된 화합물의 개수가 40억 개이고, 40억 개에 대해 전부 Docking을 실시한다면, 100개의 CPU로 약 3년이 소요됩니다. 수 개월내에 이 작업을 수행하기 위해서는 수천 개의 CPU가 필요합니다. 통상적인 계산자원으로는 불가능합니다. 여기서 합리적인 Virtual Library 탐색 전략의 필요성이 대두됩니다.

Similarity Search

Similarity Search는 유사한 구조를 가지는 화합물은 같은 타겟 단백질에 대해 유사한 활성을 지닐 것이라는 가정에 근거한 탐색 방법입니다. 활성이 있는 것으로 알려진 화합물과 유사한 구조를 지니는 화합물을 Virtual Library에서 찾을 수 있다면, 이 유사한 구조의 화합물만을 선별 후 Docking을 수행하여 계산 시간을 단축시킬 수 있을 겁니다. 또는 소수의 분자들에 대해서 Docking 계산하여 score가 높은 물질을 선별하고, 선별된 물질과 유사한 구조의 화합물에 대해서만 추가로 Docking 계산을 수행할 수 있습니다. 물론 Similarity Search 과정이 Docking 과정보다 더 빨라야겠죠. 그럼 이제 서로 다른 두 화합물이 서로 얼마나 유사한지 계산하는 방법에 대해서 알아보기로 합시다.

 

Molecular Fingerprint

두 화합물의 유사도를 논하려면 먼저 '무엇이' 유사한지 결정해야 합니다. 이렇게 두 화합물의 유사도를 비교하려면 컴퓨터에게 분자의 특성을 설명해 줘야 하는데, 이때 사용되는 것이 Molecular descriptor입니다. Molecular fingerprint는 Molecular descriptor 중 가장 보편적으로 사용되는 개념으로써, '분자구조'라는 차원을 정의할 수 없는 추상적인 개념을 유한한 차원의 vector로 정의하는 개념을 말합니다.

Structural key based fingerprint

이 Fingerprint는 미리 정해놓은 화학 작용기 혹은 원자가 분자 내에 존재하는지에 대한 정보를 각 bit에 저장하여 Vector에 저장합니다. 아래 그림은 화합물에 Phenyl group이 있다면 Fingerprint vector의 3번째 Element를 1로 지정하고, 만약 Phenyl group이 없다면 해당 Element를 0으로 지정하는 규칙을 보여주는 예시입니다.

따라서 관심 있는 화합물이 해당 조건을 충족한다면 그 조건을 명시적으로 표현하는 데에는 매우 적합합니다. 하지만 해당 작용기 혹은 원자 간의 위치 관계에 대한 정보는 Fingerprint에 포함되지 않는다는 단점이 있습니다.

 

Methods  71 (2015): 58-63.

 

Hashed Fingerprints

여기서는 Hashed fingerprint 중에서 Circular fingerprint 중 하나인 ECFP(Extended-Connectivity Fingerprints)를 소개합니다. ECFP를 계산하기 위해서는 먼저 원자간 거리와 fingerprint의 bit 수를 미리 정해야 합니다.

ECFP는 여섯 개의 기준을 이용해 각 원자에 대한 특성을 1차적으로 계산합니다. 여기서 원자간 거리는 아래의 그림처럼 동심원의 중심에 위치한 원자를 기준으로 인접한 원자를 몇 개까지 탐색할 것인지에 대한 값입니다. 이런 식으로 화합물에서 수소를 제외한 모든 원자를 순회하며 상술한 여섯 개의 기준에 대한 특성을 얻어냅니다. 그리고 이 정보를 Hash 함수를 이용하여 사용자가 입력한 bit의 자릿수에 맞춰서 정보를 저장합니다. 이렇게 되면 위의 Structural keys 기반의 fingerprint와 마찬가지로 0과 1로 구성된 vector가 생성됩니다.

Journal of chemical information and modeling  50.5 (2010): 742-754.

 

Molecular Similarity

이제 거의 다 왔습니다. 지금까지 각 화합물의 유사도를 얻기 위해 각 화합물의 특성을 수학적으로 기술하는 방법에 대해 알아보았는데요. 이제 이 각각의 기술자(Descriptor)가 서로 얼마나 유사한지를 계산할 차례입니다. 우리는 Similarity를 계산하는 방법 중에 Tanimoto Coefficient에 대해 알아보겠습니다. 각 기술자, 그러니까 위에서 구한 vector들의 각 element 중에서 같은 순서에 놓인 element를 서로 비교하여 같은 bit수, 다른 bit수를 구하고, 이 비율을 계산하면 끝입니다. 구체적인 수식은 다음과 같습니다.

위와 같은 수식을 적용하면 서로 다른 두 분자의 유사도가 0에서 1사이의 값으로 나오게 됩니다. 유사도는 1에 가까울수록 두 분자의 유사도가 높은 것이고, 두 분자가 서로 같다면 당연히 값은 1이 나옵니다.

 

이러한 방식으로 분자간의 유사도를 정의하고, 정의된 유사도에 따라서 Virtual Library에서 '유사한' 분자를 선별함으로서 대규모 Virtual library를 효율적으로 탐색할 수 있습니다.

 


히츠와 함께 신약개발의 새로운 미래를 그려나갈 동료를 찾습니다.

 

히츠 채용

히츠는 디지털 중심의 차세대 신약개발 문화를 선도합니다. 이런 여정에 가슴이 뛴다면 지금 바로 히츠에 합류하세요.

hits.wehire.kr

 

댓글