以Python的原子价计算原子

2024-06-16 19:09:40 发布

您现在位置:Python中文网/ 问答频道 /正文

indigo模块的文档可以在这里找到

http://ggasoftware.com/opensource/indigo/api#inputoutput

例如,如果我有一个分子对象来表示一些微笑字符串,例如"[C](=[O])",我想计算每个原子的价态,比如这里期望的输出是[atom=C, unbound_electrons=2],[atom=O, valency=0]

如果我考虑原子"[C]" 有人能解释一下为什么这个代码打印[atom=C, unbound_electrons=0]不是{}

from indigo import *
indigo = Indigo()

mol=indigo.loadMolecule("[C]")

print(mol.grossFormula(),"\n")

for atom in mol.iterateAtoms():
        print([atom.symbol(),atom.radicalElectrons()])

编辑:如果我能生成原子上与atom.atomicNumber()结合的键类型列表,我就可以解决这个问题。E、 如果我能说[C]有双键,我可以取它的原子序数-2(第二层壳层)-2(双键)

编辑2:这可能有助于将我正在谈论的内容形象化

^{pr2}$

编辑三:我不是化学家,可能有些概念搞错了


Tags: 模块文档comhttp编辑atomprint原子