1
1

More than 3 years have passed since last update.

PandasTools.LoadSDFで読み込んだときROMolに画像が表示されないのを一旦解決

Last updated at Posted at 2020-02-05
  • jupyter-notebookを使っている
  • RDKitで複数化合物が含まれるSDFデータをPandasTools.LoadSDFで読み込んだときROMolに画像が表示されないのをなんとかした
  • 自分の環境は下記

下記サイトを参考にRDKitを練習してた

RDKitでケモインフォマティクスに入門 | 化学の新しいカタチ

複数分子の読み込みのところでSDFファイルをpandasのDataFrame形式で読み込んだあと表示させてみたところ、ROMolのところに画像が表示されず <img data-content="rdkit/molecule" src="data:i... みたいなカラムになっていた (下記画像)

Screen Shot 2020-02-05 at 18.35.42.png

下記issueによると、どうやら、pandas 0.25.0 より上のバージョンだと起こってるっぽい

Mol rendering within DataFrames in a Jupyter Notebook is broken with Pandas 0.25.1 · Issue #2673 · rdkit/rdkit

たしかに、自分の場合pandasのバージョンは0.25.3だった

import pandas as pd
print('pandas version: ', pd.__version__)
#=> pandas version:  0.25.3

解決策としては pandasのバージョンを0.25.0まで戻すかも考えられたが
めんどかったので他に方法が無いか探した

画像で表示されたほうが便利な部分もあるのでissueたどったり検索してみたりすると
HTMLのライブラリ使うようにってのがあったので

Molecules not rendered in Pandas DF in Jupyter Lab · Issue #2825 · rdkit/rdkit

下記のようにやってみたらできた(sdfファイルはダウンロード済み、ライブラリはimport済みとする)

df = PandasTools.LoadSDF('./sdf/somesdffile.sdf')

from IPython.display import HTML
HTML(df.to_html())

Screen Shot 2020-02-06 at 8.56.43.png

画像がちゃんと出てきたら成功

ひとまず、画像があったほうがわかりやすいときはこうやればちゃんと出てくる

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1