ActiveRecordでEnsemblからデータ取ってくる

いろいろと小技を使うと、制約に沿ってないテーブルにも使えることを今日知る。。
備忘録代わりにメモ。

あと

がグレイトで良い。
ichan氏も書いてくれたので備忘録としてメモ追記。
http://itoshi.tv/d/?date=20060829#p01

#!/usr/bin/env ruby                                                                                   

begin
  require 'rubygems'
  require_gem 'activerecord'
  require 'logger'

  ActiveRecord::Base.logger = Logger.new("debug.log")

  ActiveRecord::Base.establish_connection(
    :adapter => "mysql",
    :host      => "ensembldb.ensembl.org",
    :username      => "anonymous",
    :password      => "",
    :database      => "ensembl_mart_37"
  )

  class Hsapiens_gene_ensembl__gene__main < ActiveRecord::Base   # OR mapping                         

#    set_primary_key "gene_id_key"                                                                    
    set_primary_key "gene_stable_id"
    set_table_name "hsapiens_gene_ensembl__gene__main"

  end


  ens = Hsapiens_gene_ensembl__gene__main.find(["ENSG00000175182", "ENSG00000134121"])
#  ens = Hsapiens_gene_ensembl__gene__main.find(:first)

  ens.each do |data|
    p data.gene_stable_id_v
  end

rescue => ex
  p ex.message
  p ex.backtrace
end