RDKit-PnadasTools

RDKitのMLにてPandasを直接扱えるモジュールができたよ。
とお知らせがあったので使ってみました。
Pandasはまだ詳しくありませんが、Rで言うところのデータフレームのような
オブジェクトを扱えるモジュールなので、Numpyなんかと組み合わせるとRをかませなくても色々できるかもです。
さて、RDKitが入っていればsourceforgeのここからコードを入手して
rdkit/Chemに入れます。

from rdkit import Chem
from rdkit.Chem import PandasTools
import pandas as pd
import os
from rdkit import RDConfig

で呼び出して

sdfFile = os.path.join(RDConfig.RDDataDir,'NCI/first_200.props.sdf')
frame = PandasTools.LoadSDF(sdfFile,smilesName='SMILES',molColName='Molecule')
frame.info
>>> frame.info
<bound method DataFrame.info of <class 'pandas.core.frame.DataFrame'>
Int64Index: 200 entries, 0 to 199
Data columns:
AMW                       200  non-null values
CLOGP                     200  non-null values
CP                        200  non-null values
CR                        200  non-null values
DAYLIGHT.FPG              200  non-null values
DAYLIGHT_CLOGP            200  non-null values
FP                        200  non-null values
ID                        200  non-null values
ISM                       200  non-null values
LIPINSKI_VIOLATIONS       200  non-null values
NUM_HACCEPTORS            200  non-null values
NUM_HDONORS               200  non-null values
NUM_HETEROATOMS           200  non-null values
NUM_LIPINSKIHACCEPTORS    200  non-null values
NUM_LIPINSKIHDONORS       200  non-null values
NUM_RINGS                 200  non-null values
NUM_ROTATABLEBONDS        200  non-null values
P1                        30  non-null values
SMILES                    200  non-null values
Molecule                  200  non-null values
dtypes: object(20)>
frame["CLOGP"]
>>> frame["CLOGP"]
0      0.79
1      4.66
2     -2.61
3     -2.01
4      2.43
5      3.52
6      2.18
7      1.51
8      1.08
9      5.02
10     4.85
11     2.56
12     1.87
13     4.06
14     4.06
...
185     0.45
186     0.96
187     3.04
188     2.50
189     1.29
190     3.23
191    -5.22
192     2.55
193     6.69
194    -1.77
195     2.47
196     2.47
197     1.56
198     3.08
199     2.19
Name: CLOGP, Length: 200

とかくデータへのアクセスも簡単そうです。
もう少しソースを読んで利用してみたいと思います。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中