ウェブサービスによる 国内外データベースの統合的な利用 - DDBJ

DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
ウェブサービスによる
国内外データベースの統合的な利用
片山 俊明
東京大学医科学研究所ヒトゲノム解析センター
ゲノムデータベース分野 助教(金久研究室)
[email protected]
2008/11/28 DDBJing & KEGGing & PDBjing @ 京都大学バイオインフォマティクスセンター
自己紹介
片山俊明 <[email protected]>
• KEGG
• ウェブサービス KEGG API (SOAP/WSDL)
• 分散ゲノムアノテーション KEGG DAS
• オーソログクラスタ
• BioRuby
• オープンバイオ研究会
• IPA未踏ソフトウェア創造事業採択
• ライフサイエンス統合データベースプロジェクト
• TogoDB, TogoWS, BioHackathon
http://www.genome.jp/kegg/
http://das.hgc.jp/
http://oc.hgc.jp/
http://bioruby.org/
http://open-bio.jp/
http://togodb.dbcls.jp/
http://togows.dbcls.jp/
http://hackathon.dbcls.jp/
http://kumamushi.org/
http://kumamushi.net/
• クマムシゲノムプロジェクト
• ゲノム特定「比較ゲノム」
4-2-1
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
トピックス
• ライフサイエンス統合データベースプロジェクト - DBCLS
• 統合のための方法
• 埋もれているデータベースの受け入れと横断検索 - TogoDB
• 大規模データベース (DDBJ, KEGG, PDBj など) の連携 - TogoWS
• ウェブサービスによる統合
• BioHackathon
• SOAP と REST
• マニフェスト
• ユースケース、今後の方針
とは?
• 文部科学省委託研究開発事業
• ライフサイエンス分野におけるデータベース統合化の拠点形成を目指す
• 中核機関
• ライフサイエンス統合データベースセンター
• 2007/4/1 情報・システム研究機構内に設立
• 研究参画機関
• JST, CBRC, かずさDNA研, 九大, 奈良先端, 長浜バイオ, 東大, お茶女
• 研究分担機関
• 京大, 東京医科歯科大, 阪大, 東大, 東海大, 日立
4-2-2
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
情報・システム研究機構 (ROIS)
MEXT
http://www.mext.go.jp/
ROIS
http://www.rois.ac.jp/
http://www.dbcls.jp/
DBCLS
http://www.nig.ac.jp/
NIG
GenBank
DDBJ
NIPR
EMBL
NII
http://www.nipr.ac.jp/
http://www.nii.ac.jp/
ISM
http://www.ism.ac.jp/
ライフサイエンス統合DBセンター (DBCLS)
• 中核機関
• センター長 高木利久 教授
• 実は東大内に存在
• この春、本郷→浅野に移転した
4-2-3
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
ライフサイエンス統合データベースセンター
共通基盤技術開発チーム
2007年度活動計画
より抜粋 + 更新
DBCLS: 高木, 山口, 山本
かずさ: 中尾
HGC: 川島, 片山
+ 辻井研, 松本研, CBRC
2007/9/12@DBCLS
CBRC
共通基盤技術開発チーム計画概要
2007年度∼
2008年度∼
マッシュアップ
ユーザー
グリッド
ウィジェット
ワークフロー
認証
Kazusa
DBCLS
外部サービス
ポータル
ウェブサービス
SOAP/WSDL
REST
受け入れDB用テンプレート
なんでもGFF
整理棚検索
文献検索
OReFiL
統合DB検索
スキーマ設計
ユーザープロファイル
検索API
コトノハDB
文献
WebリソースDB
4-2-4
独自DB
受け入れDB
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
基盤整備の4本柱
● 次世代検索技術開発
1. 文献検索
● 受け入れDB支援
TogoDB
2. DB構築テンプレート
● サービス統合支援
TogoWS
3. 統合ウェブサービス
● ポータル連携支援
4. OpenID ユーザ認証
● 1. 文献検索
• フルペーパー取得システム開発
• 生物学ターム検出システム開発
• 既存システムのAPI標準化(ウェブサービス)-- BOB, BioTermnet, GENA
• オンライン資源検索サービス -- OReFiL
• 文献中の図表を検索するシステム開発
• 生物学者が満足できるレベルの文献検索技術の実現を目指す
• 特定テーマのDBを構築するために必要なデータを論文から自動抽出
• マニュアルキュレーションによるフィードバック、ノウハウの蓄積
4-2-5
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
● 2. DB構築テンプレート - TogoDB
• DBの受け入れ作業には定型化できることが多いはず
• 典型的なデータ型と、対応するスキーマの設計
• 統一感のある見た目と使いやすさを併せ持つウェブアプリ化
• 統合DBの横断検索用エンジンへの対応
• ウェブサービスによるAPI提供
• 多様な受け入れDBの和集合から必要な機能を抽象化し受け入れ業務を省力化
• まずは統合DB内で独自に新規作成するDBで利用可能に
• 将来的には研究者がDBを構築したい場合に最初から受け入れる仕組みに
• 現在は研究者が各自で科研費などを使ってどれも同じようなものを外注している
• 使いやすいものが出来ているかどうかは発注者・受注者のセンスに依存して多様
• 研究者単位では永続的なデータベース提供は困難
● 3. 統合ウェブサービス - TogoWS
• DDBJ, PDBj, KEGG, CBRC, Riken など + EBI, NCBI etc.
• 統合DBに移設して統合することは事実上無理
• ウェブサービスにより統合し、共通の SOAP/WSDL + REST API を提供
• 受け入れDBのウェブサービス対応による利用率向上を図る
• TogoDB 内のデータをユーザのワークフローに組み込み可能
• 文献検索など、統合DB独自開発ツールのウェブサービス化
• マッシュアップ (Galaxy), ウィジェットの開発
4-2-6
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
● 4. OpenID ユーザ認証
• 統合DBのサービスには、なんらかのユーザ認証システムが必要
• パーソナライズド・ポータル
• ユーザの行動や好みをインターフェイスや検索結果の向上に反映
• アノテーション
• 誰が何をやったかの記録が必要なサービス
• OpenID:サイト間、サブドメイン間で共通に認証できる技術
• サービスが増えてもユーザは1つのパスワードだけ覚えておけば良い
• http://***.dbcls.jp/ で共通なログインシステム
• かずさや CBRC でも統合DBの OpenID 認証を信頼し利用
TogoDB + TogoWS => ?
● TogoDB
DBの受け入れから統合的な検索サービス公開までの技術的な支援
● TogoWS
必要なツールやワークフローのウェブサービスによる提供
ウェブサービスの相互提供によるワークフロー構築支援
● OpenID ユーザ認証
DBCLS の OpenID アカウントを1つ取得すれば TogoDB も利用可能
● + ● => MVC (Model, View, Controller) における M, C を提供
ユーザが View で活用 (ゲノムブラウザ, Wiki, ウィジェット, ワークフロー)
4-2-7
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
TogoDB
- 誰でもデータベースを作製・公開できるサイトとツール
• 表形式のデータを登録
• 1分で公開完了
• 並べ替え
• 絞り込み検索
• ウェブ上で編集
• ダウンロード可能
• QuickLook 機能搭載
• OpenID 対応
• ウェブサービス対応
• 受け入れDBを運用
• オープンソースで公開
http://togodb.dbcls.jp/
TogoDB の使い方
• CSV 形式のデータをアップロードするだけ
• カスタマイズ
• カラムごとに検索対象にするかどうかなどを設定
• テーブルの JOIN
• 公開範囲の設定
• ヘッダなどの加工
• 機能
• 並べ替え
• 絞り込みフィールド検索
• クイックルック
• ダウンロード
4-2-8
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
TogoWS
- 国内外のウェブサービスを統合し透過的に利用
• SOAP/WSDL 統合
• DDBJ
• KEGG
• PDBj
• CBRC
• BioMOBY
• REST 統合
• NCBI
試してみよう:
RESTパーザ
• EBI
• TogoDB
• BioRuby内蔵
• ワークフロー化
http://togows.dbcls.jp/
データベースアクセスを TogoWS で共通化
• 各サービスの使い勝手を統一(言語非依存)
• ドキュメントを充実(サンプルコードなど)
• 稼働状況の確認
DDBJ
KEGG
NCBI
PDBj
Internet
TogoWS
4-2-9
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
ウェブサービス
• プログラムからサーバの機能を呼び出して機械的に利用
IE
FireFox
Safari
ブラウザからの利用
• 従来のウェブブラウザでの操作
• ゲノム規模での解析など大量処理が困難
プログラムからの利用
KEGG API
• 代わりにプログラムで実行
SOAP/WSDL
• 全遺伝子について繰り返し処理を行うなど
• 解析ステップを連結してワークフローを構築
Ruby
Perl
Java
• プログラミング言語には非依存
• Java, Perl, Ruby, Python etc.
#!/usr/bin/env ruby
require 'bio'
serv = Bio::KEGG::API.new
genes = serv.get_genes_by_pathway("pa
genes.each do |gene|
:
SOAP/WSDL
• HTTPを流用しプログラム等からサーバの機能を利用
• プログラムがSOAP規格のXMLをやり取りする
• Service Oriented Architecture Protocol
(Simple Object Access Protocol)
• Web Service Description Language
Server
Server
XML (SOAP message) over HTTP
Client
Client
Client
4-2-10
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
SOAP メッセージを盗聴してみよう(問い合せ)
bioruby> keggapi.log = STDERR
==> #<IO:0x1f07c0>
bioruby> keggapi.binfo("genbank")
Wire dump:
= Request
! CONNECT TO soap.genome.jp:80
! CONNECTION ESTABLISHED
POST /keggapi/request_v6.2.cgi HTTP/1.1
SOAPAction: "SOAP/KEGG#binfo"
Content-Type: text/xml; charset=utf-8
User-Agent: SOAP4R/1.5.5 (http-access2.rb/1.1.1.1, ruby 1.8.6 (2007-03-13) [i686-darwin8.8.5])
Date: Fri Aug 31 14:16:22 +0900 2007
Content-Length: 425
Host: soap.genome.jp
<?xml version="1.0" encoding="utf-8" ?>
<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<n1:binfo xmlns:n1="SOAP/KEGG"
env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<db xsi:type="xsd:string">genbank</db>
</n1:binfo>
</env:Body>
</env:Envelope>
SOAP メッセージを盗聴してみよう(お返事)
= Response
HTTP/1.1 200 OK
Date: Fri, 31 Aug 2007 05:16:23 GMT
Server: Apache/1.3.37 (Unix) mod_fastcgi/2.4.2
SOAPServer: SOAP::Lite/Perl/0.60
Content-Length: 809
Content-Type: text/xml; charset=utf-8
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<namesp1:binfoResponse xmlns:namesp1="SOAP/KEGG">
<return xsi:type="xsd:string">
genbank
GenBank nucleic acid sequence database
gb
Release 160.0, Jun 07
National Center for Biotechnology Information
73,078,143 entries, 77,248,690,945 bases
Last update: 07/08/31
&lt;dbget> &lt;fasta> &lt;blast>
</return>
</namesp1:binfoResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
4-2-11
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
試してみよう
KEGG API の場合
bioruby> kegg = Bio::KEGG::API.new
==> #<Bio::KEGG::API:0x3b90f34
@wsdl="http://soap.genome.jp/KEGG.wsdl",
@driver=#<SOAP::RPC::Driver:
#<SOAP::RPC::Proxy:http://soap.genome.jp/keggapi/request_v6.1.cgi>>>
bioruby> kegg.list_methods
==> ["get_glycans_by_pathway", "get_motifs_by_gene", "get_reactions_by_enzyme", "list_organisms", "get_best_best_neighbors_by_gene", "color_pathway_by_elements",
"search_compounds_by_subcomp", "get_pathways_by_kos", "get_linked_pathways", "binfo", "get_enzymes_by_glycan", "search_drugs_by_mass", "list_databases",
"get_elements_by_pathway", "get_linkdb_by_entry", "search_glycans_by_mass", "mark_pathway_by_objects", "get_compounds_by_enzyme", "convert_mol_to_kcf",
"get_pathways_by_compounds", "get_enzymes_by_pathway", "get_html_of_colored_pathway_by_objects", "search_drugs_by_name", "get_enzymes_by_compound", "bconv",
"get_genes_by_ko", "get_genes_by_organism", "search_compounds_by_composition", "get_pathways_by_genes", "get_glycans_by_reaction",
"get_html_of_colored_pathway_by_elements", "search_glycans_by_kcam", "color_pathway_by_objects", "get_reactions_by_compound", "bfind", "list_ko_classes",
"search_compounds_by_name", "get_ko_by_gene", "get_genes_by_enzyme", "get_paralogs_by_gene", "get_pathways_by_glycans", "search_drugs_by_subcomp",
"get_reactions_by_pathway", "get_compounds_by_reaction", "bget", "get_element_relations_by_pathway", "search_glycans_by_composition", "get_pathways_by_reactions",
"get_kos_by_pathway", "search_drugs_by_composition", "get_compounds_by_pathway", "get_reverse_best_neighbors_by_gene", "get_reactions_by_glycan",
"search_compounds_by_mass", "get_enzymes_by_reaction", "get_genes_by_ko_class", "get_genes_by_motifs", "get_glycans_by_enzyme", "get_pathways_by_enzymes", "list_pathways",
"get_best_neighbors_by_gene", "get_html_of_marked_pathway_by_objects", "get_linkdb_between_databases", "get_genes_by_pathway", "get_number_of_genes_by_organism",
"search_glycans_by_name", "get_ko_by_ko_class", "btit", "get_enzymes_by_gene"]
bioruby> kegg.get_genes_by_pathway("path:hsa00010")
==> ["hsa:10327", "hsa:124", "hsa:125", "hsa:126", "hsa:127", "hsa:128", "hsa:130", "hsa:130589", "hsa:131", "hsa:137872", "hsa:160287", "hsa:1737", "hsa:1738", "hsa:
2023", "hsa:2026", "hsa:2027", "hsa:217", "hsa:218", "hsa:219", "hsa:220", "hsa:2203", "hsa:221", "hsa:222", "hsa:223", "hsa:224", "hsa:226", "hsa:229", "hsa:230", "hsa:
2538", "hsa:2597", "hsa:2645", "hsa:2821", "hsa:3098", "hsa:3099", "hsa:3101", "hsa:3939", "hsa:3945", "hsa:3948", "hsa:441531", "hsa:501", "hsa:5160", "hsa:5161", "hsa:
5162", "hsa:5211", "hsa:5213", "hsa:5214", "hsa:5223", "hsa:5224", "hsa:5230", "hsa:5232", "hsa:5236", "hsa:5238", "hsa:5313", "hsa:5315", "hsa:55902", "hsa:669", "hsa:
7167", "hsa:84532", "hsa:8789", "hsa:92483", "hsa:97", "hsa:98"]
bioruby> puts kegg.bget("hsa:10327")
ENTRY
NAME
DEFINITION
ORTHOLOGY
PATHWAY
POSITION
10327
CDS
H.sapiens
AKR1A1
aldo-keto reductase family 1, member A1 (aldehyde reductase)
[EC:1.1.1.2]
KO: K00002 alcohol dehydrogenase (NADP+)
PATH: hsa00010 Glycolysis / Gluconeogenesis
PATH: hsa00561 Glycerolipid metabolism
PATH: hsa00930 Caprolactam degradation
1p33-p32
4-2-12
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
KEGG API の場合 - BioRuby との連携
bioruby> entry = kegg.bget("hsa:10327")
ENTRY
NAME
DEFINITION
:
AASEQ
NTSEQ
10327
CDS
H.sapiens
AKR1A1
aldo-keto reductase family 1, member A1 (aldehyde reductase)
[EC:1.1.1.2]
325
MAASCVLLHTGQKMPLIGLGTWKSEPGQVKAAVKYALSVGYRHIDCAAIYGNEPEIGEAL
KEDVGPGKAVPREELFVTSKLWNTKHHPEDVEPALRKTLADLQLEYLDLYLMHWPYAFER
GDNPFPKNADGTICYDSTHYKETWKALEALVAKGLVQALGLSNFNSRQIDDILSVASVRP
AVLQVECHPYLAQNELIAHCQARGLEVTAYSPLGSSDRAWRDPDEPVLLEEPVVLALAEK
YGRSPAQILLRWQVQRKVICIPKSITPSRILQNIKVFDFTFSPEEMKQLNALNKNWRYIV
PMLTVDGKRVPRDAGHPLYPFNDPY
978
atggcggcttcctgtgttctactgcacactgggcagaagatgcctctgattggtctgggt
:
bioruby> gene = Bio::KEGG::GENES.new(entry)
bioruby> gene.name
==> "AKR1A1"
bioruby> gene.definition
==> "aldo-keto reductase family 1, member A1 (aldehyde reductase) [EC:1.1.1.2]"
bioruby> gene.eclinks
==> ["1.1.1.2"]
bioruby> gene.aaseq
==>
"MAASCVLLHTGQKMPLIGLGTWKSEPGQVKAAVKYALSVGYRHIDCAAIYGNEPEIGEALKEDVGPGKAVPREELFVTSKLWNTKHHPEDVEPALRKTLADLQLEYLDL
DDBJ XML の場合 - BLAST の場合
bioruby> ddbj = Bio::DDBJ::XML::Blast.new
==> #<Bio::DDBJ::XML::Blast:0x3dc5bb0
@wsdl="http://xml.nig.ac.jp/wsdl/Blast.wsdl",
@driver=#<SOAP::RPC::Driver:
#<SOAP::RPC::Proxy:http://xml.nig.ac.jp/xddbj/Blast>>>
bioruby> result = ddbj.searchSimple("tblastn", "DDBJ", gene.aaseq)
==> "The search and analysis service is very busy now. Please try it again.\n"
... そんな日もあるさ ...(サーバが混んでいる時はこのメッセージが出るそうです)
bioruby> result= ddbj.searchSimple("blastp", "SWISS", gene.aaseq)
/usr/local/lib/ruby/1.8/timeout.rb:54:in `rbuf_fill': execution expired (Timeout::Error)
from /usr/local/lib/ruby/1.8/timeout.rb:56:in `timeout'
:
... そんなこともあるさ ...(今日は大丈夫でした∼ )
sp|P51635|AK1A1_RAT Alcohol dehydrogenase [NADP+] (EC 1.1.1.2) (...
sp|P50578|AK1A1_PIG Alcohol dehydrogenase [NADP+] (EC 1.1.1.2) (...
sp|Q3ZCJ2|AK1A1_BOVIN Alcohol dehydrogenase [NADP+] (EC 1.1.1.2)...
sp|Q9JII6|AK1A1_MOUSE Alcohol dehydrogenase [NADP+] (EC 1.1.1.2)...
sp|O70473|AK1A1_CRIGR Alcohol dehydrogenase [NADP+] (EC 1.1.1.2)...
:
BLASTP 2.2.15 [Oct-15-2006]
Reference: Altschul, Stephen F., Thomas L. Madden, Alejandro A. Schaffer,
Jinghui Zhang, Zheng Zhang, Webb Miller, and David J. Lipman (1997),
"Gapped BLAST and PSI-BLAST: a new generation of protein database search
programs", Nucleic Acids Res. 25:3389-3402.
Query= query
(325 letters)
>sp|P14550|AK1A1_HUMAN Alcohol dehydrogenase [NADP+] (EC 1.1.1.2)
(Aldehyde reductase) (Aldo- keto reductase family 1
member A1).
Length = 325
Database: SWISS: SWISS sequence taken from the header [Last update
Aug/16/2007]
276,256 sequences; 101,466,996 total letters
Score = 629 bits (1623), Expect = e-180
Identities = 307/325 (94%), Positives = 307/325 (94%)
Searching..................................................done
Sequences producing significant alignments:
597
593
593
592
407
Score
E
(bits) Value
Query: 1
Sbjct: 1
sp|P14550|AK1A1_HUMAN Alcohol dehydrogenase [NADP+] (EC 1.1.1.2)...
629
e-180
4-2-13
MAASCVLLHTGQKMPLIGLGTWKSEPGQVKAAVKYALSVGYRHIDCAAIYGNEPEIGEAL 60
MAASCVLLHTGQKMPLIGLGTWKSEPGQVKAAVKYALSVGYRHIDCAAIYGNEPEIGEAL
MAASCVLLHTGQKMPLIGLGTWKSEPGQVKAAVKYALSVGYRHIDCAAIYGNEPEIGEAL 60
e-170
e-169
e-169
e-169
e-113
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
EBI の場合 - Dbfetch の例
bioruby> ebi = Bio::EBI::SOAP.new
==> #<Bio::EBI::SOAP:0x26ba678
@wsdl="http://www.ebi.ac.uk/Tools/webservices/wsdl/WSDbfetch.wsdl",
@driver=#<SOAP::RPC::Driver:
#<SOAP::RPC::Proxy:http://www.ebi.ac.uk/ws/services/WSDbfetch>>>
bioruby> ebi.list_methods
==> ["getFormatStyles", "fetchData", "getSupportedDBs", "getDbFormats", "getSupportedFormats",
"getSupportedStyles", "fetchBatch"]
bioruby> ebi.getSupportedDBs
==> ["embl", "emblann", "emblcds", "emblcon", "emblsva", "epo_prt", "genomereviews", "hgvbase",
"interpro", "ipi", "jpo_prt", "medline", "pdb", "refseq", "refseqp", "uniparc", "uniprotkb",
"uniref100", "uniref50", "uniref90", "unisave", "uspto_prt"]
bioruby> puts ebi.fetchData("embl:BUM", "embl", "raw")
ID
XX
AC
XX
DT
DT
XX
DE
XX
KW
XX
OS
OC
XX
RN
J02231; SV 1; linear; genomic RNA; STD; VRL; 200 BP.
J02231;
29-AUG-2003 (Rel. 77, Created)
29-AUG-2003 (Rel. 77, Last updated, Version 1)
La Crosse virus isolate l74 m-rna 3' sequence.
.
La Crosse virus
Viruses; ssRNA negative-strand viruses; Bunyaviridae; Orthobunyavirus.
[1]
EBI の場合 - EMBOSS の例
bioruby> emboss = Bio::EBI::SOAP::Emboss.new
==> #<Bio::EBI::SOAP::Emboss:0x3ca7198
@wsdl="http://www.ebi.ac.uk/Tools/webservices/wsdl/WSEmboss.wsdl",
@driver=#<SOAP::RPC::Driver:
#<SOAP::RPC::Proxy:http://www.ebi.ac.uk/cgi-bin/webservices/WSEmboss>>>
bioruby> emboss.list_methods
==> ["poll", "run", "checkStatus", "getResults", "getTools", "getInfo"]
bioruby> hash = {
"tool"
"asequence"
"bsequence"
"email"
}
=>
=>
=>
=>
"water",
"uniprot:alk1_human",
"uniprot:alk1_mouse",
"[email protected]"
bioruby> poll = emboss.run(hash, [])
==> "emboss-20070322-17172499"
bioruby> emboss.checkStatus(poll)
==> "RUNNING"
... 待てど暮らせど終わらなかったり ...
bioruby> base = emboss.poll(poll, "tooloutput")
bioruby> puts Base64.decode64(base)
4-2-14
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
NCBI の場合 - EUtils の例
bioruby> ncbi = Bio::NCBI::SOAP.new
ignored element: {http://www.w3.org/2001/XMLSchema}sequence of WSDL::XMLSchema::Sequence
ignored element: {http://www.w3.org/2001/XMLSchema}choice of WSDL::XMLSchema::Sequence
:
==> #<Bio::NCBI::SOAP:0x2458100
@wsdl="http://www.ncbi.nlm.nih.gov/entrez/eutils/soap/eutils.wsdl",
@driver=#<SOAP::RPC::Driver:
#<SOAP::RPC::Proxy:http://www.ncbi.nlm.nih.gov/entrez/eutils/soap/soap_adapter_1_5.cgi>>>
bioruby> ncbi.list_methods
==> ["run_eSpell", "run_eFetch", "run_eSummary", "run_eInfo", "run_eSearch", "run_eGquery", "run_eLink"]
bioruby> result = ncbi.run_eSearch(“db” => “protein”, “term” => “pparg human”)
==> #<SOAP::Mapping::Object:0x1220fdc {http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}Count="94" {http://www.ncbi.nlm.nih.gov/soap/eutils/
esearch}RetMax="20" {http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}RetStart="0" {http://www.ncbi.nlm.nih.gov/soap/eutils/
esearch}IdList=#<SOAP::Mapping::Object:0x121fc72 {http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}Id=["13432234", "116284373", "116284370", "116284368",
"20336229", "13905056", "50871915", "47678891", "119584529", "119584528", "119584527", "86451955", "66471678", "17978516", "66471844", "66471842",
"48762805", "109157724", "109157723", "99031685"]> {http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}TranslationSet=#<SOAP::Mapping::Object:0x121c158
{http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}Translation=#<SOAP::Mapping::Object:0x121bf78 {http://www.ncbi.nlm.nih.gov/soap/eutils/
esearch}From="human" {http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}To="(\"Homo sapiens\"[Organism:__txid9606] OR human)">> {http://
www.ncbi.nlm.nih.gov/soap/eutils/esearch}TranslationStack=#<SOAP::Mapping::Object:0x121aa7e {http://www.ncbi.nlm.nih.gov/soap/eutils/
esearch}TermSet=[#<SOAP::Mapping::Object:0x121a808 {http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}Term="pparg[All Fields]" {http://www.ncbi.nlm.nih.gov/
soap/eutils/esearch}Field="All Fields" {http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}Count="165" {http://www.ncbi.nlm.nih.gov/soap/eutils/
esearch}Explode="Y">, #<SOAP::Mapping::Object:0x1218634 {http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}Term="\"Homo sapiens\"[Organism]" {http://
www.ncbi.nlm.nih.gov/soap/eutils/esearch}Field="Organism" {http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}Count="393224" {http://www.ncbi.nlm.nih.gov/
soap/eutils/esearch}Explode="Y">, #<SOAP::Mapping::Object:0x1216ad2 {http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}Term="human[All Fields]" {http://
www.ncbi.nlm.nih.gov/soap/eutils/esearch}Field="All Fields" {http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}Count="1190298" {http://www.ncbi.nlm.nih.gov/
soap/eutils/esearch}Explode="Y">] {http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}OP=["OR", "GROUP", "AND", "GROUP"]> {http://www.ncbi.nlm.nih.gov/soap/
eutils/esearch}QueryTranslation="pparg[All Fields] AND (\"Homo sapiens\"[Organism] OR human[All Fields])">
... なんじゃこりゃ ...
bioruby> result.__xmlele[3][1].__xmlele[0][1].first
==> "13432234"
caCORE の場合
bioruby> wsdl = "http://cabio.nci.nih.gov/cacore32/ws/caCOREService?wsdl"
==> "http://cabio.nci.nih.gov/cacore32/ws/caCOREService?wsdl"
bioruby> cabio = Bio::SOAPWSDL.new(wsdl)
==> #<Bio::SOAPWSDL:0x2407fd4
@wsdl="http://cabio.nci.nih.gov/cacore32/ws/caCOREService?wsdl",
@driver=#<SOAP::RPC::Driver:
#<SOAP::RPC::Proxy:http://cabio.nci.nih.gov/cacore32/ws/caCOREService>>>
bioruby> cabio.list_methods
==> ["query", "getProcessOntology", "getDataObject", "getMaximumRecordsPerQuery", "exist",
"getRecordsPerQuery", "getVersion", "getTotalNumberOfRecords", "queryObject"]
... ここでマニュアルを読む ...
bioruby> cabio.queryObject("IL*")
SOAP::Mapping::MappingError: nil not allowed: targetClassName
from /usr/local/lib/ruby/1.8/soap/mapping/wsdlliteralregistry.rb:133:in `complexobj2soap'
from /usr/local/lib/ruby/1.8/wsdl/xmlSchema/complexType.rb:56:in `each_element'
:
挫折
4-2-15
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
BRENDA の場合
bioruby> wsdl = "http://www.brenda.uni-koeln.de/soap/brenda.wsdl"
==> "http://www.brenda.uni-koeln.de/soap/brenda.wsdl"
bioruby> brenda = Bio::SOAPWSDL.new(wsdl)
ignored element: {http://www.w3.org/2001/XMLSchema}complexType
RuntimeError: part: id cannot be resolved
from /usr/local/lib/ruby/1.8/wsdl/soap/methodDefCreator.rb:144:in `rpcdefinedtype'
from /usr/local/lib/ruby/1.8/wsdl/soap/methodDefCreator.rb:49:in `collect_rpcparameter'
from /usr/local/lib/ruby/1.8/wsdl/soap/methodDefCreator.rb:47:in `collect'
from /usr/local/lib/ruby/1.8/wsdl/soap/methodDefCreator.rb:47:in `collect_rpcparameter'
from /usr/local/lib/ruby/1.8/soap/wsdlDriver.rb:130:in `create_param_def'
from /usr/local/lib/ruby/1.8/soap/wsdlDriver.rb:101:in `add_operation'
from /usr/local/lib/ruby/1.8/xsd/namedelements.rb:58:in `each'
from /usr/local/lib/ruby/1.8/xsd/namedelements.rb:57:in `each'
from /usr/local/lib/ruby/1.8/soap/wsdlDriver.rb:96:in `add_operation'
from /usr/local/lib/ruby/1.8/soap/wsdlDriver.rb:40:in `create_rpc_driver'
from /Users/k/lib/ruby/bio/io/soapwsdl.rb:63:in `create_driver'
from /Users/k/lib/ruby/bio/io/soapwsdl.rb:57:in `initialize'
from (irb):22:in `new'
from (irb):22
:
... WSDL が読み込めない ...
流しましょう
まぁ、Ruby だけの問題かもしれないし
4-2-16
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
SOAP の統合
• 課題:サーバ毎に使い方や命名規則が異なる
• 統一的なユーザーインターフェイス(メソッド名、引数)を整備 -- プロキシ的メタサーバ
• 課題:多くのサーバは使い方がよく分からない
• 統合DBのサービスで全機能を吸収し、分かりやすいドキュメントを整備
• 課題:サービス間でデータの受け渡しが出来ない
• 共通のデータフォーマットを整備しワークフローの構築を実現 -- BioMOBY, Taverna
• 課題:サービスが必ずしも安定ではない
• 統合DBのサービスでタイムアウトやエラーの検出などを行い、使い勝手を向上
• 国内ウェブサービスの稼働状況をチェック
• http://togows.dbcls.jp/status/
• 国内ウェブサービスのサンプルプログラム集
• http://togodb.dbcls.jp/togows_domestic_method
• 国内外サービスの API 一覧
このあたり
• http://togodb.dbcls.jp/togows_world_method
• http://togodb.dbcls.jp/ws_service
主要センターのウェブサービスと BioMoby
•
•
•
•
•
NCBI SOAP
EBI Web Service
DDBJ XML (WABI/SABI)
KEGG API
PDBj SOAP
• 全て独自に開発実装、特に標準化はされていない
• 使われているデータ型もバラバラ
• サービスの命名規則もバラバラ
• 非同期通信などの仕様もバラバラ
• BioMoby
• 植物ゲノム関係などを中心に数十サイトが対応
• 共通のデータ型(ただし独自XML)
• スペインの MOWServ などでグリッド化の実例
4-2-17
<Object namespace="GenBank/
AC" ID="AY070397.1"/>
<Sequence namespace="GenBank/
AC" ID="AY070397.1"/>
<Length>960</Length>
<SequenceString>
aacaaaaagattaaacaagagag...
</SequenceString>
</Sequence>
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
BioMOBY plan
• BioMOBY (Model Organism Bring Your own)
• 2001年∼
• http://biomoby.org/
• バイオインフォで使われるデータ型のオントロジーを構築
• オントロジーのシリアライズ方法を規定
• オントロジーを利用したAPIを作成
• ウェブサービスのI/Oとオントロジーの対応
• オントロジーに応じてサービスをレジストリに登録
• これにより:
• コンピュータが適切なサービスを見つけることができる
• Machines can execute that service anattended
• オントロジーはコミュニティによって拡張可能
BioMoby/MOWServ object ontology
主要なデータベース形式とソフトウェアの
出力フォーマットが 'text-formatted' の
カテゴリに一緒くた
→ これではワークフローが作れない
t xt-formatted
te
BLAST_Text, NCBI_BLAST_Text,
BL
BLAS
LAS
AST_XML, ...
FASTA,, FASTA_Text, FASTA_pep, FASTA_AA, ...
Clus
Cl
ustta
alw
lw_T
Tex
xt,
t New
e ick_Text, Phylip_Text, ...
RefSeq_Text, SwissProt_Text, ...
4-2-18
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
分野間の連携
ウェブサービスの
プロバイダ
Open Bio*
ライブラリの
開発者
交換データ
フォーマットの
標準化
ウェブサービスの
クライアント開発者
者
BioMoby の
開発チーム
BioHackathon 2008 participants
EMBRACE
Taverna
BioMoby
EuroCarbDB
NEXML
GLYDE-II
BioSQL
MOWServ
DIP
Cytoscape
G-language
BioJava
BioPerl
Japan
Organizations
Participants
World
8
20
25
32
4-2-19
BioRuby
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
BioHackathon 2008 - program
• 2/11 morning session - presentations
•
•
•
•
•
•
From Web API for Biology (WABI) to Semantic Web API for Biology (SABI) - Hideaki Sugawara
Current status of the BioMOBY project and vision for the future directions - Mark Wilkinson
The EMBRACE project and WS-I standard - Jan Christian Bryne
Soaplab2 project to wrap up command line packages - Martin Senger
Proxying legacy applications and CGIs into BioMOBY - Paul Gordon
Generation Challenge Program effort at building interoperability - Richard Bruskiewich
• 2/11 afternoon session - open space
•
•
•
•
•
•
•
•
•
ServiceProvider_workgroup
OpenBio_workgroup
Workflow_workgroup
BioMOBY_workgroup
Exchangeformat_workgroup
Semanticweb_workgroup
PhyloWS_workgroup
Distributed storage - initiative (BIO.SLURP)
Distributed services - initiative (BIO.ORG.ANISM)
• 2/12-15 hack, hack, hack
• We will have banquet on 2/12 18:30- @CBRC
4-2-20
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
BioHackathon 2008 action items
Exchange format standardization
Ontology for data types, service types and model APIs
Domain models (INSDC, PSI-MI, GLYDE-II, NEXML, …)
BioMoby, XML Schema, UML
Open Bio*
Common platform with BioSQL including PhyloDB support (BioPerl, BioJava, BioRuby, …)
BioMoby compliant functionality in libraries and clients (BioRuby, G-language, …)
Workflows
Test interoperability of Japanese web services with Taverna
Missing functionality in current web services (parsers, converters, bifurcation, …)
Service description & discovery
Scalability
Async service – how to treat time consuming tasks with web services
Large data – how to manage huge amount of data within a workflow
Security – how to protect shared resources
REST – light weight protocol to access resources, WSDL 2.0
オントロジーと交換データ型の標準化
• Open Bio Semantics 共通データ型
• バイオインフォの WS で交換される全データ型の標準化が望ましい
• 少なくともドメイン毎のデータモデルは必須
• 個別ドメイン
• Glycoinformatics (糖鎖)
• 糖鎖データ解析フローの BioMoby/Taverna による実現
• 相互作用ネットワーク
• PSI-MI を採用し IntAct などで共通の WS を構築、Cytoscape で利用
• Phyloinformatics (系統解析)
• NEXML の利用促進、入出力型の整理と対応する解析 WS のデザイン
• テキストマイニング
• UIMA とバイオインフォの融合、iHOP は BioMoby 上に載っている
4-2-21
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
交換データ型の標準化の流れ
• BioMoby のオブジェクトオントロジー
• 似たようなオブジェクトが大量に登録されている (>500)
• BLAST の出力など主要なデータ型はフラットに formatted-text 下
• BioMoby サーバの構築が Perl/Java 以外では困難
• SOAP/WSDL (complexType) - XML schema
• 標準データ型で定義し .xsd ファイルを共有(open-bio.org でホスト?)
• 同じオブジェクトモデルを Open Bio* とウェブサービス間で利用
• UML (BioUML?)
• BioPerl, BioRuby, BioPython, BioJava で共通のモデルを設計
• 相互運用性のあるオブジェクトモデルからコードを生成
• もしくは Bio* は共通の C ライブラリに対するバインディングを使用
非同期通信 (Async service)
• バイオインフォの解析フローでは時間のかかるステップも多い
• サーバにリクエスト→ジョブIDを発行→終わっているかポーリング
• 双方に WS サーバ機能があれば、WS-Addressing などで通知
• BioMoby は WSRF を採用(時代遅れになりつつある技術とも)
• WSRF は OGSA でも利用されている
• 実装が無く Ruby では利用できない
• Soaplab にも非同期実装がある
• → WS-I に準拠してほしい(WS-* などのスタックが必要)
• WSO2 (http://wso2.org/) の実装が良くなれば?
4-2-22
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
大規模データ (Large data)とセキュリティ
• SOAP では MIME アタッチメントで送られがち
• Base64 エンコードされ一段と巨大化、全部届くまで解凍できない
• データに対するリファレンスを渡して DL は REST や bittreorrent 等で?
• リファレンスにはデータ型の情報がつけられない
• クライアントが解析のためのデータを一時的における場所の提供
• データの生存期間の指定
• 解析ワークフローではクライアントを介さずサーバ間で受け渡す
• セキュリティ
• X509 電子署名
• ユーザのデータ保護、サーバのデータ秘匿、計算機資源 の割当などを管理
BioHackathon で残された課題
• 現状の様々な問題点が提示された
• Standard data types and workflow
• Large data
• Async service
• Security
• Error handling
• .....
• Publication
• Manifesto 標準化の指標
• Journal article 成果のレビュー
• 継続的な会議の開催ができれば
• BOSC session for web service
Slide by Prof. Trelles (INB/MOWServ)
• annual BioHackathon
4-2-23
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
相互運用性のあるワークフローの構築
• DDBJ/PDBj/KEGG を利用するワークフローの構築
• Taverna を利用
• 条件分岐が出来ない
• 連携するためのプログラミングが必要
• 現状の WS では解析のための機能が不足
• それぞれのサービスで何が可能か、何が不足しているか
• 必要とされているワークフローの洗い出しと実装
• 定期的なミーティングによる統合のための協力
• 各サービスの品質向上
• DDBJing, PDBjing, KEGGing などの講習会
統合にはほど遠く
• データ型と解析ソフトウェアの数は増加し続けている
• それらに我々の標準化提案を強制することは現実的には困難
• ウェブサービスにはスケールしない部分がある
• Large data - 生物学データの量は指数関数的に増加中
• Async service - 計算機資源はサーバに依存し限られている
• Workflow - プログラミングなしでパイプライン化することは困難
• 反省と課題
• 個別技術要素の問題点は洗い出せたが、グローバルな結論はでていない
• 個々の技術についてはグリッドなどでもすでに議論されていた点が多い
• データやサービスの統一化には強力なイニシアチブと人員が必要
• 全体の分かる人が long term な目的を持って方向性を決めるべき
• 今のインフラは圧倒的に力不足→サイエンスのできるウェブサービスへ
4-2-24
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
今後の統合にむけて何が可能か
• 相互運用性の実現には継続的な国際コミュニティの努力が必要
• 主要なサービスプロバイダは相互運用性の高い API を提供すべき
• EBI, NCBI, DDBJ, KEGG, PDBj, CBRC, ...
• BioMoby
• 非標準のサービスもクライアント側のソフトウェアで統合可能
• Open Bio* ライブラリ (BioPerl, BioRuby, BioJava, BioPython)
• Taverna, Seahawk, MOWServ, jORCA, ...
• 日本では DBCLS において国内のサービスを統合する TogoWS を始動
• データベースやソフトウェア出力のパーザやコンバータなどを提供
• BioMoby に対して WS-I 準拠のプロキシサーバを提供
• 国内外のサービスを統合したワークフローを集積、ドキュメント化
REST の統合
• 問題点
• CGI ではクエリの方法が非統一、HTML のデザイン変更で破綻
• 検索の仕方が様々(and/or 検索だけでも多様な方言)
• エントリを取得しても HTML で装飾されていることが多い
• 取得後プログラムで加工するのが困難
4-2-25
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
BioMoby service ontology
日本のウェブサービスの9割は
は
データベース
ース検索
検索にバ
にバ
に
バイアス
バイア
ス
解析サー
サ ビスが不足
DDBJ, KEGG, PDBj services
Analysis
Database
Alignment
Converter
Structure
REST 向きのサービス
• データベースのエントリ検索と取得は一元化できそう
• エントリは URL と 1 対 1 対応しやすい - パーマネントなリソース
• 解析サービスは SOAP/WSDL の方がよさそう
• 複雑な入出力データ
• 時間のかかるサービス
• BLAST から系統樹作成まで、PDB で類似構造を検索 etc.
4-2-26
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
http://togows.dbcls.jp/entry/ddbj/AB000100
http://togows.dbcls.jp/entry/ddbj/AB000100.xml
http://togows.dbcls.jp/entry/ddbj/AB000100.gff
http://togows.dbcls.jp/entry/ddbj/AB000100/definition
http://togows.dbcls.jp/entry/ddbj/AB000100/organism
REST
TogoWS + BioRuby
SOAP/WSDL or REST
エントリの取得
/entry/database/entry_id[,entry_id2,...]/field[.format]
http://togows.dbcls.jp/entry/uniprot/A1AG1_HUMAN,A1AG1_MOUSE
http://togows.dbcls.jp/entry/uniprot/A1AG1_HUMAN,A1AG1_MOUSE.fasta
http://togows.dbcls.jp/entry/uniprot/A1AG1_HUMAN,A1AG1_MOUSE.gff
http://togows.dbcls.jp/entry/pubmed/16381885
http://togows.dbcls.jp/entry/pubmed/16381885/authors
http://togows.dbcls.jp/entry/pubmed/16381885/authors.json
database:
KEGG: gene, orthology, enzyme, compound, drug, glycan, reaction
DDBJ: ddbj, dad
PDBj: pdb
NCBI: gene, genome, genomeprj, geo, journals, mesh, nucleotide, omim, pmc,
protein, pubmed, taxonomy, cdd, popset, snp, unigene, homologene,
nuccore, nucest, nucgss, unists
EBI: biomodels, chebi, ensembl, go, interpro, reactome, uniprot, uniparc,
uniref100, uniref90, uniref50, msdchem, msdpdb
format:
xml, json, gff, fasta etc.
/entry/
対応データベース一覧
/entry/database/
パース対応フィールド一覧
4-2-27
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
エントリの検索
/search/database/query+string[.format][/offset,limit[.format]]
http://togows.dbcls.jp/search/uniprot/lung+cancer/count
http://togows.dbcls.jp/search/uniprot/lung+cancer/1,10
クエリ文字列の共通フォーマットには、
Common Query Language を導入予定
データ型の変換
/convert/source.format
http://togows.dbcls.jp/convert/blast.gff
source: genbank, blast, fasta, psl, sim4, hmmer, exonerate, wise etc.
塩基やアミノ酸配列の座標に対する
アノテーションとみなせるもの
GenBank
BLAST
FASTA
PSL
Sim4
HMMER
Exonerate
GeneWise
Pfam
GFF (Generic Feature Format)
* DAS (Distributed annotation system)
* Protein DAS
GFF を入力として利用可能なサービスと連携可能に
そのほかの標準データ型
相互作用データ
PSI-MI 糖鎖データ
GLYDE 各ドメインで標準フォーマットが決まれば採用
系統樹データ
NEXML
4-2-28
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
ユースケース
• DDBJ の definition や配列を取得
• http://togows.dbcls.jp/entry/ddbj/AB000100,AB000101/definition
• http://togows.dbcls.jp/entry/ddbj/AB000100,AB000101.fasta
• KEGG から COMPOUND の名前や組成式を抽出
• http://togows.dbcls.jp/entry/compound/C01234/name
• http://togows.dbcls.jp/entry/compound/C01234/formula
• かずさ DNA 研の藍藻ゲノムブラウザに PMID で対応文献の情報を表示
• http://togows.dbcls.jp/entry/pubmed/PMID/abstract
Taverna
• ワークフロー構築の GUI
• http://taverna.sf.net
4-2-29
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
Galaxy - バイオインフォのリソースをマッシュアップ
マニフェスト
4-2-30
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
ガイドライン - REST
ガイドライン - SOAP
4-2-31
DDBJing & KEGGing & PDBjing 講習会 in 京都 (2008.11.27-28)
ウェブサービスによる国内外データベースの統合的な活用
To be integrated ...
• TogoDB
• http://togodb.dbcls.jp/
• TogoWS
• http://togows.dbcls.jp/
• TogoDB (Model) + TogoWS (Controller)
• Under development (Rails 2.1 w/ ActiveResource)
4-2-32