基於python3和rdkit的化合物結構相似性搜尋
化合物相似性在化學資訊學和藥物發現中具有悠久的歷史,許多計算方法採用相似度測定來鑑定研究的新化合物。
本例項通過計算分子的morgan指紋進行相似性比對。
匯入依賴包
#!/usr/bin/env python3
from rdkit.chem import allchem as ch
from rdkit.chem import draw as d
from rdkit import datastructs
載入分子庫
suppl = ch.sdmolsupplier('drugbank.sdf')
mols = [x for x in suppl if x is not none]
len(mols) #計算分子庫分子數目
讀入查詢分子,計算指紋
nicotine = ch.molfromsmiles('o=c(c)oc1ccccc1c(=o)o')
nicotine_fingerprint = ch.getmorganfingerprint(nicotine, 2)
計算分子庫每個分子指紋
mols_fps = [(m, ch.getmorganfingerprint(m, 2)) for m in mols]
計算相似度並排序,輸出最相似的的前20個分子
mols_nicotinesim = [(m, datastructs.tanimotosimilarity(fp, nicotine_fingerprint))
for m, fp in mols_fps]
sorted_mols_nicotinesim = sorted(mols_nicotinesim, key=lambda x: x[1], reverse=true)
result = sorted_mols_nicotinesim[:20]
輸出最相似的前20個結構
map(ch.compute2dcoords, (m for m, sim in result))
img = d.molstogridimage([m for m, sim in result], kekulize=false, subimgsize=(400,400),
legends=[mol.getprop("generic_name") + ': ' + str(sim)
for mol, sim in result])
img
RDKit 化合物相似性搜尋(基於Python3)
化合物相似性在化學資訊學和藥物發現中具有悠久的歷史,許多計算方法採用相似度測定來鑑定研究的新化合物。本例項通過計算分子的morgan指紋進行相似性比對。匯入依賴包 usr bin env python3 from rdkit.chem import allchem as ch from rdkit....
RDKit 化合物亞結構搜尋與結果輸出
假定搜尋目標化合物作為mol字串包含在稱為mols的列表中。可以在以下流程中執行部分結構搜尋,並突出顯示匹配化合物的匹配部分結構。導入庫from rdkit.chem import allchem from rdkit.chem import draw,descriptors from rdkit....
InChI InChi Key 國際化合物標識
inchi編碼是一串由斜槓 隔開的有層級關係的數字組成的。每個inchi編碼都是由inchi版本號開始,接著乙個主層號。主層下包括含化學分子式層 原子關係層和固定氫原子子層。基於分子結構的主層後往往接著乙個附加的層,如電荷層 立體化學層 和 或 同位素資訊層。國際化合物標識分為六個層,每個層之間以 ...