0. Talktorials
모든 study 는 TeachOpenCADD 를 바탕으로 구성하였습니다.
T009 · Ligand-based pharmacophores — TeachOpenCADD 0 documentation
Github:
1. Theory
Pharmacophores
CADD에서 drug와 target interaction을 pharmacophores라는 개념으로 자주 설명합니다.
Pharmacophores는 1998년 IUPAC에 의해 다음과 같이 정의되었습니다.
"A pharmacophore is the ensemble of steric and electronic features that is necessary to ensure the optimal supramolecular interactions with a specific biological target structure and to trigger (or to block) its biological response.” (Pure & Appl. Chem. (1998), 70, 1129-43)

Pharmacophores란 특정 생물학적 target 구조와 최적의 분자 interaction을 보장하고 그 생물학적 반응을 유도(또는 차단)하기 위해 필요한 steric, electronic feature의 집합이다. 라고 설명하고 있습니다.
쉽게 말해서 pharmacophores는 약물이 target하는 단백질에 결합하기 위해 꼭 필요한 3차원적 구조적, 화학적 특징들입니다. 특징들의 예시로는 수소 결합 공여체/수여체, 소수성, 방향족, 양전하/음전하 group 등이 있습니다. 약물이 target에 효과적으로 결합하고 반응을 일으키기 위해서는 이런 특징들이 특정한 공간 배치로 존재해야 한다는 것이 핵심입니다.
Structure- and ligand-based pharmacophore modeling
Pharmacophores modeling에는 두 가지 접근 방식이 있습니다.

첫 번째는 구조 기반 Pharmacophores modeling, 두 번째는 ligand 기반 Pharmacophores 입니다.
Structure-based Pharmacophores modeling은 protein-ligand complex부터 시작됩니다. 즉, protein과 이미 결합한 ligand 구조 데이터를 사용합니다. protein과 ligand가 실제로 interaction하는 부분을 분석합니다. (수소결합, 소수성 결합... 등) 이러한 분석을 바탕으로 반드시 필요한 3D 위치와 Pharmacophores을 정의합니다. 구조 기반 modeling은 실제 구조를 기반으로하기 때문에 정확도가 높지만 구조 데이터가 없으면 적용할 수 없습니다.
Ligand-based Pharmacophores modeling은 target에 결합하는 것으로 이미 알려진 여러 ligand들에서 공통적으로 나타나는 화학적 feature와 3D 위치를 추출합니다. 이 공통점을 토대로 Pharmacophores를 정의합니다. target의 구조 정보가 없어도 ligand 정보만으로 Pharmacophores modeling이 가능하다는 장점이 있지만, ligand 간의 유사도가 낮거나 데이터가 적다면 정확도는 떨어집니다.
Virtual screening with pharmacophores
Virtual screening 개념은 T004에서 등장한 개념입니다. 중요한 개념이기 때문에 아래 해당 내용만 가져왔습니다.
T004 · Ligand-based screening: compound similarity
1-5. Virtual screening
Drug discovery 초기 단계에서 가장 중요한 과제 중에 하나는 점점 커지는 chemical space 에서 target 에 결합할 가능성이 있는 small molecules 의 후보를 좁히는 것입니다. (실제) HTS (High-Throughput Screening) 은 모든 후보 화합물을 target 에 대해 실험해야 하기 때문에 비용과 시간이 많이 듭니다. 그래서 in silico 기반의 virtual screening 으로 효율적인 screening 을 위한 연구가 진행되고 있습니다. virtual screening 은 크기가 매우 큰 small molecule library (앞서 언급한 chemical space 와 유사한 개념) 에서 패턴이나 규칙을 찾아 filtering 하여 target 과 결합 가능성이 높은 compound 를 찾는 방식입니다. 주의할 점은 virtual screening 이 비용과 시간이 적게 드는 것은 맞지만, only 로 사용하기에는 위험하고 실제 실험으로 검증을 거치는 것을 잊지 말아야합니다.
Virtual screening using similarity search
library 의 분자들을 기존의 잘 알려진 active molecule 과 비교하여 가장 유사한 분자들을 찾는 것은 virtual screening 의 간단한 접근 방식이 될 수 있습니다. similar property principle 에 따르면 기존 inhibitor 와 유사한 구조를 가진 분자는 similar effects 를 가질 가능성이 높다고 가정합니다. (공부할 때 단백질의 기능에 대해 공부한다면 보통 단백질의 구조는 어떻게 이루어졌는 지에 대해 탐색하는 것처럼..)
similarity search 을 하기 위한 핵심 요소:
- A representation that encodes chemical/molecular features
- A potential weighting of features (optional)
- A similarity measurement
즉, similarity search 는 하나의 분자와 데이터 셋에 있는 모든 분자들 간의 similarity 계수를 계산하여 수행됩니다. 이 similarity 계수를 기준으로 분자들을 정렬했을 때, 최상위에 가장 유사한 분자들이 나타납니다.
Virtual screening은 chemical space에서 target에 결합할 가능성이 있는 small molecules의 후보를 좁히는 것입니다. with Pharmacophores는 각 molecules를 Pharmacophores model에 맞춰 matching 시키고 가장 잘 맞는 결과에 따라서 순위를 매깁니다.

연구 사례를 살펴보겠습니다. 해당 연구의 target은 JAK(Janus kinase)입니다. JAK은 leukemia 등 여러 질환과 밀접하게 연관이 있습니다. JAK2와 JAK3를 동시에 inhibition 하는 것을 전략으로 세웠습니다. JAK inhibitor인 tofacitinib와 JAK2/3의 molecular dynamics (MD*)에서 얻은 정보를 바탕으로 pharmacophores model을 세웠습니다.
* 여기서 MD라는 개념은 docking과는 조금 다릅니다. 보통 MD simulation이라고 하는데, 말 그대로 target과 ligand가 어떻게 움직이는지 그 모습을 관찰하는 방식입니다.

MD simulation으로 관찰한 결과로 tofacitinib이 JAK2/3의 ATP binding pocket 내 어떤 아미노산 residue와 interaction 하는지 분석합니다. figure에서 노란색 구는 hydrophobic interactions, 초록색 화살표는 hydrogen-bond donor, 빨간색 화살표는 hydrogen-bond acceptor입니다. 이런식으로 다양하게 화학적인 feature를 정의하고 model을 만듭니다.
1500 MD snapshots 즉, 1500장의 MD simulation 결과가 있습니다. 이 정보를 모두 virtual screening에 적용시키지 않고 연구에서는 clustering하여 대표 pharmacophores 모델을 정하였습니다. (Representative pharmacophore models, RPMs) 이 RPMs를 기준으로 screening을 하는데, pharmacophores model에 각 후보 분자들이 얼마나 잘 맞는지 pharmacophores fit score를 계산합니다. 앞서 tofacitinib의 score를 기준으로 이보다 높은 score를 가지는 화합물만 hit로 선정합니다.
이 연구는 한 예시일 뿐, pharmacophores 기반으로 screening 하는 방식은 연구 설계자에 따라 다양하게 나타날 수 있습니다. 중간에 docking을 한다든지 filtering 방식을 달리 한다든지... MD simulation 대상이 되는 inhibitor도 다르게 하는..
Clustering: k-means
T009 실습에서는 ligand 기반 pharmacophores의 feature point들을 clustering 한 뒤, ensemble pharmacophores를 만드는 방식을 소개합니다.
k-means 알고리즘 자체도 참 할 말이 많은 알고리즘인데 여기서는 간단하게만 설명하겠습니다. 나중에 기회가 되면 따로 소개할 예정입니다. 이 알고리즘은 데이터를 k 개의 cluster로 나누는 방식입니다. k개의 서로 다른 centroid를 선택한 후, 각 데이터 point를 가장 가까운 centroid에 지정합니다. centroid이 더 이상 변하지 않을 때까지 이 과정을 반복합니다. cluster안의 데이터들은 비슷한 성질을 가지게 될 것이라고 직관적으로 알 수 있습니다. 이정도로만 이해하고 이제 ligand 기반의 ensemble pharmacophores 실습을 살펴보겠습니다.
(1) 여러 ligand pdb file 준비 - RDKit으로 각 pdf file 정보 읽기
(2) Pharmacophores feature 추출
- 이 중요한 부분도 RDKit으로 합니다.
Getting Started with the RDKit in Python — The RDKit 2019.09.1 documentation
feature_factory = AllChem.BuildFeatureFactory(str(Path(RDConfig.RDDataDir) / "BaseFeatures.fdef"))
We take a look at the pharmacophore features that are implemented in RDKit:
list(feature_factory.GetFeatureDefs().keys())
['Donor.SingleAtomDonor',
'Acceptor.SingleAtomAcceptor',
'NegIonizable.AcidicGroup',
'PosIonizable.BasicGroup',
'PosIonizable.PosN',
'PosIonizable.Imidazole',
'PosIonizable.Guanidine',
'ZnBinder.ZnBinder1',
'ZnBinder.ZnBinder2',
'ZnBinder.ZnBinder3',
'ZnBinder.ZnBinder4',
'ZnBinder.ZnBinder5',
'ZnBinder.ZnBinder6',
'Aromatic.Arom4',
'Aromatic.Arom5',
'Aromatic.Arom6',
'Aromatic.Arom7',
'Aromatic.Arom8',
'Hydrophobe.ThreeWayAttach',
'Hydrophobe.ChainTwoWayAttach',
'LumpedHydrophobe.Nitro2',
'LumpedHydrophobe.RH6_6',
'LumpedHydrophobe.RH5_5',
'LumpedHydrophobe.RH4_4',
'LumpedHydrophobe.RH3_3',
'LumpedHydrophobe.tButyl',
'LumpedHydrophobe.iPropyl']
RDKit 에서 정의하는 feature type 이름들도 살펴볼 수 있습니다.
(3) 관심 feature를 설정하고, 3D 좌표로 변환
(4) k-means clustering으로 좌표들을 clustering 합니다.
(5) 각 feature type 별로 대표 cluster 중심 좌표를 ensemble pharmacophore로 합칩니다.
저는 이 실습에서 왜? 이런식으로 실험을 진행하는지에 대해 설명드리겠습니다.
Q1. 관심 feature를 설정한다는 것이 무엇일까?
MD simulation으로 관찰한 결과로 tofacitinib이 JAK2/3의 ATP binding pocket 내 어떤 아미노산 residue와 interaction 하는지 분석합니다. figure에서 노란색 구는 hydrophobic interactions, 초록색 화살표는 hydrogen-bond donor, 빨간색 화살표는 hydrogen-bond acceptor입니다. 이런식으로 다양하게 화학적인 feature를 정의하고 model을 만듭니다.
앞에서 이런식으로 feature가 시각화된 것을 살펴봤습니다. hydrophobic interactions, hydrogen-bond donor, ... 등이 feature 값입니다. 이런 feature는 방금 예시로 든 것 말고도 여러가지가 있겠지만 연구자가 중요하다고 생각하는 관심 feature를 선택할 수 있습니다.
Q2. 왜 좌표를 clustering 할까?
이 부분을 이해하기 위해서는 약간의 상상이 필요합니다.
이 알고리즘은 데이터를 k 개의 cluster로 나누는 방식입니다. k개의 서로 다른 centroid를 선택한 후, 각 데이터 point를 가장 가까운 centroid에 지정합니다. centroid이 더 이상 변하지 않을 때까지 이 과정을 반복합니다. cluster안의 데이터들은 비슷한 성질을 가지게 될 것이라고 직관적으로 알 수 있습니다.
예를 들어, ligand들의 관심있는 feature인 hydrogen-bond donor의 위치(좌표값)을 전부 얻습니다. (당연히 ligand마다 조금씩 좌표값은 다릅니다.) 이 3D 좌표 데이터들을 k-means로 묶으면 비슷한 위치의 좌표들끼리 cluster로 모이게 됩니다. 이제 대표 cluster를 선택해야 하는데, 만약 어떤 cluster의 좌표가 전체 ligand에서 한 두 분자에서만 나타난다면 이 cluster는 모든 데이터들을 대표한다고 말하기는 어렵습니다. 보통 더 많은 ligand에 등장하는 cluster를 대표 cluster로 선택합니다. cluster의 centroid는 ligand들의 공통 pharmacophore feature 위치가 됩니다.
이런식으로 관심있는 feature에 대해 해당 과정을 반복합니다. 그 후 feature 별로 생성된 centroid들은 pharmacophore feature가 됩니다.

그림을 통해 전체 ligand들이 공유하는 pharmacophore feature의 위치들을 분자 구조에 시각화시켜서 볼 수 있다는 것을 알 수 있습니다. 약간의 상상력이 필요하지만, 결론적으로는
Pharmacophores는 약물이 target하는 단백질에 결합하기 위해 꼭 필요한 3차원적 구조적, 화학적 특징들이라는 것, 약물이 target에 효과적으로 결합하고 반응을 일으키기 위해서는 이런 특징들이 특정한 공간 배치로 존재해야 한다는 것이 핵심입니다!
Reference
- Seidel, Thomas, Gerhard Wolber, and Manuela S. Murgueitio. "Pharmacophore perception and applications." Applied Chemoinformatics: Achievements and Future Opportunities (2018): 259-282.
- Kolodzik, Adrian, Nadine Schneider, and Matthias Rarey. "Structure‐Based Virtual Screening." Applied Chemoinformatics: Achievements and Future Opportunities (2018): 313-331.
- Sanachai, Kamonpan, et al. "Pharmacophore-based virtual screening and experimental validation of pyrazolone-derived inhibitors toward janus kinases." ACS omega 7.37 (2022): 33548-33559.
- Getting Started with the RDKit in Python — The RDKit 2019.09.1 documentation
- https://www.profacgen.com/pharmacophore-modeling.htm
- 현재 관련 분야를 공부하고 있는 전문가가 아닌 학생이기 때문에 틀린 내용이 있을 수 있습니다.
- 오타와 틀린 부분을 댓글로 알려주시면 수정하도록 하겠습니다.
'Drug study > TeachOpenCADD' 카테고리의 다른 글
| T010 · Binding site similarity and off-target prediction (0) | 2025.07.18 |
|---|---|
| T008 · Protein data acquisition: Protein Data Bank (PDB) (4) | 2025.07.03 |
| T007 · Ligand-based screening: machine learning (2) | 2025.05.13 |
| T006 · Maximum common substructure (0) | 2025.05.07 |
| T005 · Compound clustering (0) | 2025.04.18 |