【问题标题】:How to protonate a molecule in rdkit?如何在rdkit中质子化一个分子?
【发布时间】:2019-03-25 18:56:35
【问题描述】:

我想介绍基于 [M+H]+ 离子碎裂的正离子 ESI 质谱的工作流程。我想通过向杂原子添加一个质子来模拟电离。例如,

from rdkit.Chem import AllChem
from rdkit.Chem.Draw import rdMolDraw2D
from IPython.display import SVG

# read mol
mol = Chem.MolFromSmiles('O=C(O)C1=CC(=NNC2=CC=C(C=C2)C(=O)NCCC(=O)O)C=CC1=O')

# draw the mol
dr = rdMolDraw2D.MolDraw2DSVG(800,800)
dr.SetFontSize(0.3)
op = dr.drawOptions()
for i in range(mol.GetNumAtoms()) :
  op.atomLabels[i] = mol.GetAtomWithIdx(i).GetSymbol() + str((i+1))
  AllChem.Compute2DCoords(mol)
  dr.DrawMolecule(mol)
  dr.FinishDrawing()
  svg = dr.GetDrawingText()
  SVG(svg)

我想将一个质子添加到索引为#17 的 N 原子并电离该分子。如何在 rdkit 中实现这一点?

【问题讨论】:

    标签: rdkit


    【解决方案1】:

    这些功能是你要找的吗?

    atom = mol.GetAtomWithIdx(17)
    atom.SetNumExplicitHs(1)
    atom.SetFormalCharge(1)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多