class Bio::Registry

Attributes

databases[R]

List of databases (Array of Bio::Registry::DB)

spec_version[R]

Version string of the first configulation file

Public Class Methods

new(file = nil) click to toggle source
    # File lib/bio/io/registry.rb
 99 def initialize(file = nil)
100   @spec_version = nil
101   @databases = Array.new
102   read_local(file) if file
103   env_path = ENV['OBDA_SEARCH_PATH']
104   if env_path and env_path.size > 0
105     read_env(env_path)
106   else
107     read_local("#{ENV['HOME']}/.bioinformatics/seqdatabase.ini")
108     read_local("/etc/bioinformatics/seqdatabase.ini")
109     if @databases.empty?
110       read_remote("http://www.open-bio.org/registry/seqdatabase.ini")
111     end
112   end
113 end

Public Instance Methods

db(dbname)
Alias for: get_database
get_database(dbname) click to toggle source

Returns a dababase handle (Bio::SQL, Bio::Fetch etc.) or nil if not found (case insensitive). The handles should have get_by_id method.

    # File lib/bio/io/registry.rb
124 def get_database(dbname)
125   @databases.each do |db|
126     if db.database == dbname.downcase
127       case db.protocol
128       when 'biofetch'
129         return serv_biofetch(db)
130       when 'biosql'
131         return serv_biosql(db)
132       when 'flat', 'index-flat', 'index-berkeleydb'
133         return serv_flat(db)
134       when 'bsane-corba', 'biocorba'
135         raise NotImplementedError
136       when 'xembl'
137         raise NotImplementedError
138       end
139     end
140   end
141   return nil
142 end
Also aliased as: db
query(dbname) click to toggle source

Returns a Registry::DB object corresponding to the first dbname entry in the registry records (case insensitive).

    # File lib/bio/io/registry.rb
147 def query(dbname)
148   @databases.each do |db|
149     return db if db.database == dbname.downcase
150   end
151 end