rdkit rdRGroupDecomposition 侧链片段基团分离

参考:
https://zhuanlan.zhihu.com/p/142557584
https://greglandrum.github.io/rdkit-blog/posts/2023-01-09-rgd-tutorial.html

注意,rdRGroupDecomposition方法分离需要提前传入起始骨架,骨架上起始有 R labels和无都支持

from rdkit import Chem
from rdkit.Chem import Draw
from rdkit.Chem.Draw import IPythonConsole
import pandas as pd
from rdkit.Chem import PandasTools
PandasTools.RenderImagesInAllDataFrames(images=True)
import rdkit
print(rdkit.__version__)


df = PandasTools.LoadSDF(os.path.join(baseDir,'jm8b00883.sdf'))
mols = df.ROMol.to_list()
Draw.MolsToGridImage(mols[:12],subImgSize=(300,250))
## 骨架上起始无R labels
core_without_labels = Chem.MolFromSmarts('Cc1nc(=O)c(O)c(C=O)n1')
core_without_labels

crgd,fails = rdRGroupDecomposition.RGroupDecompose([core_without_labels],mols,asRows=False)
print(len(fails))
PandasTools.RGroupDecompositionToFrame(crgd,[mols[i] for i in range(len(mols)) if i not in fails],).head()

rdkit rdRGroupDecomposition 侧链片段基团分离_第1张图片

你可能感兴趣的:(CADD/AIDD,python,开发语言)