RDKit.md
本篇筆記整理 RDKit 的常用功能,並透過與 PubChem 結合,展示如何查詢結構式、產生分子圖像與取得 SMILES/InChI 等資訊。
1. 安裝所需套件
pip install rdkit-pypi pubchempy
注意:
rdkit
建議於 conda 環境中安裝以避免相依問題。
conda install -c rdkit rdkit
2. 透過 PubChem 查詢化合物並取得 RDKit 分子物件
from rdkit import Chem
from rdkit.Chem import Draw
# 幾個常見分子的 SMILES
mol = Chem.MolFromSmiles('CCO') # ethanol
Draw.MolToImage(mol)
3. 範例:查詢「caffeine」
mol, smiles, inchi = get_rdkit_mol_from_name("caffeine")
print("SMILES:", smiles)
print("InChI:", inchi)
Draw.MolToImage(mol).show()
4. 常見 RDKit 操作
Chem.MolFromSmiles(smiles)
:從 SMILES 建立分子AllChem.Compute2DCoords(mol)
:計算 2D 座標Draw.MolToImage(mol)
:輸出 PIL 圖像Chem.MolToInchi(mol)
:轉換為 InChI
5. 延伸應用
計算分子指紋與相似度
產生分子 3D 構型(
AllChem.EmbedMolecule
)與機器學習模型結合(分子屬性預測)
如需查詢更多化合物,可搭配 pubchempy
使用 cid
, name
, formula
等欄位靈活檢索。
pcp.get_compounds("aspirin", namespace="name")
Last updated