class Mspire::OBO

Attributes

elements[RW]
header[RW]

Public Class Methods

new(file_or_io) click to toggle source
# File lib/mspire/obo.rb, line 7
def initialize(file_or_io)
  obo = Obo::Parser.new(file_or_io)
  elements = obo.elements.to_a
  header = elements.shift
end

Public Instance Methods

id_to_element() click to toggle source
# File lib/mspire/obo.rb, line 20
def id_to_element
  @id_to_element ||= build_hash('id', nil)
end
id_to_name() click to toggle source

returns an id to name Hash

# File lib/mspire/obo.rb, line 13
def id_to_name
  @id_to_name ||= build_hash('id', 'name')
end
name_to_id() click to toggle source

returns a name to id Hash

# File lib/mspire/obo.rb, line 17
def name_to_id
  @name_to_id ||= build_hash('name', 'id')
end

Protected Instance Methods

build_hash(key,val) click to toggle source
# File lib/mspire/obo.rb, line 25
def build_hash(key,val)
  hash = {}
  elements.each do |el| 
    tv = el.tagvalues
    if val.nil?
      hash[tv[key].first] = el
    else
      hash[tv[key].first] = tv[val].first
    end
  end
  hash
end