meeting6 hands on KEGG on Rails

Toshiaki Katayama edited this page Mar 25, 2017 · 1 revision

不具合を修正し、データのロードを高速化した最新版を置きました。これには BioRuby 1.1.0-pre3 以降が必要です。(2007/4/14 katayama)

上記 suppliment に rake db:migrate; rake kegg:load_all した状態の development.sqlite3 も置いてありますので、

% tar zxvf kegg_on_rails_20070414.tar.gz
% cp development.sqlite3 kegg/db
% cd kegg
% ./script/server

して http://localhost:3000/pathway/ を開くだけで利用できると思います。(注:サンプルデータでは生物種は大腸菌しか選べません。また代謝系以外を中心に選べないパスウェイ - KGML がなかったもの - があります)

当日のログ

  • データがデカイ
  • 環境のつくりかた
    • 自前のマシンでRailsが動いている人
    • KNOBのRailsを使う人。
      • Rails 1.1.6 ← 1.2.2 に入れ直す
      • Ruby 1.8.5
  • 必要なもの
    • rubygems
    • sqlite3
    • ruby sqlite3

注:KEGG on Rails は Mac OS X 上の Rails と MySQL で開発されてきて、KNOB と SQLite は今回初めて試しています。SQLite3 では、最後のステップでタブ切りの linkdbs.txt の読み込みがうまくいっていませんが、ポップアップなどは linkdbs.txt の情報がなくても動きます。

OS X + MySQL での設定方法について詳しくは、kegg_on_rails.tar.gz 内の README ファイルをご参照ください。

  • インストール:KNOBのRailsを使う人
sudo apt-get install rubygems
sudo gem install rails -y
sudo apt-get install sqlite3
sudo gem install sqite3-ruby
  • KEGG on Rails 開発環境をダウンロード
wget http://kumamushi.org/~k/tmp/kegg_on_rails.tar.gz
wget http://kumamushi.org/~k/tmp/kegg_on_rails_data_eco.tar.gz
  • KEGG on Rails のファイルを展開
tar zxvf kegg_on_rails.tar.gz
  • KEGG on Rails 用大腸菌サブセットデータを展開
tar zxvf kegg_on_rails_data_eco.tar.gz
  • BioRuby の最新版をインストール
wget http://bioruby.org/archive/bioruby-1.1.0-pre2.tar.gz
tar zxvf bioruby-1.1.0-pre2.tar.gz
cd bioruby-1.1.0-pre2
ruby install.rb config
ruby install.rb setup
sudo ruby install.rb install

もしくは kegg_on_ralis/lib に BioRuby をコピー

cp -pr bioruby-1.1.0-pre2/lib/bio* kegg_on_ralis/lib/

配布された KNOB では BioRuby が標準添付ライブラリと同じ場所にインストールされているので削除する

sudo rm -rf /usr/lib/ruby/1.8/bio*
  • KEGG on Rails にデータをインポート
cd kegg_on_rails
rake db:migrate
rake kegg:load_all > data/linkdbs.txt
  • linkdbs.txt のロード(sqlite3 ではうまくいかないのでスキップしてよいです)

sqlite3 の場合

% sqlite3 db/development.sqlite3
sqlite> .separator ?t
sqlite> .import data/linkdbs.txt linkdbs
data/linkdbs.txt line 1: expected 7 columns of data but found 1

sqlite3 では linkdbs.txt 一行目のゴミを消す必要があるようです。またすべての行がスキーマどおり7カラムないとロードできないみたいです。

sqlite> .import data/linkdbs.txt linkdbs
Error: datatype mismatch

まだダメみたい。誰かエライ人〜?

MySQL の場合

mysqlimport -u root -d kegg_development `pwd`/data/linkdbs.txt
  • Webrick を起動する
./script/server