BioRubyによるKEGGデータベースへのアクセス
環境変数の設定
環境変数SOAP_USE_PROXY, http_proxyを設定する。ただし、環境変数は、言語により大文字・小文字の区別があるので注意すること。
.cshrc setenv SOAP_USE_PROXY on setenv http_proxy [プロキシのURI] .bashrc export SOAP_USE_PROXY=on export http_proxy=[プロキシのURI] .profile SOAP_USE_PROXY=on export SOAP_USE_PROXY http_proxy=[プロキシのURI] export http_proxy
公式サイト
KEGGデータベースへのアクセス(KEGG API使用)
BioRubyの使用方法
BioRubyシェルを起動して、BioRubyコマンド(xxx)を実行する方法% bioruby bioruby> xxx
ファイル(xxx.rb)を編集して、rubyから実行する方法
% ruby xxx.rb
データベース情報(メタ情報)の取得
対象データベース : SSDB, PATHWAY, GENES, LIGANDbioruby> keggdbs
例)リスト出力のプログラム list_databases.rbの内容
#!/usr/bin/env ruby #require 'pp' require 'bio' serv = Bio::KEGG::API.new list = serv.list_databases() #pp list list.each do |elem| print elem.entry_id,"\t",elem.definition,"\n" end
KEGG に含まれている生物種(org)のリスト
例)リスト出力のBioRubyシェルコマンド
結果はソートされる。 bioruby> keggorgs
例)リスト出力のプログラム list_organisms.rbの内容
結果はソートされない。 #!/usr/bin/env ruby #require 'pp' require 'bio' serv = Bio::KEGG::API.new list = serv.list_organisms() #pp list list.each do |elem| print elem.entry_id,"\t",elem.definition,"\n" end
KEGG に含まれている指定した生物(hsa)のパスウェイのリスト
例)リスト出力のBioRubyシェルコマンド
bioruby> keggpathways("hsa")
例)リスト出力のプログラム list_pathways.rbの内容
#!/usr/bin/env ruby #require 'pp' require 'bio' serv = Bio::KEGG::API.new list = serv.list_pathways("hsa") #pp list list.each do |elem| print elem.entry_id,"\t",elem.definition,"\n" end
DBGETシステムに対するメソッド
ゲノムネットのDBGETのコマンドをそのまま実行できる。コマンドとしても、rbファイル上でも、使用可能。- binfo(string)
- 返り値は"\n"区切りstring
指定したデータベースのエントリ数や更新日など詳しい最新情報を返す。
例)BioRubyシェル上でのメソッドの実行
結果をファイルに保存する。 bioruby> str = binfo('pathway') bioruby> savefile "binfo.txt", str
例)プログラムtest_binfo.rbの内容
#!/usr/bin/env ruby require 'bio' serv = Bio::KEGG::API.new str = serv.binfo('') puts str
データベースに対するキーワード検索することができる。データベース名とキーワード(100個以下)を指定する。
- 返り値は"\n"区切りstring
例)BioRubyシェル上でのメソッドの実行
結果を画面に出力する。 bioruby> str = bfind("gb E-cadherin human") bioruby> puts str
指定したdb:entry_idのデータベースエントリを返す。コマンドラインオプションを文字列で渡す。一度に取得できるエントリの数は100個以下。
- 返り値は"\n"区切りstring
例)BioRubyシェル上でのメソッドの実行
結果を画面に出力する。 bioruby> str = bget("eco:b0002 bsu:BG10065 cpd:C00209") bioruby> puts str
指定したentry_id(100個以下)に対応するdefinitionを返す。
- 返り値は"\n"区切りstring definition "\n"
例)BioRubyシェル上でのメソッドの実行
結果を画面に出力する。 bioruby> str = btit("hsa:1798 mmu:13478 dme:CG5287-PA cel:Y60A3A.14") bioruby> puts str
外部データベースのIDを、KEGGのIDに変換する。
対応データベース
外部データベース データベース名の prefix ---------------- ----------------------- NCBI GI ncbi-gi: NCBI GeneID ncbi-geneid: GenBank genbank: UniGene unigene: UniProt uniprot: OMIM omim:
例)プログラムtest_pconv.rbの内容
#!/usr/bin/env ruby require 'bio' serv = Bio::KEGG::API.new str = serv.bconv("ncbi-gi:10047086 ncbi-geneid:14751") puts str
LinkDB
- get_linkdb_by_entry(entry_id, db, start, max_results)
- 返り値はArrayOfLinkDBRelation
指定したentry_idから直接または間接的にリンクされているエントリの経路を、dbで指定したデータベースにたどれるまで検索する。
例)プログラムget_linkdb_by_entry.rbの内容
#!/usr/bin/env ruby #require 'pp' require 'bio' serv = Bio::KEGG::API.new list = serv.get_linkdb_by_entry('eco:b0002', 'pathway', 1, 10) #pp list list.each do |elem| print elem.entry_id1,"\t",elem.entry_id2,"\t",elem.type,"\t",elem.path,"\n" end
KEGG APIメソッド
データベース情報取得以外のKEGG APIのメソッドをBioRubyシェル上で実行するには、keggapiに続けて呼び出せばよい。- 利用可能なメソッドの一覧は、KEGG API Japanese manualを参照のこと。
- 返り値の型とその内部構造は、ppコマンドで確認できる。
例)BioRubyシェル上でのメソッドの実行
結果を画面に出力する。 bioruby> list = keggapi.get_genes_by_pathway("path:hsa05210") bioruby> pp list bioruby> puts list
BioRuby Tips
FixnumのPublicメソッドの一覧出力
$ ruby -e 'p 1.type; p 1.methods'
メソッドの返り値のチェック方法
ppクラスを使用して、メソッドの返り値の型とその内部構造をチェックできる。例)ppクラス使用例
test_pp.rbの内容 #!/usr/bin/env ruby require 'pp' require 'bio' serv = Bio::KEGG::API.new list = serv.get_elements_by_pathway('path:hsa05210') pp list