Data Schema Analysis

ChEMBL 36 데이터베이스 스키마 및
약물 발견 활용 가이드

2026. 04. 27 Database Architecture

1. ChEMBL 36 개요 및 데이터 구조

ChEMBL은 생리활성 분자, 활성 측정값, 생물학적 표적(Target), 실험(Assay) 및 문헌 데이터를 체계적으로 저장하는 관계형 데이터베이스(RDB)입니다. 2025년 7월 릴리스된 ChEMBL 36은 최신 약물 발견 트렌드를 반영하여 더욱 정교해진 데이터 구조를 제공합니다.

  • 핵심 개체: Compounds, Targets, Assays, Activities, Documents
  • 데이터 품질: FAIR 원칙 준수, 수동 큐레이션된 고품질 데이터
  • 최신 업데이트: Pesticide 분류 및 Veterinary 플래그 추가
  • 연결성: 외래 키(Foreign Key)를 통한 강력한 데이터 조인

2. 공식 스키마 문서 접근 방법

3. 핵심 엔티티 테이블 (1): 화합물 및 구조

화합물의 물리화학적 성질과 구조 정보는 Hit Selection과 분자 모델링의 기초가 됩니다.

MOLECULE_DICTIONARY

모든 화합물의 마스터 레코드. ChEMBL ID, 이름, 임상 단계(max_phase), 수의학용 플래그 정보를 포함합니다.

COMPOUND_STRUCTURES

화학 구조 정보(SMILES, InChI, Molfile)를 저장합니다. RDKit을 활용한 유사도 검색 및 지문 생성의 기초가 됩니다.

4. 핵심 엔티티 테이블 (2): 활성 및 타겟

활성 데이터는 특정 타겟에 대한 약물의 효능을 정량적으로 나타냅니다.

테이블 명 주요 필드 / 역할
ACTIVITIES IC50, Ki, standard_value, pChEMBL. 데이터 신뢰도 점수(confidence_score) 포함.
ASSAYS 실험 조건(Assay Type, Organism). ADMET 예측을 위한 필터링에 필수적.
TARGET_DICTIONARY 단일 단백질, 세포주 등 타겟 정보와 UniProt ID 매핑 제공.

5. 문헌 및 소스 관련 테이블

데이터의 추적 가능성과 재현성을 위해 문헌 정보는 매우 중요합니다.

DOCS (DOCUMENTS)

논문 및 출판물 정보(DOI, PubMed ID)를 통해 실험 데이터의 원천을 추적합니다.

SOURCE

데이터의 유래(문헌, PubChem BioAssay, 기탁 데이터셋 등)를 구분합니다.

6. 임상 정보 및 약물 활용 (Lead Optimization)

기존 약물의 적응증 및 부작용 정보를 통해 약물 재창출(Drug Repurposing) 전략을 수립할 수 있습니다.

DRUG_INDICATIONS

승인된 약물의 적응증 정보와 임상적 활용 사례를 분석하는 데 사용됩니다.

DRUG_WARNINGS

약물의 경고 사항 및 부작용 정보를 통해 안전성 프로파일을 구축합니다.

7. ADMET 및 특수 속성 (ChEMBL 36 변경점)

ChEMBL 36에서는 농약(Agrochemical) 데이터와 용해도 데이터가 대폭 보강되었습니다.

  • New
    PESTICIDE_CLASSIFICATION: 농약 데이터를 위한 신규 테이블 추가로 연구 범위 확장.
  • Prop
    ACTIVITY_PROPERTIES: 용해도(Solubility) 및 투과성(Permeability) 등 추가 속성 관리.

8. 전체 관계 요약 (ER Diagram 중심축)

데이터 탐색의 골든 패스(Golden Path)

MOLECULE_DICTIONARY
ACTIVITIES
ASSAYS
TARGET_DICTIONARY

* 연결 키: `molregno`, `assay_id`, `target_id`, `chembl_id` 등을 사용한 강력한 JOIN 지원

9. 실무 활용 팁 (Python & SQLite)

맥북 M3 환경에서 SQLite 덤프를 활용한 분석 환경 구축을 권장합니다.

import sqlite3
import pandas as pd

# 데이터베이스 연결
conn = sqlite3.connect('chembl_36.db')

# 활동(Activities) 테이블의 컬럼 정보 확인
query = "PRAGMA table_info(ACTIVITIES);"
schema_info = pd.read_sql(query, conn)
print(schema_info)

# 특정 화합물의 IC50 값 추출 예시
sql = """
SELECT m.chembl_id, a.standard_value, a.standard_units
FROM molecule_dictionary m
JOIN activities a ON m.molregno = a.molregno
WHERE a.standard_type = 'IC50' AND a.standard_value < 1000
LIMIT 10;
"""
df = pd.read_sql(sql, conn)

연구 적용 포인트

FAIR 원칙에 따라 설계된 ChEMBL 스키마는 다음 연구 단계에서 최적의 효율을 제공합니다.

Hit Selection
신뢰도 점수 기반 활성 필터링
SAR Analysis
구조-활성 상관관계 데이터 정제
ADMET Prediction
실험 조건 필터링을 통한 모델 학습