공개된 특허 화학 구조 데이터베이스 및 리소스
공개된 특허 화학 구조 데이터베이스 및 리소스
📊 주요 공개 특허 구조 데이터베이스
1.
SureChEMBL
- 제공: EMBL-EBI
- 규모: 2,000만개 이상 화합물
- 특징:
- 특허에서 자동 추출한 화학 구조
- 매일 업데이트
- SMILES, InChI 형식 제공
- 접근: https://www.surechembl.org
- API: RESTful API 무료 제공
# SureChEMBL API 사용 예시
import requests
def search_surechembl(smiles):
url = "https://www.surechembl.org/api/v1/compounds"
params = {"smiles": smiles}
response = requests.get(url, params=params)
return response.json()
2.
PubChem Patents
- 제공: NCBI/NIH
- 규모: 1,600만개 이상 특허 문서
- 특징:
- USPTO, EPO, WIPO 특허 포함
- 화학 구조 검색 가능
- 생물학적 활성 데이터 연계
- 접근:
https://pubchem.ncbi.nlm.nih.gov/patents
# PubChem 다운로드 예시
wget
https://ftp.ncbi.nlm.nih.gov/pubchem/Compound/CURRENT-Full/SDF/
3.
Google Patents Public Datasets
- 제공: Google Cloud
- 규모: 1억개 이상 특허 문서
- 특징:
- BigQuery로 쿼리 가능
- 전문(full-text) 검색
- 화학 구조 추출 데이터 포함
- 접근: BigQuery Public Datasets
-- BigQuery 쿼리 예시
SELECT
publication_number,
title,
abstract
FROM
`patents-public-data.patents.publications`
WHERE REGEXP_CONTAINS(claims.text,
r'C\d+H\d+') -- 화학식 검색
LIMIT 100
4.
ChEMBL Patent Data
- 제공: EMBL-EBI
- 규모: 200만개 이상 화합물
- 특징:
- 의약품 관련 특허 중심
- 생물활성 데이터 포함
- 타겟 정보 연계
- 접근: https://www.ebi.ac.uk/chembl/
🔓 무료 특허 구조 검색 도구
1.
USPTO Patent Full-Text Database
# USPTO 벌크 다운로드
import urllib.request
# 화학 특허 (Class 514 - Drug, bio-affecting)
url =
"https://bulkdata.uspto.gov/data/patent/grant/redbook/2024/"
urllib.request.urlretrieve(url +
"file.zip", "patents_2024.zip")
2.
EPO Open Patent Services (OPS)
# EPO API 사용
import requests
def search_epo_patent(keyword):
base_url =
"https://ops.epo.org/3.2/rest-services/published-data/search"
headers = {"Authorization": "Bearer YOUR_TOKEN"}
params = {
"q":
f"ta={keyword}", #
title/abstract 검색
"Range": "1-100"
}
return requests.get(base_url, headers=headers, params=params)
3.
WIPO Global Brand Database
- 화학 구조 포함 특허
- PCT 출원 데이터
- 무료 벌크 다운로드 가능
💾 다운로드 가능한 데이터셋
1.
IBM ZINC Patent Database
# ZINC 특허 데이터 다운로드
wget
http://zinc20.docking.org/patents/patents.smi.gz
gunzip patents.smi.gz
# 약 1,000만개 특허 화합물
# SMILES 형식
2.
ChemSpider Patents
# ChemSpider API
from chemspipy import ChemSpider
cs = ChemSpider('YOUR_API_KEY')
compound =
cs.get_compound(2157) # Aspirin
patents = compound.patents # 관련 특허 리스트
3.
DrugBank Patent Data
<!-- DrugBank XML 형식 -->
<drug>
<drugbank-id>DB00945</drugbank-id>
<name>Aspirin</name>
<patents>
<patent>
<number>US5847003</number>
<country>United
States</country>
<expires>2018-09-22</expires>
</patent>
</patents>
</drug>
🔍 특허 구조 검색 쿼리 예시
SQL
쿼리 (로컬 DB)
-- PostgreSQL with RDKit
CREATE TABLE patent_structures (
patent_id VARCHAR(50),
smiles TEXT,
mol mol -- RDKit molecule type
);
-- 구조 유사성 검색
SELECT patent_id, smiles
FROM patent_structures
WHERE mol@>'c1ccccc1' -- 벤젠 고리 포함
AND tanimoto_sml(morgan_fp(mol,2),
morgan_fp('CCO'::mol,2))
> 0.7;
Python으로 특허 구조 데이터 처리
import pandas as pd
from rdkit import Chem
from rdkit.Chem import AllChem
# SureChEMBL 데이터 로드
df =
pd.read_csv('surechembl_patents.csv')
# SMILES 유효성 검증
def validate_smiles(smiles):
try:
mol = Chem.MolFromSmiles(smiles)
return mol is not None
except:
return False
df['valid'] =
df['smiles'].apply(validate_smiles)
# 지문 계산
def calculate_fingerprint(smiles):
mol = Chem.MolFromSmiles(smiles)
if mol:
return
AllChem.GetMorganFingerprintAsBitVect(mol, 2, 2048)
return None
df['fingerprint'] =
df['smiles'].apply(calculate_fingerprint)
📈 한국 특허 구조 데이터
KIPRIS
(한국특허정보원)
# KIPRIS OpenAPI 사용
import requests
import xml.etree.ElementTree as ET
def search_korean_patent(keyword):
url =
"http://plus.kipris.or.kr/openapi/rest/patUtiModInfoSearchSvc"
params = {
'accessKey': 'YOUR_KEY',
'keyword': keyword,
'numOfRows': 100
}
response = requests.get(url, params=params)
return ET.fromstring(response.content)
K-PION
(한국 의약품 특허 정보)
- 의약품 관련 특허 전문
- 화학 구조식 이미지 제공
- API 제한적 제공
🛠️ 특허 구조 데이터 추출 도구
오픈소스 도구
# OSRA - 이미지에서 구조 추출
osra patent_image.png -f smi >
structures.smi
# ChemDataExtractor - PDF에서 추출
cde extract patent.pdf --output
structures.json
# PatCID - 특허에서 화합물 추출
python patcid.py --input
US20240123456.xml --output compounds.sdf
📊 통계 및 현황
|
데이터베이스 |
공개 화합물 수 |
업데이트 주기 |
API |
무료 |
|
SureChEMBL |
2,000만+ |
매일 |
✅ |
✅ |
|
PubChem Patents |
1,600만+ |
주간 |
✅ |
✅ |
|
ChEMBL |
200만+ |
분기별 |
✅ |
✅ |
|
Google Patents |
텍스트 위주 |
실시간 |
✅ |
✅* |
|
KIPRIS |
500만+ |
매일 |
✅ |
✅ |
|
DrugBank |
1.3만+ |
월간 |
❌ |
일부 |
*BigQuery 사용료 별도
댓글
댓글 쓰기