RDKit Tutorial (中文教程)

本文包括作者的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. 分子讀入方法:

\color{blue} {(1) 讀取單個分子(*.smi和*.mol)}

  • 讀取*.smi文件方法:\color{red}{rdkit.Chem.MolFromSmiles('smiCode')} # smiCode表示分子的smiles碼
  • 讀取*.mol文件方法:\color{red}{rdkit.Chem.MolFromMolFile(‘molFilePath’)} # molFilePath表示分子mol文件的本地路徑
  • 返回一個對象
from rdkit import Chem 
m = Chem.MolFromSmiles('Cc1ccccc1')  # m, 返回一個對象(object)

\color{blue} {(2) 讀取分子集(*.sdf和*.smi)}

  • 讀取*.sdf文件的方法:\color{red}{rdkit.Chem.SDMolSupplier('sdFilePath')} # sdFilePath表示分子集sdf文件的本地路徑
  • 讀取*.smi文件的方法:\color{red}{rdkit.Chem.SmilesMolSupplier('smiFilePath')} # smiFilePath表示分子集smi文件的本地路徑
  • 返回列表,支持索引操作和迭代操作

2.1.2. 分子讀入示例

  • \color{blue} { (1) 示例1:讀入單個分子*.smi文件 }
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))
  • \color{blue} { (2) 示例2:讀入單個分子*.mol文件 }
# 模塊已經(jīng)導(dǎo)入,此處不再導(dǎo)入
m = Chem.MolFromMolFile('data/invalid.mol')
  • \color{blue} { (3) 示例3:讀入分子集*.sdf文件 }
suppl = Chem.SDMolSupplier('data/5ht3ligs.sdf')
  • \color{blue} { (4) 示例3:讀入分子集*.smi文件 }
suppl = Chem.SmilesMolSupplier('data/5ht3ligs.smi')

2.1.4 分子寫出方法

\color{blue} {(1) 寫出單個分子(*.smi和*.mol)}

  • RDKit 可以把分子對象保存成Smiles、molBlock、mol文件
    \color{blue} {(1) 寫出單個分子(*.smi和*.mol)}
  • 輸出canonical smiles文件(*.smi):\color{red} {Chem.MolToSmiles(m)} # m, mol分子對象
  • 輸出含Kekule形式的smiles文件,先對分子進行Kekulize,然后使用“ kekuleSmiles”選項
    \color{red} {Chem.Kekulize(m)} # 將mol對象進行Kekulize轉(zhuǎn)換
    \color{red} {Chem.MolToSmiles(m,kekuleSmiles=True)} # 將mol對象轉(zhuǎn)換為含Kekulize格式的simles文件
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容