RDkitでの原子インデックスの表示
RDkitでの原子インデックスを表示したいのですが表示されません。
オプションで includeAtomNumbers = True を実行すれば表示されるはずだと思うのですが・・・
以下のソースコード①、②を実行しましたが分子のみ表示され、原子インデックスが表示されません。
できれば原子(CやOなど)を表示せずにインデックスだけ表示したいです。
該当のソースコード①
python
1import rdkit 2from rdkit import Chem 3from rdkit.Chem import Draw 4from rdkit.Chem.Draw import IPythonConsole 5 6#例としてイブプロフェンへの原子インデックスの表示を試みます 7ibuprofen = Chem.MolFromSmiles('CC(C)CC1=CC=C(C=C1)C(C)C(=O)O') 8Draw.MolToImage(ibuprofen, includeAtomNumbers = True)
該当のソースコード②
python
1import rdkit 2from rdkit import Chem 3from rdkit.Chem import Draw 4from rdkit.Chem.Draw import IPythonConsole 5from rdkit.Chem.Draw.MolDrawing import DrawingOptions 6 7#例としてイブプロフェンへの原子インデックスの表示を試みます 8ibuprofen = Chem.MolFromSmiles('CC(C)CC1=CC=C(C=C1)C(C)C(=O)O') 9 10#文献を参考に原子インデックスを表示する関数を定義 11def molview(mole): 12 DrawingOptions.includeAtomNumbers = True 13 view = Chem.Draw.MolToImage(mole) 14 return view 15molview(ibuprofen)
このコードであれば原子とインデックスがセットで表示されました
python
1def mol_with_atom_index( mol ): 2 atoms = mol.GetNumAtoms() 3 for idx in range( atoms ): 4 mol.GetAtomWithIdx( idx ).SetProp( 'molAtomMapNumber', str( mol.GetAtomWithIdx( idx ).GetIdx() ) ) 5 return mol 6 7mol_with_atom_index(ibuprofen)
補足情報
・windows10
・python3.7.1
・conda version : 4.8.4
・rdkit:2020.03.2.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。