ChEMBLの話
@fmkz___
自己紹介
•  kzfm (@fmkz___)
–  blog.kzfmix.com
–  Shizuoka.py

•  Python歴は6年くらい
–  WAFはFlask(最近Django)
–  Pandas+ggplot素敵☆
ChEMBLとは

h"p://cbi-­‐society.org/home/documents/
seminar/2009to12/CBI_Ikeda_511_d.pdf
インハウスにChEMBLがあるメ
リット☆
•  セキュリティ的に安心
–  思う存分クエリを投げられる
–  PPだとコンポーネントのエンドポイントいじれ
ばOKらしい

•  速いし、負荷もかけられる
–  快適

•  webのインターフェースにない検索も出来
る
–  doi使ったりblastと組み合わせたりとか
例1) ChEMBL-MMP
•  1.3 million MMPs
•  1291 proteins
•  206 measurement
types
•  7431 journals

h"ps://github.com/kzfm/pychembldb/blob/master/examples/mmp/recreaFon.py	

5	
  
D1 receptorのホモログ

6	
  
今日やること
•  DBMSのインストール
–  今回はPostgreSQL
–  ChEMBL_17のMySQLのダンプはバグってい
るので使用しないほうがよい

•  Pythonのインストール
–  pip
–  pychembldb

•  その他
–  Flask
–  BioPython(blast)
はじめましょう☆
•  ChEMBL導入
–  http://blog.kzfmix.com/entry/
1389565991

•  pychembldb導入
–  http://blog.kzfmix.com/entry/
1389589262

• 
ここからはお題
文献情報	
  
(doi/Ftle)	

Schema

実験情報	
  
(アッセイ/値)	

ターゲット情報	
  
(cell/配列/種)	

化合物情報	
  
(構造/prop)	

承認薬	
  
情報	

メカニズム/結合	
  
情報	

結合サイト	
  
情報	
  
(ドメイン/位置の始
めと終わり)
ディレクトリリスト
参考サイト
•  SQLAlchemy
–  http://docs.sqlalchemy.org/en/rel_0_9/

•  Flask
–  http://flask.pocoo.org/docs/

•  Blast
–  http://bonohu.jp/blog/2013/06/08/
localblastinmountainlio/
–  http://motdb.dbcls.jp/?
AJACS32%2Fbono#e17b6eed

•  BioPython
–  http://biopython.org/DIST/docs/tutorial/
Tutorial.html
お題1
•  Glycogen synthase
kinase-3(GSK3)に対するアッセイの
中でヒトを対象に行われたものを選ぶ
お題2
•  問題1でアッセイに供された化合物の活性
値とsmilesを知りたい
お題3
•  Glycogen synthase
kinase-3(GSK3)に対するアッセイの
参照元のpubmed_idとジャーナル名を
知りたい
お題4
•  pubmedidが15686883の文献中に
記載されている化合物の重み付きQEDス
コアが知りたい
お題5
•  ChEMBLのターゲット用のblastdbが
欲しい、そして思う存分相同性検索がした
い
•  (ヒント)BLASTとBioPythonをイン
ストールしましょう
–  http://bonohu.jp/blog/
2013/06/08/
localblastinmountainlio/
お題6
•  ChEMBLのウェブサービスをローカルに
実装したい
–  https://www.ebi.ac.uk/chembl/ws

•  ここではFlaskを使ってみましょう
–  http://www.kzfmix.com/flaski/
答え
お題1(答)

>>> for target in
chembldb.query(Target).filter_by(pref_name="Glycogen synthase
kinase-3"):
...
for assay in target.assays:
...
if assay.assay_organism == "Homo sapiens":
...
print assay.description
お題2(答)
•  forループを回す
>>> for target in
chembldb.query(Target).filter_by(pref_name="Glycogen synthase
kinase-3"):
...
for assay in target.assays:
...
if assay.assay_organism == "Homo sapiens":
...
for activity in assay.activities:
...
print activity.published_value,
activity.compound.molecule.structure.canonical_smiles
お題3(答)

>>> for target in
chembldb.query(Target).filter_by(pref_name="Glycogen synthase
kinase-3"):
...
for assay in target.assays:
...
print assay.doc.pubmed_id, assay.doc.journal
お題4(答)

>>> for journal in
chembldb.query(Doc).filter_by(pubmed_id=15686883):
...
for assay in journal.assays:
...
for act in assay.activities:
...
print act.compound.molecule.property.qed_weighted
お題5(答)
•  https://github.com/kzfm/
pychembldb/blob/master/
examples/blast/chemblast.py
お題6(答)
•  https://github.com/kzfm/
pychembldb/blob/master/
examples/chemblapi/app.py

ChEMBLを使おう