RDKit | 基于分子指纹的相似性图

本文为博主原创文章,未经博主允许不得转载。
本文链接: https://blog.csdn.net/u012325865/article/details/102595442

Similarity Maps

相似性图是一种可视化原子对分子和参考分子之间相似性的贡献的方法。相似性图可用于可视化和确认相似区域。


导入库

from rdkit import Chem
from rdkit.Chem import AllChem
from rdkit.Chem import Draw
from rdkit.Chem.Draw import SimilarityMaps
%matplotlib inline

载入数据

ms = [m for m in Chem.SDMolSupplier('mols.sdf')]

绘制相似图

weights = SimilarityMaps.GetAtomicWeightsForFingerprint(ms[0], ms[1], SimilarityMaps.GetMorganFingerprint)
fig = SimilarityMaps.GetSimilarityMapFromWeights(ms[1], weights, size=(300, 300))
fig.savefig("ms1.png",bbox_inches='tight')

weights = SimilarityMaps.GetAtomicWeightsForFingerprint(ms[1], ms[0], SimilarityMaps.GetMorganFingerprint)
fig = SimilarityMaps.GetSimilarityMapFromWeights(ms[0], weights, size=(300, 300))
fig.savefig("ms0.png",bbox_inches='tight')

基于电荷可视化分子相似程度

AllChem.ComputeGasteigerCharges(ms[0])
charges = [float(atom.GetProp('_GasteigerCharge')) for atom in ms[0].GetAtoms()]
fig = SimilarityMaps.GetSimilarityMapFromWeights(ms[0],charges, size=(300, 300),scale=10)
fig.savefig("ms0_charge.png",bbox_inches='tight')


DrugAI

猜你喜欢

转载自blog.csdn.net/u012325865/article/details/102595442