本文包括作者的RDkit學(xué)習(xí)和使用經(jīng)驗(Windows10,其他操作系統(tǒng)沒有測試)
部分內(nèi)容轉(zhuǎn)載自中文教程和RDKit入門與進階教程(30篇)
推薦學(xué)習(xí)中文教程
Jupyter Notebook專用的rdkit工具
RDKit官網(wǎng)
英文教程The RDKit Book
一、安裝
1.1. 前置知識
- 已掌握Anaconda的安裝和基本使用
- 已掌握Python基本語法
- 已掌握J(rèn)upyper Notebook的使用
- 已掌握gtihub或者gitee的使用
1.2 安裝
建議安裝前配置國內(nèi)源
conda install rdkit
顯示提示,直接按“y”,RDKit安裝庫完畢
二、基礎(chǔ)教程
學(xué)習(xí)資源(內(nèi)含必需的示例文件)
Jupyter Notebook文件: base
- 克隆(使用git)或下載文件至本地
- 啟動Jupyter Notebook使用教程文件
2.1 讀寫分子模塊: rdkit.Chem模塊
RDKit 支持從Smiles、mol、sdf 文件中讀入分子獲得分子對象。 Smiles、mol 是通常用于保存單個分子;而sdf格式當(dāng)初是作為分子庫形式設(shè)計的。 因此讀入sdf得到的是分子迭代器,讀入Smiles 和mol 文件是分子對象?!D(zhuǎn)自中文教程/基礎(chǔ)教程, 英文
2.1.1. 分子讀入方法:
- 讀取*.smi文件方法:
# smiCode表示分子的smiles碼
- 讀取*.mol文件方法:
# molFilePath表示分子mol文件的本地路徑
- 返回一個對象
from rdkit import Chem
m = Chem.MolFromSmiles('Cc1ccccc1') # m, 返回一個對象(object)
- 讀取*.sdf文件的方法:
# sdFilePath表示分子集sdf文件的本地路徑
- 讀取*.smi文件的方法:
# smiFilePath表示分子集smi文件的本地路徑
- 返回列表,支持索引操作和迭代操作
2.1.2. 分子讀入示例
smi='CC(C)OC(=O)C(C)NP(=O)(OCC1C(C(C(O1)N2C=CC(=O)NC2=O)(C)F)O)OC3=CC=CC=C3'
# 導(dǎo)入庫/模塊
from rdkit import Chem
from rdkit.Chem import AllChem
mol = Chem.MolFromSmiles(smi)
print(type(mol))
# 模塊已經(jīng)導(dǎo)入,此處不再導(dǎo)入
m = Chem.MolFromMolFile('data/invalid.mol')
suppl = Chem.SDMolSupplier('data/5ht3ligs.sdf')
suppl = Chem.SmilesMolSupplier('data/5ht3ligs.smi')
2.1.4 分子寫出方法
- RDKit 可以把分子對象保存成Smiles、molBlock、mol文件
![]()
- 輸出canonical smiles文件(*.smi):
# m, mol分子對象
- 輸出含Kekule形式的smiles文件,先對分子進行Kekulize,然后使用“ kekuleSmiles”選項
# 將mol對象進行Kekulize轉(zhuǎn)換
# 將mol對象轉(zhuǎn)換為含Kekulize格式的simles文件