参照先http://rdkit.org/docs/Cartridge.html

RDKitをデータベースのPostgresに組み込むとSQL文で化合物の構造式検索(部分、類似)、プロパティー値の算出らが可能になります。
研究室内の(仮想、実体)化合物ライブラリーの整頓、検索に使えるかも。

っで、具体的にどんなSQL文が利用されるかとなると、

と極めて直感的である。
このようなデータベースに組み込んで使える構造式検索エンジンは、商用としては
Daylight DayCartとかCambridgeSoft Oracle CartridgeBIOVIA Direct(Accelrys (Symyx)Direct)
InfoChem Chemistry Cartridge ICCARTRIDGEChemAxon JChem Cartridge for ORACLE
JChem PostgreSQL Cartridgeらがある。

フリーなものとして、このRDKitの他にも

とかがある。
ここではこのRDKitを取り上げる。まず土台となるPostgreSQLをインストールします。
その後にRDkitのカートリッジモジュールを組み込ませます。

化合物データベースの下準備RDKit/Cartridge/DB
PubChemを登録してみたRDKit/Cartridge/PubChem
ChEMBLを登録してみたRDKit/Cartridge/ChEMBL

Cartridgeを使って簡単なwebアプリを作ってみたRDKit/Cartridge/web

yum でインストールされた postgreSQL で Cartridge を使う

別にPostgreSQLを新たにソースからコンパイルせずとも yum でインストールして、RDKit の部分だけコンパイルでよくね?
下手にコンパイルするよりはずっと楽です。
*PostgreSQLの最新機能が必要なら別です

っで、その段取り。ますはyumでpostgresqlのパッケージをインストールします。
そしてデータベースの初期化を済ませます(PGDATAは /var/lib/pgsql/data)。

[root@c ~]# yum install postgresql-devel postgresql-server postgresql
[root@c ~]# /bin/postgresql-setup initdb
Initializing database ... OK
 
[root@c ~]#

次に、RDKitのCartridgeをコンパイルします。
RDKitでコンパイルした場所に移動して、コンパイルオプションを変更して再実行

[root@c ~]# cd /opt/RDKit/build/
[root@c build]# cmake .. -DRDK_BUILD_PGSQL=ON -DRDK_PGSQL_STATIC=OFF
[root@c build]# make
[root@c build]# bash /opt/RDKit/build/Code/PgSQL/rdkit/pgsql_install.sh

最後のシェルスクリプトで RDKit のCartridgeライブラリ(rdkit.so)が/usr/lib64/pgsqlにコピーされる。
*cmakeに依存しないでコンパイルしたら undefined symbol: _ZTIN5boost6detail16thread_data_baseE とエラーが出た。MakefileのSTATIC_LINKをSTATIC_LINK=0で回避可能

Cartridgeのテスト

まずはPostgreSQLを起動させます。

[root@c ~]# systemctl start postgresql

そして、Cartridgeのテストを誰にさせるかになるのですが、ここではpostgresユーザにしました。別のユーザでも構いません
テスト実行のファイルをコピーして、「make installcheck」と実行します

[root@c RDKit]# su - postgres
-bash-4.2$
-bash-4.2$ pwd
/var/lib/pgsql
-bash-4.2$
-bash-4.2$ cp -r /opt/RDKit/Code/PgSQL/rdkit .
-bash-4.2$ cd rdkit
-bash-4.2$
-bash-4.2$ make installcheck
/usr/lib64/pgsql/pgxs/src/makefiles/../../src/test/regress/pg_regress --inputdir=. --psqldir='/usr/bin' 
       --dbname=contrib_regression rdkit-91 props btree molgist bfpgist-91 sfpgist slfpgist fps reaction
 
(using postmaster on Unix socket, default port)
============== dropping database "contrib_regression" ==============
NOTICE:  データベース"contrib_regression"は存在しません。省略します
DROP DATABASE
============== creating database "contrib_regression" ==============
CREATE DATABASE
ALTER DATABASE
============== running regression test queries        ==============
test rdkit-91                 ... ok
test props                    ... ok
test btree                    ... ok
test molgist                  ... ok
test bfpgist-91               ... ok
test sfpgist                  ... ok
test slfpgist                 ... ok
test fps                      ... ok
test reaction                 ... ok
 
=====================
 All 9 tests passed.
=====================
 
-bash-4.2$

と成功しました。

これで RDKit を組み込んだ PostgreSQL が完成

最新の60件
2024-06-17 2024-06-16 2024-06-14 2024-06-12 2024-06-11 2024-06-10 2024-06-08 2024-06-07 2024-06-02 2024-06-01 2024-05-30 2024-05-16 2024-04-26 2024-04-18 2024-04-15 2024-04-11 2024-04-06 2024-04-05 2024-03-30 2024-03-29 2024-03-19 2024-03-17 2024-03-15 2024-03-06 2024-03-05 2024-03-03 2024-02-23 2024-02-22 2024-02-21 2024-02-20 2024-02-19 2024-02-18 2024-02-13 2024-02-12 2024-02-09 2024-02-04 2024-02-03 2024-01-31 2024-01-30 2024-01-29 2024-01-28 2024-01-22 2024-01-16

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-09-25 (日) 14:53:58