liminfo

RDKit Reference

RDKit 분자핑거프린트/SMILES/SMARTS/서브구조 레퍼런스

25개 결과

RDKit Reference 소개

RDKit 레퍼런스는 Python용 RDKit 화학정보학 라이브러리의 포괄적이고 검색 가능한 치트 시트입니다. SMILES와 SMARTS 문자열에서 분자 생성, MOL/SDF 파일 읽기, GetSubstructMatches()와 HasSubstructMatch()를 이용한 서브구조 매칭, 분자 핑거프린트 생성(Morgan/ECFP, RDKit 토폴로지, MACCS 키), 타니모토 유사도 계산, 분자량/LogP/TPSA/수소결합 수용체-공여체 수 등 분자 기술자 계산을 다룹니다.

EmbedMolecule()과 EmbedMultipleConfs()를 이용한 3D 구조 생성, MMFF94와 UFF 역장 최적화, Lipinski Rule of Five 약물 유사성 필터, Draw.MolToImage()와 MolsToGridImage()를 이용한 분자 시각화, DataFrame 기반 워크플로를 위한 PandasTools 연동, Chem.Fragments를 이용한 기능기 카운트도 다룹니다. 각 항목에 예상 출력이 포함된 복사 가능한 Python 코드가 있습니다.

계산화학자, 의약화학자, 신약개발 과학자, 화학정보학 연구자, 생물정보학 학생을 위해 설계되었으며, SMILES/분자, 서브구조, 핑거프린트, 기술자, 3D 구조, 시각화 카테고리로 정리되어 있습니다. 모든 콘텐츠는 서버 처리 없이 브라우저에서 완전히 실행됩니다.

주요 기능

  • SMILES/SMARTS 분자 파싱 — MolFromSmiles(), MolFromSmarts(), MolToSmiles() 정규 변환, SDF 파일 읽기
  • 서브구조 검색 — GetSubstructMatches(), HasSubstructMatch(), 기능기 쿼리를 위한 SMARTS 패턴 문법
  • 분자 핑거프린트 — Morgan/ECFP4/ECFP6(radius=2/3), RDKit 토폴로지, MACCS 166비트 구조 키
  • 타니모토 유사도 계산 — DataStructs.TanimotoSimilarity()로 핑거프린트 간 유사도 측정
  • 분자 기술자 — MolWt, ExactMolWt, MolLogP, TPSA, NumHAcceptors, NumHDonors, 분자식 계산
  • Lipinski Rule of Five 약물 유사성 필터 구현 (MW<=500, LogP<=5, HBA<=10, HBD<=5)
  • 3D 배좌 생성 — EmbedMolecule/EmbedMultipleConfs와 MMFF94/UFF 역장 최적화
  • 분자 시각화 — MolToImage(), MolsToGridImage(), PandasTools DataFrame 연동

자주 묻는 질문

RDKit이란 무엇이고 어디에 사용되나요?

RDKit은 Python(및 C++)용 오픈소스 화학정보학 라이브러리로, 분자 조작, 기술자 계산, 핑거프린트 생성, 유사도 검색, 시각화에 사용됩니다. 가상 스크리닝, QSAR 모델링, 화학 라이브러리 분석, 리드 최적화 등 계산화학, 신약개발, 화학 데이터 과학 분야의 사실상 표준 도구입니다.

RDKit에서 SMILES로 분자를 어떻게 생성하나요?

Chem.MolFromSmiles("c1ccccc1")으로 SMILES 문자열(예: 벤젠)에서 분자 객체를 생성합니다. 정규 SMILES 출력은 Chem.MolToSmiles(mol)을 사용합니다. SMARTS 기반 쿼리 패턴은 Chem.MolFromSmarts("[OH]")를 사용하고, 파일에서 읽으려면 단일 분자는 MolFromMolFile(), 다중 분자 SDF 파일은 SDMolSupplier()를 사용합니다.

RDKit에서 사용할 수 있는 분자 핑거프린트는 무엇인가요?

Morgan 핑거프린트(ECFP 동등: radius=2는 ECFP4, radius=3은 ECFP6)는 AllChem.GetMorganFingerprintAsBitVect()로, RDKit 토폴로지 핑거프린트는 Chem.RDKFingerprint()로, MACCS 166비트 구조 키는 MACCSkeys.GenMACCSKeys()로 생성합니다. Morgan 핑거프린트가 신약개발에서 유사도 검색과 머신러닝에 가장 널리 사용됩니다.

RDKit에서 분자 유사도는 어떻게 계산하나요?

두 분자의 핑거프린트를 생성(일반적으로 Morgan, radius=2, nBits=2048)한 후 DataStructs.TanimotoSimilarity(fp1, fp2)로 타니모토 계수를 계산합니다. 범위는 0.0(완전히 다름)~1.0(동일)이며, 가상 스크리닝과 클러스터링 워크플로에서 화학 구조를 비교하는 가장 일반적인 지표입니다.

RDKit으로 어떤 분자 기술자를 계산할 수 있나요?

RDKit은 200개 이상의 분자 기술자를 계산합니다. 주요 기술자로 Descriptors.MolWt()(분자량), MolLogP()(Wildman-Crippen LogP), TPSA()(위상학적 극성 표면적), NumHAcceptors()/NumHDonors()(수소결합 수), rdMolDescriptors.CalcMolFormula()(분자식)가 있습니다. 약물 유사성 평가와 QSAR 모델링에 필수적입니다.

RDKit에서 Lipinski Rule of Five는 어떻게 적용하나요?

Lipinski Rule of Five는 경구 생체이용률을 예측하는 4가지 기준입니다: 분자량 <= 500, LogP <= 5, 수소결합 수용체 <= 10, 수소결합 공여체 <= 5. RDKit에서 Descriptors.MolWt(), MolLogP(), NumHAcceptors(), NumHDonors()로 각각 계산합니다. 2개 이상 규칙을 위반하면 경구 생체이용률이 낮을 가능성이 높습니다.

RDKit에서 3D 구조는 어떻게 생성하나요?

먼저 Chem.AddHs(mol)로 수소를 추가하고, AllChem.EmbedMolecule(mol, randomSeed=42)로 초기 3D 좌표를 생성합니다. AllChem.MMFFOptimizeMolecule(mol)로 MMFF94 역장(또는 UFF)을 사용해 최적화합니다. 배좌 분석에는 AllChem.EmbedMultipleConfs()로 다중 배좌를 생성하고 각각 개별 최적화합니다.

이 RDKit 레퍼런스는 무료인가요?

네, 이 RDKit 레퍼런스는 사용 제한, 계정 등록, 소프트웨어 설치 없이 완전히 무료입니다. 모든 콘텐츠는 브라우저에서 클라이언트 사이드로 렌더링됩니다. RDKit Python 라이브러리를 사용하는 계산화학자와 화학정보학 연구자를 위한 실용적인 일상 도우미입니다.