ActiveRecordでEnsemblからデータ取ってくる
いろいろと小技を使うと、制約に沿ってないテーブルにも使えることを今日知る。。
備忘録代わりにメモ。
- http://techno.hippy.jp/rorwiki/?HowToUseLegacySchemas
- http://wiki.fdiary.net/rails/?ActiveRecord -http://jp.rubyist.net/magazine/?0006-RubyOnRails -
- http://www.nayuki.net/wiki/?ActiveRecord
あと
- http://hoged.tdiary.net/20060325.html#p02
- http://bioruby.g.hatena.ne.jp/nakao_mitsuteru/ # BioRuby hatena group!
がグレイトで良い。
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