3

私は .smiles ファイルに取り組んでいます。.smiles ファイルのファイル構造は次のとおりです。http://en.wikipedia.org/wiki/Chemical_file_format#SMILES

smiles ファイルからすべてのアトムを取得したいと考えています。つまり、単一の「C」原子がある場合、4 つの「H」原子がそれらに接続されることを意味します。

私は検索中に、笑顔の形式を解析できるPythonのモジュールがいくつかあることを発見しましたが、それらはサポートされている水素原子を与えません。(例: 'C' 原子のみを与え、その 'C' 原子に接続された他の 4 つの 'H' 原子は与えません)

Pythonを使用して、接続された「H」原子も含むすべての原子を見つけるにはどうすればよいですか。
接続された 'H' 原子を含むすべての原子に変換する必要がある笑顔ファイルの例:

[H]OC([H])([H])[C@@]1([H])C([H])=C([H])[C@@]([H])(n2c([H])nc3c(nc(nc23)N([H])[H])N([H])C2([H])C([H])([H])C2([H])[H])C1([H])[H]

前もって感謝します。

4

5 に答える 5

6

バベルを開くを参照してください。

Open Babel サイトの便利なリンク


Python を使用した化学に関するこのブログ(Casper Steinmann による)も参照してください(Open Babel を使用しますが、すべてではありません)。

更新 このコードを参照してください(テストされていません):

mymol = pybel.readstring("smi",  
"[H]OC([H])([H])[C@@]1([H])C([H])=C([H])[C@@]([H])(n2c([H])nc3c(nc(nc23)" + \
"N([H])[H])N([H])C2([H])C([H])([H])C2([H])[H])C1([H])[H")
print mymol.addh()
于 2013-02-12T09:38:42.803 に答える
3

SMILES として与えられる化合物の分子量については、Openbabel の Python バインディングが機能するはずです。

import pybel
mol = pybel.readfile("smi", "stuff.smi").next()
print mol.molwt
于 2013-06-12T07:24:01.657 に答える
3

smiles ファイルからすべてのアトムを取得したいと考えています。つまり、単一の「C」原子がある場合、4 つの「H」原子がそれらに接続されることを意味します。 この仮定は正しくありません。1、2、3 個の水素である可能性があります。

openbabel、CDK、または化学情報学用の同様のライブラリを試してください。

しかし、なぜファイルのすべてのアトムが必要なのですか?

于 2013-02-12T07:07:14.600 に答える
2

化学関連のアルゴリズムの迅速な開発を目的としたケモインフォマティクスツールキットである眉をひそめます。ほぼ100%Pythonで記述されており、一部はC++で記述されています。

于 2013-02-12T09:05:39.280 に答える