はじめに
AI創薬を始めるためには、まずデータを用意しなくてはなりません。本記事では、オープンデータベースであるChEMBLを用いて、ローカルに化合物DBを構築する方法を紹介します。
ChEMBLとは
ChEMBLは医薬品および開発化合物のオープンデータベースで、薬物開発や化学研究において非常に重要なツールです。
ChEMBLの概要は下記の通り。
運営元
- 欧州分子生物学研究所(EMBL)のバイオインフォマティクス研究所(EBI)
保存されているデータ
- 医薬品および開発化合物の薬物動態、薬活性等のデータ
保守運用
- 主にメディシナルケミストリ関連のジャーナルから手動で抽出
- 抽出後に専門家によるチェック
- 3, 4か月に一度データ更新がある
費用
- 無料で検索、ダウンロードが可能
その他
- APIでもデータ取得可能
https://chembl.gitbook.io/chembl-interface-documentation/web-services/chembl-data-web-services
化合物データベースの構築
それでは、ChEMBLからデータをダウンロードしてローカルDBを構築してみましょう。
環境
動作検証した環境は下記の通り
- Windows 11 Pro
- Docker Desktop v4.15.0
手順
- データのダウンロード
以下のURLからデータをダウンロードできます。
https://ftp.ebi.ac.uk/pub/databases/chembl/ChEMBLdb/latest/
chembl_XX_postgresql.tar.gz
をクリックしてデータをダウンロードします
- .tar.gzファイルの解凍
ファイルのダウンロードが完了したら下記コマンドで.tar.gz
ファイルを解凍します
tar -xzvf chembl_34_postgresql.tar.gz
- PostgreSQL環境の構築
docker-composeを用いて、PostgreSQL環境を構築します。
Dockerfileを用いて構築しても良いですが、DBと合わせて解析用コンテナ(Python実行用)を構築することもあるのでdocker-composeで構築しています。
docker-compose.yaml
を配置したディレクトリで、docker-compose up
を実行します。
version: "3.6"
services:
db:
image: postgres:14.2
ports:
- 5432:5432
tty: true
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
volumes:
- ./db:/var/lib/postgresql/data
- dmpファイルのインポート
PostgreSQLのコンテナに入り、dmpファイルをインポートします。
move ./chembl_34_postgresql.dmp ./db/chembl_34_postgresql.dmp (macの場合はmvコマンド)
docker exec -it [docker container id] bash
pg_restore -d postgres /var/lib/postgresql/data/chembl_data/chembl_34_postgresql.dmp -U postgres -O
- データの確認
dockerコンテナに入った後にpostgreSQLに接続し、テーブル一覧を確認します。
テーブルができていれば、インポートが完了しています。
psql -d postgres -U postgres
\dt;
ChEMBLのデータ構造
ChEMBLdbのテーブル定義は下記URLのchembl_34 Schema Documentation
で確認できます。
https://ftp.ebi.ac.uk/pub/databases/chembl/ChEMBLdb/latest/
しかし、テーブル数が多くてどのようなデータがあるか把握するのは大変なので、私が良く使うテーブルをこちらにまとめておきます。
- assays: 文献で報告されていた測定のリスト
- activities: 活性値やエンドポイント値など測定の結果
- compound_structures: SMILES等の化合物の構造情報
- target_dictionary: 化合物の標的のリスト。あるタンパク質に対する活性値を知りたい場合はそのタンパク質を標的とするactivitiesに絞り込みます
終わりに
本日はChEMBLを用いてローカルDBを構築する方法を紹介しました。
記事の内容が役に立ったという方はいいねやストックをしていただけると励みになりますので、よろしくお願いします!
参考文献