2

indigo モジュールのドキュメントは、ここにあります。

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

たとえば、SMILES 文字列の分子オブジェクトがある場合、たとえば"[C](=[O])"、各原子の原子価を計算したい場合、たとえば、ここで目的の出力は次のようになります。[atom=C, unbound_electrons=2],[atom=O, valency=0]

アトムを考えると、このコードが印刷されない"[C]" 理由を誰でも説明できますか[atom=C, unbound_electrons=0][atom=C, unbound_electrons=4]

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()。たとえば、二重結合があると言える場合[C]、原子番号 - 2 (2 番目のシェル) - 2 (二重結合) を取ることができます

編集#2:これは、私が話していることを視覚化するのに役立つかもしれません

from indigo_renderer import *
renderer = IndigoRenderer(indigo)
renderer.renderToFile(mol,"mol.png")

編集#3:私は化学者ではないので、いくつかの概念が間違っている可能性があります

4

0 に答える 0