Method: Bio::EMBLDB::Common#os

Defined in:
lib/bio/db/embl/common.rb

#os(num = nil) ⇒ Object

returns contents in the OS line.

  • Bio::EMBLDB#os -> Array of <OS Hash>

where <OS Hash> is:

[{'name'=>'Human', 'os'=>'Homo sapiens'}, 
 {'name'=>'Rat', 'os'=>'Rattus norveticus'}]
  • Bio::SPTR#os[‘name’] => “Human”

  • Bio::SPTR#os => ‘os’=>‘Homo sapiens’

  • Bio::STPR#os(0) => “Homo sapiens (Human)”

OS Line; organism species (>=1)

"OS   Trifolium repens (white clover)"

OS   Genus species (name).
OS   Genus species (name0) (name1).
OS   Genus species (name0) (name1).
OS   Genus species (name0), G s0 (name0), and G s (name1).


148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
# File 'lib/bio/db/embl/common.rb', line 148

def os(num = nil)
  unless @data['OS']
    os = Array.new
    fetch('OS').split(/, and|, /).each do |tmp|
      if tmp =~ /([A-Z][a-z]* *[\w\d \:\'\+\-]+[\w\d])/
        org = $1
        tmp =~ /(\(.+\))/ 
        os.push({'name' => $1, 'os' => org})
      else
        raise "Error: OS Line. #{$!}\n#{fetch('OS')}\n"
      end
    end
    @data['OS'] = os
  end
  if num
    # EX. "Trifolium repens (white clover)"
    "#{@data['OS'][num]['os']} {#data['OS'][num]['name']"
  end
  @data['OS']
end