Class: Mascot::DAT::HeaderInfo

Inherits:
Object
  • Object
show all
Defined in:
lib/mascot/dat/header_info.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(header_section) ⇒ HeaderInfo

Returns a new instance of HeaderInfo.



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/mascot/dat/header_info.rb', line 39

def initialize(header_section)
  @keys = []
  @values = {}
  @databases = []
  kv_rgx = /^(\w+)=(.+)$/
  header_section.split("\n").grep(/^(\w+)=(.+)$/) do |line|
    key,val = $1,$2
    case key
    when /^distribution/
      # set distibution information
      @values[key.to_sym] = val.split(",").collect{|e| e.to_i }
    else
      @keys << key
      @values[key.to_sym] = val
      define_method key.to_sym do
        @values[key.to_sym]
      end
    end
  end
end

Instance Attribute Details

#distributionObject (readonly)

attr_accessor :queries, :time, :date, :exec_time,

:max_hits, :version,
:databases, :total_seqs, :total_seqs_after_tax,
:total_residues

++



37
38
39
# File 'lib/mascot/dat/header_info.rb', line 37

def distribution
  @distribution
end

Instance Method Details

#search_databasesObject



60
61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/mascot/dat/header_info.rb', line 60

def search_databases
  unless @databases
    @databases = {:db=>{}}
    @keys.grep(/^fastafile(\d*)/) do |k|
      idx = $1.to_i + 1
      @databases[:db][@values["release#{$1}".to_sym]] =
      {:path => @values["fastafile#{$1}".to_sym],
      :sequences => @values["sequences#{idx}".to_sym],
      :sequences_after_tax => @values["sequences_after_tax#{idx}".to_sym],
      :residues => @values["residues#{idx}".to_sym]}
    end
  end
  @databases
end