BH11.11/オーソログテーブルのRDF化
提供:TogoWiki
千葉、西出、内山(基生研)
目次 |
特定のオーソロググループのRDFの試作
- サンプルRDFの作成(西出)
- RDFフォーマットの擦り合わせ(藤澤さん、片山さん、加藤さん)
- テストURI
http://mbgd.genome.ad.jp:8036/rdf/orthogroup/5820
オーソログテーブルのRDF化
MBGDテキストファイルのRDFへの変換
主要なファイル
- MBGDテキストファイル形式(dclst形式)→ RDF(XML形式 or Turtle形式)
- 変換スクリプトの作成(千葉)
MBGDテキストファイル形式(dclst形式)
//// Cluster 478 #CGene nrtD #CFuncMbgd 7.6 #CFuncCog 1.7 #CFuncKegg 3.1 #CFuncTigr 19 #CDescr ABC transporter ATP-binding protein #CScore 336.214 #CDist 133.476 aba:ACID345_0826 0 1 273 bsu:BSU08830 0 1 255 bsu:BSU30610 0 1 260 dra:DR_2198 0 1 248 dth:DICTH_0605 0 1 432 eco:B0366 0 1 255 eco:B0933 0 1 255 fnu:FN0235 0 1 242 fsu:FISUC_1083 0 1 271 fsu:FISUC_1097 0 1 267 ote:OTER_3561 0 1 258 rba:RB373 0 1 332 rba:RB374 0 1 281 syn:SLL1082 0 1 266 syn:SLL1452 1 1 284 syn:SLL1453 0 1 332 syn:SLR0043 1 1 282 syn:SLR0044 0 1 282 tai:TACI_0399 0 1 249 tma:TM0204 0 1 233 tma:TM0483 0 1 235 ttr:TTER_0230 0 1 275 ttr:TTER_1220 0 1 262 ttr:TTER_2227 0 1 267 tye:THEYE_A0142 0 1 430 //// Cluster 571 #CGene glnQ
RDF/XML - 遺伝子のグルーピングの情報のみ
<rdf:Description rdf:about="http://mbgd.genome.ad.jp/rdf/orthogroup/478"> <rdfs:label>ABC transporter ATP-binding protein</rdfs:label> <rdfs:member rdf:resource="http://mbgd.genome.ad.jp/rdf/gene/aba:ACID345_0826"/> <rdfs:member rdf:resource="http://mbgd.genome.ad.jp/rdf/gene/bsu:BSU08830"/> <rdfs:member rdf:resource="http://mbgd.genome.ad.jp/rdf/gene/bsu:BSU30610"/> <rdfs:member rdf:resource="http://mbgd.genome.ad.jp/rdf/gene/dra:DR_2198"/> <rdfs:member rdf:resource="http://mbgd.genome.ad.jp/rdf/gene/dth:DICTH_0605"/> <rdfs:member rdf:resource="http://mbgd.genome.ad.jp/rdf/gene/eco:B0366"/> <rdfs:member rdf:resource="http://mbgd.genome.ad.jp/rdf/gene/eco:B0933"/> <rdfs:member rdf:resource="http://mbgd.genome.ad.jp/rdf/gene/fnu:FN0235"/> <rdfs:member rdf:resource="http://mbgd.genome.ad.jp/rdf/gene/fsu:FISUC_1083"/> <rdfs:member rdf:resource="http://mbgd.genome.ad.jp/rdf/gene/fsu:FISUC_1097"/> <rdfs:member rdf:resource="http://mbgd.genome.ad.jp/rdf/gene/ote:OTER_3561"/> <rdfs:member rdf:resource="http://mbgd.genome.ad.jp/rdf/gene/rba:RB373"/> <rdfs:member rdf:resource="http://mbgd.genome.ad.jp/rdf/gene/rba:RB374"/> <rdfs:member rdf:resource="http://mbgd.genome.ad.jp/rdf/gene/syn:SLL1082"/> <rdfs:member rdf:resource="http://mbgd.genome.ad.jp/rdf/gene/syn:SLL1452"/> <rdfs:member rdf:resource="http://mbgd.genome.ad.jp/rdf/gene/syn:SLL1453"/> <rdfs:member rdf:resource="http://mbgd.genome.ad.jp/rdf/gene/syn:SLR0043"/> <rdfs:member rdf:resource="http://mbgd.genome.ad.jp/rdf/gene/syn:SLR0044"/> <rdfs:member rdf:resource="http://mbgd.genome.ad.jp/rdf/gene/tai:TACI_0399"/> <rdfs:member rdf:resource="http://mbgd.genome.ad.jp/rdf/gene/tma:TM0204"/> <rdfs:member rdf:resource="http://mbgd.genome.ad.jp/rdf/gene/tma:TM0483"/> <rdfs:member rdf:resource="http://mbgd.genome.ad.jp/rdf/gene/ttr:TTER_0230"/> <rdfs:member rdf:resource="http://mbgd.genome.ad.jp/rdf/gene/ttr:TTER_1220"/> <rdfs:member rdf:resource="http://mbgd.genome.ad.jp/rdf/gene/ttr:TTER_2227"/> <rdfs:member rdf:resource="http://mbgd.genome.ad.jp/rdf/gene/tye:THEYE_A0142"/> </rdf:Description>
RDF(Turtle形式) - 遺伝子のグルーピングの情報のみ
<http://mbgd.genome.ad.jp/rdf/orthogroup/478> rdfs:label "ABC transporter ATP-binding protein" ; rdfs:member <http://mbgd.genome.ad.jp/rdf/gene/ttr:TTER_2227>, <http://mbgd.genome.ad.jp/rdf/gene/ttr:TTER_1220>, <http://mbgd.genome.ad.jp/rdf/gene/syn:SLL1452>, <http://mbgd.genome.ad.jp/rdf/gene/eco:B0366>, <http://mbgd.genome.ad.jp/rdf/gene/tma:TM0483>, <http://mbgd.genome.ad.jp/rdf/gene/tai:TACI_0399>, <http://mbgd.genome.ad.jp/rdf/gene/rba:RB373>, <http://mbgd.genome.ad.jp/rdf/gene/dth:DICTH_0605>, <http://mbgd.genome.ad.jp/rdf/gene/ote:OTER_3561>, <http://mbgd.genome.ad.jp/rdf/gene/aba:ACID345_0826>, <http://mbgd.genome.ad.jp/rdf/gene/tma:TM0204>, <http://mbgd.genome.ad.jp/rdf/gene/tye:THEYE_A0142>, <http://mbgd.genome.ad.jp/rdf/gene/bsu:BSU08830>, <http://mbgd.genome.ad.jp/rdf/gene/ttr:TTER_0230>, <http://mbgd.genome.ad.jp/rdf/gene/bsu:BSU30610>, <http://mbgd.genome.ad.jp/rdf/gene/syn:SLR0043>, <http://mbgd.genome.ad.jp/rdf/gene/eco:B0933>, <http://mbgd.genome.ad.jp/rdf/gene/fsu:FISUC_1083>, <http://mbgd.genome.ad.jp/rdf/gene/dra:DR_2198>, <http://mbgd.genome.ad.jp/rdf/gene/syn:SLL1082>, <http://mbgd.genome.ad.jp/rdf/gene/fnu:FN0235>, <http://mbgd.genome.ad.jp/rdf/gene/fsu:FISUC_1097>, <http://mbgd.genome.ad.jp/rdf/gene/syn:SLR0044>, <http://mbgd.genome.ad.jp/rdf/gene/rba:RB374>, <http://mbgd.genome.ad.jp/rdf/gene/syn:SLL1453> .
RDF(Turtle形式) - 詳細版:元のdclst形式のテキストファイルに含まれている様々な情報を含む
<http://mbgd.genome.ad.jp/rdf/orthogroup/478> mbgd:homCluster <http://mbgd.genome.ad.jp/rdf/homcluster/1> ; mbgd:gene "nrtD" ; mbgd:funcMbgd 7.6 ; mbgd:funcCog 1.7 ; mbgd:funcKegg 3.1 ; mbgd:funcTigr 19 ; mbgd:descr "ABC transporter ATP-binding protein" ; mbgd:score 336.214 ; mbgd:dist 133.476 ; mbgd:member <http://mbgd.genome.ad.jp/rdf/gene/aba:ACID345_0826/0>, <http://mbgd.genome.ad.jp/rdf/gene/bsu:BSU08830/0>, <http://mbgd.genome.ad.jp/rdf/gene/bsu:BSU30610/0>, <http://mbgd.genome.ad.jp/rdf/gene/dra:DR_2198/0>, <http://mbgd.genome.ad.jp/rdf/gene/dth:DICTH_0605/0>, <http://mbgd.genome.ad.jp/rdf/gene/eco:B0366/0>, <http://mbgd.genome.ad.jp/rdf/gene/eco:B0933/0>, <http://mbgd.genome.ad.jp/rdf/gene/fnu:FN0235/0>, <http://mbgd.genome.ad.jp/rdf/gene/fsu:FISUC_1083/0>, <http://mbgd.genome.ad.jp/rdf/gene/fsu:FISUC_1097/0>, <http://mbgd.genome.ad.jp/rdf/gene/ote:OTER_3561/0>, <http://mbgd.genome.ad.jp/rdf/gene/rba:RB373/0>, <http://mbgd.genome.ad.jp/rdf/gene/rba:RB374/0>, <http://mbgd.genome.ad.jp/rdf/gene/syn:SLL1082/0>, <http://mbgd.genome.ad.jp/rdf/gene/syn:SLL1452/1>, <http://mbgd.genome.ad.jp/rdf/gene/syn:SLL1453/0>, <http://mbgd.genome.ad.jp/rdf/gene/syn:SLR0043/1>, <http://mbgd.genome.ad.jp/rdf/gene/syn:SLR0044/0>, <http://mbgd.genome.ad.jp/rdf/gene/tai:TACI_0399/0>, <http://mbgd.genome.ad.jp/rdf/gene/tma:TM0204/0>, <http://mbgd.genome.ad.jp/rdf/gene/tma:TM0483/0>, <http://mbgd.genome.ad.jp/rdf/gene/ttr:TTER_0230/0>, <http://mbgd.genome.ad.jp/rdf/gene/ttr:TTER_1220/0>, <http://mbgd.genome.ad.jp/rdf/gene/ttr:TTER_2227/0>, <http://mbgd.genome.ad.jp/rdf/gene/tye:THEYE_A0142/0> . <http://mbgd.genome.ad.jp/rdf/gene/aba:ACID345_0826/0> mbgd:domainOf <http://mbgd.genome.ad.jp/rdf/gene/aba:ACID345_0826> ; mbgd:domainNumber 0 ; mbgd:domainStart 1 ; mbgd:domainEnd 273 . ...
その他必要なRDFファイルの作成
- MBGD遺伝子IDとRefSeq遺伝子IDの対応表(生物種synのみに限定したサンプル) → 千葉から藤澤さんに → DBCLSでの統合
- Cianobacteria Synechocystis sp. PCC6803 に絞って、オーソログテーブルのRDFを作成した → 藤澤さんへ
- MBGDの遺伝子IDと、GTPSの遺伝子IDを関連付けるRDFを作成した → 下記のテストに利用
SesameによるRDF連結テスト
概要
- 利用するRDF
- オーソログテーブルのRDF (XML形式)
- MBGDとGTPSの遺伝子IDを関連付けるRDF (Turtle形式)
- Sesame serverへRDFをロード
Sesameのチュートリアル:緑本 8章
http://www.amazon.co.jp/セマンティックWeb-プログラミング-Toby-Segaran/dp/4873114527/ref=sr_1_1?ie=UTF8&qid=1322199791&sr=8-1
OWLIM-Lite
http://owlim.ontotext.com/display/OWLIMv42/OWLIM-Lite+Installation
- SPARQLによる検索
- Sesame severのREST APIへのアクセス
- コマンドラインからアクセスするためのスクリプトを作成 (access_sesame)
- JSON形式が返ってくる→JSON形式を、タブ区切りテキスト形式に変換するスクリプトを作成 (json2tsv)
- Sesame severのREST APIへのアクセス
GTPSの遺伝子IDをクエリーとして、MBGDのオーソログ情報を取得する例
> access_sesame localhost:8080 mbgd11 json get_ortholog_of_gtps.sparql '"ST991"' | json2tsv "ST991" "ST1204" "ST1716" "ST2456" "GIB1819" "ST399" "ST688" "ST2341" "ST2002" "ST2143" "ST1548" "PSYSGST18"
> cat get_ortholog_of_gtps.sparql PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#> PREFIX mbgd:<http://mbgd.genome.ad.jp/rdf/schema#> select $gtps_name where { $refseq_gene_uri mbgd:hasGtpsId $ARG0. $mbgd_gene_uri mbgd:hasRefseqIdUri $refseq_gene_uri. $c rdfs:member $mbgd_gene_uri. $c rdfs:member $mbgd_gene_uri2. $mbgd_gene_uri2 mbgd:hasRefseqIdUri $refseq_gene_uri2. $refseq_gene_uri2 mbgd:hasGtpsId $gtps_name. }
SPARQLファイルの先頭に access_sesameの shebangラインを付けると、実行可能ファイルのようにも使える
> head -1 get_ortholog_of_gtps.sparql #!/usr/bin/env access_sesame localhost:8080 mbgd11 json
> ./get_ortholog_of_gtps.sparql '"ST991"'
access_sesameのソースコード
#!/usr/bin/perl -w # 2011/11/24 Hirokazu Chiba use strict; use File::Basename; use URI::Escape; my $program = basename $0; my $usage= "Usage: $program SESAME_SERVER FORMAT REPOSITORY SPARQL [OPTION ...] "; @ARGV < 4 and die $usage; my $sesame_server = shift @ARGV; my $repository = shift @ARGV; my $format = shift @ARGV; my $file = shift @ARGV; my $query = `cat $file`; $query =~ s/\$ARG(\d+)/$ARGV[$1]/g; my $query_escaped = uri_escape($query); $query_escaped =~ s/%20/+/g; my $header = "accept:application/sparql-results+$format"; my $url = "http://$sesame_server/openrdf-sesame/repositories/$repository"; system "curl -H '$header' '$url?query=$query_escaped'";
オーソログテーブルのXML化 (OrthoXML)
- XMLファイル、スタイルシートを作成
- OrthoXML
http://orthoxml.org/0.3/orthoxml_doc_v0.3.html
- スタイルシートを利用したオーソログテーブルのRDF化(金城さん)
Reference
- OWLIM
- Sesame