rdkit GetAtoms获取化合物每个位置的索引;rdkit FindMCS大公共相同结构 找不同化合物之间的差异
生活随笔
收集整理的這篇文章主要介紹了
rdkit GetAtoms获取化合物每个位置的索引;rdkit FindMCS大公共相同结构 找不同化合物之间的差异
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、rdkit 獲取化合物每個位置的索引
from rdkit import Chem from rdkit.Chem.Draw import IPythonConsole from rdkit.Chem import Draw##正常效果是沒有的 mol = Chem.MolFromSmiles("C1CC2=C3C(=CC=C2)C(=CN3C1)[C@H]4[C@@H](C(=O)NC4=O)C5=CNC6=CC=CC=C65") # Default mol ## 這是加上效果 def mol_with_atom_index(mol):for atom in mol.GetAtoms():atom.SetAtomMapNum(atom.GetIdx())return molmol = Chem.MolFromSmiles("C1CC2=C3C(=CC=C2)C(=CN3C1)[C@H]4[C@@H](C(=O)NC4=O)C5=CNC6=CC=CC=C65") mol_with_atom_index(mol)這是簡單通過加一句話就實現上面效果
IPythonConsole.drawOptions.addAtomIndices = True
from rdkit import Chem from rdkit.Chem.Draw import IPythonConsole from rdkit.Chem import Draw IPythonConsole.drawOptions.addAtomIndices = True IPythonConsole.molSize = 300,300Chem.MolFromSmiles("C1CC2=C3C(=CC=C2)C(=CN3C1)[C@H]4[C@@H](C(=O)NC4=O)C5=CNC6=CC=CC=C65")2、 rdkit找不同化合物的差異對比
參考:https://projects.volkamerlab.org/teachopencadd/talktorials/T006_compound_maximum_common_substructures.html
rdFMCS這個函數是找最大公共相同結構;有的話就可以通過MolFromSmarts獲取gonhgt共同結構的smarts
from rdkit import Chem from rdkit.Chem import Draw from rdkit.Chem.Draw import IPythonConsole from rdkit.Chem import rdFMCS from rdkit.Chem.Draw import rdDepictormol1 = Chem.MolFromSmiles('FC1=CC=C2C(=C1)C=NN2') mol2 = Chem.MolFromSmiles('CCC1=C2NN=CC2=CC(Cl)=C1')def view_difference(mol1, mol2):mcs = rdFMCS.FindMCS([mol1,mol2])mcs_mol = Chem.MolFromSmarts(mcs.smartsString)match1 = mol1.GetSubstructMatch(mcs_mol)target_atm1 = []for atom in mol1.GetAtoms():if atom.GetIdx() not in match1:target_atm1.append(atom.GetIdx())match2 = mol2.GetSubstructMatch(mcs_mol)target_atm2 = []for atom in mol2.GetAtoms():if atom.GetIdx() not in match2:target_atm2.append(atom.GetIdx())return Draw.MolsToGridImage([mol1, mol2],highlightAtomLists=[target_atm1, target_atm2])view_difference(mol1,mol2)總結
以上是生活随笔為你收集整理的rdkit GetAtoms获取化合物每个位置的索引;rdkit FindMCS大公共相同结构 找不同化合物之间的差异的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器视觉硬件选型相关知识
- 下一篇: 设计师需要的素材、教程、工具等网站收集