데이터 과학

MolProbity 패키지 본문

생명정보학 & 화학정보학/PDB

MolProbity 패키지

티에스윤 2025. 5. 9. 22:16

Reduce는 PDB 구조 파일에 수소 원자를 추가하고, 기존 원자의 방향을 최적화해 주는 도구입니다.

 

The Richardson Lab (Duke University)에서 개발했으며, 특히 X-ray 결정구조에서는 빠져 있는 수소 원자를 보완할 때 자주 사용됩니다.

 

주요 기능은 다음과 같습니다. 

 

 

  • 수소 원자 자동 추가
    • 대부분의 실험 구조(PDB)는 수소를 포함하지 않음 → Reduce가 자동으로 적절히 배치
  • Side-chain orientation 조정
    • Asn, Gln, His 등 방향성이 모호한 잔기들의 방향(아민/아마이드/이미다졸)을 수소 결합에 맞게 회전시킴
  • 입체화학/수소 결합 고려
    • 가능한 수소 결합을 고려해 구조의 입체화학을 개선

 

아래와 같은 명령어로 수소가 없는 PDB 구조에서 수소가 추가된 구조를 만들 수 있습니다. 

 

reduce input.pdb > output_with_H.pdb

 

 

Reduce는 일반적으로 MolProbity 패키지에 포함되어 있으며, 단독 실행도 가능합니다.

  • 공식 사이트 (MolProbity)
  • Linux/Mac 환경에서 컴파일 또는 바이너리 제공
  • 일부 환경에서는 conda를 통해 설치할 수도 있음

 

https://molprobity.biochem.duke.edu/

 

Main page - MolProbity

Dear MolProbity users, MolProbity Server Problems? In particular, if a job submission associated with your session doesn't return a result in < 45 minutes, (most jobs should complete in < 5 minutes but submissions associated with ribosomes models or other

molprobity.biochem.duke.edu

 

 

C1CC2=C3C(=CC=C2)C(=CN3C1)[C@H]4[C@@H](C(=O)NC4=O)C5=CNC6=CC=CC=C65

 

SMILES 구조로 되어 있는 폴리사이클릭 화합물입니다. 

 

 

  • SMILES → 3D 구조 생성 (RDKit)
  • PDB 파일로 저장
  • Reduce로 수소 최적화

from rdkit import Chem
from rdkit.Chem import AllChem

# SMILES 입력
smiles = "C1CC2=C3C(=CC=C2)C(=CN3C1)[C@H]4[C@@H](C(=O)NC4=O)C5=CNC6=CC=CC=C65"

# 분자 생성
mol = Chem.MolFromSmiles(smiles)
mol = Chem.AddHs(mol)  # 수소 추가

# 3D 구조 생성
AllChem.EmbedMolecule(mol)
AllChem.UFFOptimizeMolecule(mol)

# PDB 파일로 저장
with open("structure_with_H.pdb", "w") as f:
    f.write(Chem.MolToPDBBlock(mol))

print("3D 구조와 수소가 포함된 PDB 파일이 'structure_with_H.pdb'로 저장되었습니다.")

 

 

 

  • 수소의 위치 조정
  • 수소 결합 최적화
  • 구조 전체의 입체화학 재정비

 

이를 통해 rdkit을 이용해 PDB 파일로 저장하는 내용을 작성해 봅시다. 

 

conda install -c rdkit rdkit

 

from rdkit import Chem
from rdkit.Chem import AllChem

smiles = "C1CC2=C3C(=CC=C2)C(=CN3C1)[C@H]4[C@@H](C(=O)NC4=O)C5=CNC6=CC=CC=C65"
mol = Chem.MolFromSmiles(smiles)
mol = Chem.AddHs(mol)
AllChem.EmbedMolecule(mol)
AllChem.UFFOptimizeMolecule(mol)

with open("structure_with_H.pdb", "w") as f:
    f.write(Chem.MolToPDBBlock(mol))

 

 

 

NovoPro Labs

 

혹은 NovoPro Labs의 SMILES to 3D 구조 변환하는 방법이 있습니다. 

 

https://www.novoprolabs.com/tools/smiles2pdb

 

Convert SMILES to 3D structure

1. Input SMILES:

www.novoprolabs.com

 

  • 위 링크를 클릭하여 웹사이트에 접속합니다.
  • 입력란에 다음 SMILES 문자열을 붙여넣습니다

 

C1CC2=C3C(=CC=C2)C(=CN3C1)[C@H]4[C@@H](C(=O)NC4=O)C5=CNC6=CC=CC=C65

 

 

  • 출력 형식에서 .pdb를 선택합니다.
  • "Convert" 버튼을 클릭하여 변환을 시작합니다.
  • 변환이 완료되면 .pdb 파일을 다운로드할 수 있는 링크가 제공됩니다.

 

Open Babel

 

Open Babel 기반의 화학 파일 형식 변환기

 

https://www.cheminfo.org/Chemistry/Cheminformatics/FormatConverter/index.htm

 

Home page of cheminfo website

 

www.cheminfo.org

 

 

 

  • 웹사이트에 접속하여 입력란에 SMILES 문자열을 붙여 넣습니다.
  • 입력 형식으로 SMILES를 선택합니다.
  • 출력 형식으로 PDB를 선택합니다.
  • "Convert" 버튼을 클릭하여 변환을 수행합니다.
  • 변환된 .pdb 파일을 다운로드합니다

 

Ouput format을 PDB로 맞춰주고 Convert를 누르면 변환됩니다.

 

 

 

 

 

 

 

 

'생명정보학 & 화학정보학 > PDB' 카테고리의 다른 글

PDB 파일 생성과 응용방법  (0) 2025.05.09
단백질 데이터 은행  (1) 2025.05.07