RDKitのCartridgeを組み込んだPostgreSQLで、化合物管理なデータベースを実際に作ってみる。
そこで部分構造式検索、類似構造検索、プロパティー演算らを行ってみる。

まずはその下拵えとしてデータベースの作成から
*pg_hba.confを変更してます

データベースユーザの作成

PostgreSQL内に専用のアカウントを用意します。
ここではアカウントとしてcasterを作成して、同時にアカウントにパスワードを設けた。

[root@c ~]# createuser --no-createdb --no-createrole --no-superuser -e caster -P -U postgres
新しいロールのためのパスワード:
もう一度入力してください:
CREATE ROLE caster PASSWORD 'md53ec5fccad0a49d575cdf3c802462eaa5' NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN;
[root@c ~]#

次に、casterが所有者となるデータベースchemdbを作ります。

[root@c ~]# createdb --encoding=UTF8  --owner=caster -e chemdb -U postgres
CREATE DATABASE chemdb OWNER caster ENCODING 'UTF8';
[root@c ~]#

作成したデータベースを確認

[root@c ~]# psql -l -U postgres
                                              データベース一覧
        名前        |  所有者  | エンコーディング |  照合順序   | Ctype(変換演算子) |      アクセス権
--------------------+----------+------------------+-------------+-------------------+-----------------------
 chemdb             | caster   | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       |
 contrib_regression | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       |
 postgres           | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       |
 template0          | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       | =c/postgres          +
                    |          |                  |             |                   | postgres=CTc/postgres
 template1          | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       | =c/postgres          +
                    |          |                  |             |                   | postgres=CTc/postgres
(5 行)
 
[root@c ~]#

作成したchemdbデータベースに対して、RDKitの機能を付与します

[root@c ~]# psql -c 'CREATE EXTENSION rdkit' chemdb -U postgres
CREATE EXTENSION
[root@c ~]#

RDKitの機能が組み込まれたかを確認します

[root@c ~]# psql -U caster -d chemdb
psql (9.2.15)
"help" でヘルプを表示します.
 
chemdb=> \dx
                           インストール済みの拡張の一覧
  名前   | バージョン |  スキーマ  |                     説明
---------+------------+------------+-----------------------------------------------
 plpgsql | 1.0        | pg_catalog | PL/pgSQL procedural language
 rdkit   | 3.4        | public     | Cheminformatics functionality for PostgreSQL.
(2 行)
 
chemdb=>

組み込まれた事を確認できました。
引き続き、このRDKitで使用可能なスキーマを確認してみます。

chemdb=> \dx+ rdkit
                 Objects in extension "rdkit"
                      Object Description
---------------------------------------------------------------
 function add(sfp,sfp)
 function all_values_gt(sfp,integer)
(中略)
 type mol
 type qmol
 type reaction
 type sfp
(228 rows)
 
chemdb=> \q
[postgres@c ~]$

一方で、RDKitの機能をchemdbデータベースから削除すには、

[root@c ~]# psql -c 'DROP EXTENSION rdkit CASCADE' chemdb -U postgres
DROP EXTENSION
[root@c ~]#
[root@c ~]# psql -U caster -d chemdb
psql (9.2.15)
"help" でヘルプを表示します.
 
chemdb=> \dx
                   インストール済みの拡張の一覧
  名前   | バージョン |  スキーマ  |             説明
---------+------------+------------+------------------------------
 plpgsql | 1.0        | pg_catalog | PL/pgSQL procedural language
(1 行)
 
chemdb=>

とします。


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2016-09-24 (土) 00:13:05 (393d)