BH12.12/UT Prot

提供:TogoWiki

移動: 案内, 検索

目次

目標

  • UT_Prot (UniProt/PDBで物足らない部分を補完するデータのRDF化)
タンパク質機能・構造予測のための機械学習分野において利用頻度が高い二次データベースのRDF化を行い, UniProtやPDBなどのリソースデータベースとリンクさせLOD化を図る.
派生プロジェクト

参加者(自由に付け加えてください)

  • ◯込山悠介 (東大・農)[化合物・金属タンパク質担当, 監修] Twitter: @YusukeKomiyama | Skyepe: hoehoe2nd
  • 番野雅城 (東大・農)[糖鎖担当] Twitter: | Skyepe:
  • 重光俊亮 (東大・農)[膜タンパク質担当] Twitter: @choge_ | Skyepe: choge0319
  • 孫建強 (東大・農)[アグリバイオインフォマティクス, NGS担当] Twitter @wukong08 | Skyepe:

レポート(自由に付け加えてください)

DAY3(自由に付け加えてください)

SUBAのRDF化

Mapping

  • 前日エラーが出ていたものを再パースして原因を探る。
→ ファイルの分割が不完全だったことに起因しているようだった。分割をもっとしっかりやってから、もう一回やってみる。
→ N-triples、不完全なデータ。ファイルがでかいです。
http://bilab.choge.me/data/SUBA/suba.nt
  • データができた後:lang属性(?)が今は"en"のみになっているので、"en-US"に変更する。
AGI codeGO IDECO IDPMIDPredictor
http://purl.uniprot.org/tair/AtXgYYYYYYhttp://bio2rdf.org/go:XXXXXXXhttp://bio2rdf.org/eco:XXXXXXhttp://bio2rdf.org/pmid:XXXXXXbilab:XXXXX

この形を再現するならこういう形のほうがいい気もするんだけど、どうなんだろう。

  • 36分割したファイルそれぞれで独自のBlank nodeの識別子が振られているので、重複がないか確認する。
    • 重複してそうならファイルの番号か何かをくっつける。

DAY2(自由に付け加えてください)

Slides at GoogleDrive

SUBAのRDF化(膜タンパク質)

  • PerlおよびRDF::Helperというモジュールを使用してパーサーを書いてみた。
ソースコードおよび出力されたRDFとN-triples(GitHub)
    • が、ど素人なのですごく遅い気がする。
given文を使っているから?Perlのgivenはスマートマッチを使っているため遅いってどこかで聞いた気がする
→ 直した。
RDF::HelperでSerializeするときって、一旦ぜんぶ$rdfオブジェクトみたいなものにResourceを蓄えてるんだろうか。もしそうなら、SUBA全体を処理することはメモリ的に無理かも?
ソースコードを拝見しました, SUBAのtsvをRDF/XMLにシリアライズするのが suba_mkrdf.plで
AGIIDとUniProtIDへのリンクを作成するのが, link.plという認識でよろしいでしょうか?
気づいた点を箇条書きでメモしておきますDAY2で検証しましょう. (追記:込山 12/20 9:00)
ありがとうございます。(重光)
      • サンプルのRDF/XMLの出力冒頭のbaseがローカルディレクトリになっているのでbilabのresourceのURIを考える
<rdf:RDF xml:base="file:/Users/choge/Repositories/BH12.12/ss/uniprot2suba" 

→BaseURIは、

http://www.bi.a.u-tokyo.ac.jp/rdf/

にした。

      • predictorのリソースとプロパティのURI分けた方がよい. プロパティとクラスはオントロジーでよい.
xmlns:predictor="http://www.bi.a.u-tokyo.ac.jp/owl#predictor:" 

→ predictorのリソースはhttp://www.bi.a.u-tokyo.ac.jp/resources/predictor: とした。

      • N-TriplesではPrefixは使用できないので, URIをフルで書く, リソースは<>で, リテラルはダブルコーテーションで囲む. 行末にはピリオド. ブランクノードは_:で記述.
http://www.ibm.com/developerworks/jp/xml/library/x-think17/index.html
      • GO:タームというリソースURIが存在するか確認する.
→ こちらについては、スクリプトのバグに起因するものでした。現在はgo:hogehogeのようなものはもう出なくなっています。
      • Subcellular locationがわからないもの(SUBA中でunclearのもの)
GO:0005575のNarrow SynonymでCellular Component Unknownというのがあった。Literalのような気がするので使えないかも?
↑のは微妙なので、NCI ThesaurusのUnknownとした。
      • UniprotへのseeAlsoを追加したい。
Resource URIはhttp://www.uniprot.org/uniprot/XXXXXX でいいのか??
Error: {W124} The namespace URI: <bilab:> is not well formed.[Line = 3, Column = 83]
Error: {W124} The namespace URI: <rdfs:> is not well formed.[Line = 3, Column = 83]

→ 原因がわからないので、とりあえず現在の状況で出力をはじめてみた。元データを24分割して、それをN-triplesに。
→ AGI codeの小数点以下の部分は捨てた方がいいかもしれない(たまにResourceが存在していない)
→ 5時半までには終わるかなー →だいたい終わった。24分割したうちの1つがうまくパースできてないみたい。(no.8)
→ トリプルの数は1037603個 (うまくパースできなかったものを除く)

  • TODO
    • もう一回マッピングが現在のもので大丈夫か確認する。
      • 配列(AGI code)が持つLocation(GO ID)に対して、個々の配列毎に異なるpredictorとかPMIDとかが付随していて欲しいけど、それができているのか?
AGI codeGO IDECO IDPMIDPredictor
http://purl.uniprot.org/tair/AtXgYYYYYYhttp://bio2rdf.org/go:XXXXXXXhttp://bio2rdf.org/eco:XXXXXXhttp://bio2rdf.org/pmid:XXXXXXbilab:XXXXX

この形のテーブルも一応作成した。


糖鎖

糖鎖関連データベース

  • glyco sciences.de (ツールも充実している)
  • RINGS (糖鎖記述フォーマット間の変換ツールが充実)
  • JCGGDB
  • glycome DB (数は一番多い)

PDB中の糖鎖 糖鎖の結晶構造を決めるのは相当難しい
ソーキングしてるか発現系から入り込んでいるものかどうかは、キュレーションした方が良い。
PDB中の糖鎖構造は誤っているものが多い。

  • 結合距離が間違っているもの。
  • HETATM の三桁IDが間違ってるもの。
  • ただしく修正するプログラムが近々オープンソースで公開されるらしい。


PDB から GlycomeDB へのマッピング

  • PDB2linucs で linucs コードへ変換可能
  • glycan builder(オープンソース) の内部に糖鎖フォーマット変換プログラムがある。
  • PDB →(PDB2linucs)→ Linucs → (glycan builder) → KCF で glycomeCTへマッピングが可能
  • 基本的に糖鎖データベース間で相互リンクされているので他データベースへのリンクは可能

PDB から pubchem,chembleへ

  • PDBファイル中に書かれているCONNECT レコードからPDBファイル中に含まれている糖鎖ごとにMOLファイルを生成することは可能
  • OpenBabel で PDBファイルから inchi,smiles へ変換することが可能。
  • PDB →(OpenBabel)→ inchi,smiles → Chembi,Pubchem で、PDB中の糖鎖を他化合物データベースへマッピングできそう。

糖鎖結合タンパク質データベース

  • レクチンフロンティアデータベースがある。
  • レクチンの種類ごとにどの糖鎖と結合するのか実験的に調べて、その結果をデータベースとして公開している。
  • PDBともリンクされている。
  • RDF化の話題も出ており、将来的にRDFとして公開されるかも。

DAY1(自由に付け加えてください)

PLBSP (Protein Ligand Binding Site Pair)

輸送したサーバーをセンターに設置してデータベースを起動, SPARQL endpointを利用可能にした.

構造生物学における化合物

午前中, ハッカソンの化合物グループでディスカッションおよび
ChEMBL, ChEBI, Chem Spieder, KEGG COMPOUND, PDB LigandのRDF, OWLの仕様調査を行った.
化合物を唯一に特定するにはInChI, InChIKeyを使うのが現状では最も良策である.
将来的に統合化合物データベースや化合物の統一オントロジーができた際に, そこにリンクする.


構造生物学, 生物物理でタンパク質とリガンドの分野においては,
PDB Ligandの3桁ID (Het ID)が最も利用されているが,
他の化合物データベースとLOD化することで, より上質なアノテーションを取得できることが期待される.


グループディスカッションではInChIについての注意点も指摘された.
InChIには各種ツールからコンバートできるが標準フォーマットで無いデータベースも存在.
InChIの冒頭にSがついている場合はスタンダードInChIであるので, なるべくこれを使う.
InChI --> InChIKey は1:1だが InChIKey --> InChI は1:Nとなる場合が極稀にある.
InChIKeyはデータベースで取り扱いやすいためよく使用されているが, その場合は作成したツール名とバージョンもRDFに記述する必要がある.
RDFを作成する際スタンダードInChIかどうかを判別する場合に, hasStandardInChI などのpropertyを作成し, 付加的にリテラルとして booleanでTかFなどと入れてはどうか?

膜タンパク

Arabidopsisの膜タンパクLODを作るためのマッピング作業.
並行してグラフモデルの推敲.
  • Mappingの決定
at LucidChart
AGI codeGO IDECO IDPMIDPredictor
http://purl.uniprot.org/tair/AtXgYYYYYYhttp://bio2rdf.org/go:XXXXXXXhttp://bio2rdf.org/eco:XXXXXXhttp://bio2rdf.org/pmid:XXXXXXbilab:XXXXX
  • Resourceの決定
    • GO ID
OrganellaCorresponding GOLabel of the GO
cytoskeltonhttp://bio2rdf.org/go:0005856
cytosolhttp://bio2rdf.org/go:0005737Cytoplasm
endoplasmic reticulumhttp://bio2rdf.org/go:0005783endoplasmic reticulum
extracellularhttp://bio2rdf.org/go:0005576extracellular region
golgihttp://bio2rdf.org/go:0005794Golgi apparatus
mitochondrionhttp://bio2rdf.org/go:0005739mitochondrion
nucleushttp://bio2rdf.org/go:0005634nucleus
peroxisomehttp://bio2rdf.org/go:0005777peroxisome
plasma membranehttp://bio2rdf.org/go:0005886plasma membrane
plastidhttp://bio2rdf.org/go:0009536plastid
vacuolehttp://bio2rdf.org/go:0005773vacuole
unclear
  • SUBAに記述されている実験方法
ExperimentsCorresponding ECOLabel of the ECO
GFPhttp://bio2rdf.org/eco:0000126green fluorescent protein fusion protein localization evidence
MSMShttp://bio2rdf.org/eco:0000004cell fractionation evidence
Computational methodhttp://bio2rdf.org/eco:0000053computational combinatorial evidence
MSMSはあんまり自信ないです。Computational methodについても、あんまりcombinatorialじゃない気がする。
  • SUBAに載っている予測器
NamePrediction
AdaBoostcytosol
ATPno data
BaCelLocytosol
ChloroPno data
EpiLocmitochondrion
iPSORTmitochondrion
MitoPredno data
Mitoprot 2mitochondrion
MultiLocmitochondrion
Nucleono data
PCLRno data
Plant-mPlocmitochondrion
Predotarmitochondrion
PredSLmitochondrion
PProwlermitochondrion
PTS1no data
SLPFAmitochondrion
SLP-Localmitochondrion
SubLocmitochondrion
TargetPmitochondrion
WoLF PSORTmitochondrion
YLocmitochondrion
既存のオントロジーはなさそうなので(どなたかご存じでしたら教えてください><)、個々のツールのウェブサーバへのリンクにする。
  • 明日やりたいこと
    • 他のデータベースの情報(TAIR, Uniprotを指しているColumnをどうするか)

金属

PLBSPのRDFやSPARQLクエリを金属タンパク質のLODに利用できないか提案した.

事前TODO(自由に付け加えてください)

  • サーバー
    • PLBSP-DB, wwPDBをロードしたVirtuosoの入ったサーバー機を弥生から浅野へ運ぶ
    • 有線LANへ接続する許可をオーガナイザーにもらう
    • 成果物のアップロードおよび作業用臨時サーバーをAmazon WSで準備した. (12/18)
    • 一時的なものですが↑へのドメインを設定しました:[1]
  • (非セマンティックウェブの)既存DB
  • リファレンス

仕事道具(自由に付け加えてください)

セマンティック・ウェブ関連ツール一覧

小規模サイズのRDFデータ作成(~数MB)
中規模サイズのCSVのRDF化&データベース化
中規模サイズのデータ整形用 (~数百MB)
google-refine時代のRDFモデリング&出力のためのプラグイン
google-refineの後継プロジェクト, google-refineと変わらず動作するか検証しておきたい. pluginも.
従来のように ./refineで起動させるとロゴしか表示されなかった.
OpenRefineプロジェクト下で継続されているみたい.
RDFのフォーマット変換やトリプル数のカウントができるユーティリティ. ubuntuだとパッケージに入っている
raptorのrapperのバージョンによってn3に変換できない(?)場合や, .rdf.gz → .nt.gz のような圧縮ファイルから圧縮ファイルへ変換したい場合のコンバータ. java
作成したRDFの文法チェックとグラフ可視化ができるウェブサービス. (〜数MB)
伝統的なオントロジーエディタ, オントロジーを作成したり読む際に使用

タンパク質とリガンドおよび文献マイニングのためのSPARQL endpoint一覧

Protein Ligand Binding Site Pair のRDFデータベース. UT ProtのコアでPDB/PDB Ligandへリンク, UniProtへ拡張の準備中. ローカルサーバーで試験運用中のためリンクは当日貼ります.
BH12.12中は有線LAN接続で http://192.168.0.15:8890/sparql で利用できます. (12/19)
比較的大きなデータを取得するためにタイムアウトを長く設定しています, LIMITを書くなどしてサーバー負荷軽減にご協力ください.
  • wwPDB/chem_comp (PLBSPと同じグラフに入っています)
wwPDBから取得できるRDFの誤植を修正しVirtuosoにロード可能なように修正. PLBSPと同一のサーバーにロード済. 当日にリンクを貼ります.
wwPDB(4桁PDBIDのProtein), chem_comp(3桁のHet IDのLigand) の意味です.
PLBSPとPDB/PDB LigandのSPARQLクエリ例

(会場に運んだサーバーのtriple store には上記のデータをロード済み)



beta UniProt SPARQL endpoint
ChEMBL(医薬品化合物のデータベース)
生命科学の略語と展開の検索サービス
参考:http://data.allie.dbcls.jp
DBPedia 本家, データは英語版Wikipedia
参考:http://dbpedia.org/About
日本語WikipediaをベースにしたDBPedia
参考:http://ja.dbpedia.org

オントロジー一覧

生命科学のオントロジーのレポジトリ, 検索サービス.
http://rdf.wwpdb.org/schema/pdbx-v40.owl
http://purl.uniprot.org/core/
OWLファイルの所在:ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/rdf/core.owl
http://allie.dbcls.jp/ontology/201108

SPARQL endpoint 以外のWS

参考:http://togows.dbcls.jp/site/ja/index.html

草案(自由に付け加えてください)

初期案

  • Protein Ligand Binding Site Pair DB の拡張 (込山)
    • PLBSP-DB
      • 化合物 : PDB Ligand, ChEBI, DrugBankなどへのリンク拡張
      • UniProt:PLBSP-DB, PDBと同時にグラフ検索するには大きすぎるので, IDのみの対応表を作って実行可能なクエリを書く
      • wwPDB:提供されているRDF全般でuniprot taxnomyへのリンクURLの誤植がある.
(正)http://purl.uniprot.org/taxonomy/4932 が(誤)http://pur.uniprot.org/taxonomy/4932 の様になっている.
2012/10/9~2012/12/9のタイムスタンプのもの
    • 既存のタンパク質-リガンド結合DBのRDF化
      • LIPID MAPS
    • Triple Storeのパフォーマンス, チューニング手法
    • UniProtの3大データ(uniref, uniparc, uniprot)のロードを効率よく行うための手法の調査
  • PDBで分断されている糖鎖を他の既存DBへ対応付け (番野)
    • KEGG GlycanのDBのライセンスの確認
      • 糖鎖関係は全てKEGG Glycanに接続されている
  • UniProtから生物種ごとのDBへのリンクを充実 (重光)
      • The Human Protein ATLAS(すでにあった)
既存DBのビュー内(ドキュメントのウェブ)にリソースデータベースへのリンクがあったとしても, セマンティックウェブ(データのウェブ)としてリンクが張られていないのであれば, 新たにモデル構築する意義がある. 候補から外す必要はないと思う.(追記:込山)
了解しました、もう一度候補に追加しておきます (追記:重光)
      • SUBA
      • yeastgfp
    • UniProtと生物種ごとのDBの食い違いを修正したい
      • TAIR, SUBA, SGDとUniProt

アイデア出し(自由に付け加えてください)

重光

やりたいこと

  • Uniprotのデータから、細胞内局在化部位のDBをつなぎたい。
(Uniprotから飛べるので不要?)
ただ、アノテーション情報としてここの情報が書いてあるとうれしい
(SGDからはいける;SGDにはだいたい飛べる)
(TAIRのIDが必要;Uniprotからは飛べない;SUBAからは飛べる)
(ライセンス的にありなら)SUBAをRDF化する?
SUBAは一つのColumnに複数のデータ(ReferenceのID)が入っていることがあるので、そいつらを別のRowに落とし込まなくては。
実験方法については、[ECO(Evidence Codes Ontology)]を見れば良さそう
Mapping案(閲覧専用)  Mapping案(編集可)
Googleのアカウントなどでサインインしたあと、Documentsで”Suba Ontology (2)”を選択してください。

Ontology案
  • SUBAに存在するオルガネラ
ここから一気に取るといいらしい。


SUBAのTSVのマッピングにおいて主要データベースのリソースはbio2rdfのものを利用するのはどうか.
Allieの語彙使用例がモデリングの参考なると思います.
PLBSPで使用した語彙マッピングはこちらにあります.
(追記:込山)
PropertyについてはUniprotのもの(LocatedIn, source ...etc)を使う予定です。

現状での疑問点など(11:06 2012/12/19)
  • AGI codeのResourceはどこにあるのかよくわからない。
→ UniprotのRDFはhttp://purl.uniprot.org/tair/At5g21990 のような形になっていると思う。これを使ってもいいのかな
    • AGI codeからUniprotIDへのProperty。link_to or seeAlso ? (どこにあるかはわかってない)
    • AGI codeから実験へのPropery:uniprot:experimentsというのがあるけど、DataTypePropertyだから使えない?
  • 細胞内局在化部位がCytoskelton, UnclearのOntology
  • LocationとExperiment、ExperimentとPMIDを結ぶProperty。いくつか良さそうなのがあるけど、どれを使うべきなのか。
    • Location → Experiment:uniprot:method or uniprot:source;個人的にはmethodがいい気がする
    • Experiment → PMID:uniprot:source, uniprot:annotation or uniprot:citation
  • Prediction ToolのResource、AGI codeからのProperty。
    • Resourceは勝手に作ってしまう?
  • UniprotのPropertyにはRangeが設定されているけど、自分で定義したResourceをつなぐときは使えない?


動機:UniprotのIDから細胞内局在化部位/膜貫通領域のアノテーションを一括して手に入れたい。
”Subcellular Location”のセクションを見れば現状でもできるが、問題点もある。
  • 上記のものに比べるとかなり情報が限られている(SUBAにあってUniprotには無いものも多い。これは単にReviewedじゃないだけかも・・・)
  • 論文へのReferenceなので、具体的にどうやって決めたかの情報が無い(SUBAレベルの情報が欲しい)。
欲を言えば、膜貫通の情報も調べたい。けど、その証拠はさらに輪をかけて少ない気がする(Gene ontologyのIntegral to membraneを調べてReferenceをたどる必要あり)
TODO List Template
進捗 作業内容
AGIとUniprotIDの対応付け
SUBAのデータを持ってくる
酵母のIDとの対応付け
ヒトのUniprotとHPA間の対応付け


  • Uniprotのデータと生物種ごとのDBとの食い違いをどうにかしたい。(というか、Uniprotのデータが不十分なことが多々ある)
  • 配列ベースの膜タンパク質のDB。ReferenceというかEvidenceが充実しているとうれしい。
動機:簡単にデータセットを作りたい (今はUniprotとかでKeywordサーチしないといけない)
  • NOTE
NCBO REST RDF Term Serch問い合わせのサンプル
http://rest.bioontology.org/bioportal/search/?query=$buf&isexactmatch=1&light=1&norelations=1&apikey=APIKEY

番野

やりたいこと

PDBと既存の糖鎖データベースの対応付け

動機: PDBでは糖鎖のような高分子のリガンドはモノマー単位で登録されている。
そのため、そのPDBにどのような糖鎖が登録されているかは、単糖同士の結合を各自で調べていいく必要がある。
PDBIDとデータに含まれる糖鎖構造の対応表を作成し、PDBと既存の糖鎖データベースを対応付けをしていきたい。

  • PDBと糖鎖データベースのデータをどのように対応付けるか
  • 既存の糖鎖データベースにどのようなものがあるかの調査


PDB中のコネクト情報の取得は下記Sparqlで取得可能

PREFIX pdbo: <http://rdf.wwpdb.org/schema/pdbx-v40.owl#>

SELECT DISTINCT * WHERE {

<http://rdf.wwpdb.org/pdb/1ABR> pdbo:has_struct_connCategory ?conncat .
?conncat pdbo:has_struct_conn ?connect.
?connect pdbo:struct_conn.ptnr1_auth_asym_id ?chain1;
    pdbo:struct_conn.ptnr1_auth_comp_id ?res1;

    pdbo:struct_conn.ptnr1_auth_seq_id ?seq1;
    pdbo:struct_conn.ptnr1_label_atom_id ?atom1;
    pdbo:struct_conn.ptnr2_auth_asym_id ?chain2;

    pdbo:struct_conn.ptnr2_auth_comp_id ?res2;
    pdbo:struct_conn.ptnr2_auth_seq_id ?seq2;
    pdbo:struct_conn.ptnr2_label_atom_id ?atom2;
    pdbo:struct_conn.pdbx_dist_value ?dist.

    OPTIONAL {
       ?connect pdbo:struct_conn.pdbx_ptnr1_PDB_ins_code ?ins1;
                pdbo:struct_conn.pdbx_ptnr2_PDB_ins_code ?ins2.
    } .
}

この情報をもとに、単糖ごとの共有結合情報を明かにして PDB中に含まれる糖鎖一個ごとに一つのPDBファイルにまとめた。
openbabel を利用して PDB → inchi,inchikey, smiles などへ変換することができた。
試しに、1ABR に含まれていた糖鎖をJCGGDBと inchikey で対応付けようとしたが、 完全マッチする糖鎖は見つからなかった
(部分マッチは存在した)。
糖鎖同士の類似度の取得法や、既存データベースとどのように対応付ければよいか、 今後調査する予定です。

込山

やりたいこと

  • PLBSP-DBと結び付く可能性がある既存RDFデータ/DBの洗い出し. 無ければRDF化.
  • 糖鎖・膜・化合物DBの統合.
→NBDCのグループが調査している化合物DBのセマンティック・ウェブ化を, PLBSP-DBの拡張に利用できないか彼らと議論したい.
Metalloproteinのグループにも関心があるので可能な限り協力する.
  • Triple Store (Virtuoso)の効率化運用のための技術開発.
  • 実務レベルのWebアプリケーションに必要な技術の吸収.
  • UT Protメンバーを他の関連グループの参加者に紹介.

動機:

タンパク質の機械学習研究におけるデータセット作成の場面では, UniProtやPDB以外の配列, 二次構造, 立体構造の情報で編纂されたデータベースを特徴量としてとらえることがある.

特に利用する頻度が高い二次DBの調査. 利用可能なRDFやオントロジーは存在するかを知りたい

例→LIPID MAPS

メモ:

孫さんが作成中のwild.type.count.data.DB (野生型発現量DB) に対してfederated searchを行うためにユースケースはヒト・脳に向けて考えてみる.


Virtuosoへロード済みのRDF
ファイル名(フォーマット) triple数 解説
PLBSP_MASTER_20121023.nt 1,462,812,014 Protein Ligand Binding Site Pair Database のコアRDF
plbsp2pdb_20121109.nt 53,102,251 PLBSPIDからPDBIDへのリンクRDF
wwPDBrdf_without_comma_20121107.nt 12,522,413 wwPDBが提供するRDFの誤植を除き, Virtuosoへロード可能にしたRDF
wwPDB_error_fix_20121112.nt 371,533 wwPDBのエラーを修正した差分
wwPDB_chem_comp_20121024.nt 28,040,847 wwPDBが提供するPDB LigandのRDF.
/mw/BH12.12/UT_Prot」より作成