Method: Bio::TRANSFAC::MATRIX#ma

Defined in:
lib/bio/db/transfac.rb

#maObject



110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# File 'lib/bio/db/transfac.rb', line 110

def ma
  ma_dat = {}
  ma_ary = []
  key = ''
  @orig.each do |k, v|
    if k =~ /^0*(\d+)/
      key = $1.to_i
      ma_dat[key] = fetch(k) unless ma_dat[key]
    end
  end
  ma_dat.keys.sort.each_with_index do |k, i|
    rep_nt = ma_dat[k].slice!(-1, 1)
    ma_dat[k].slice!(-1, 1)
    ma_ary[i] = ma_dat[k].split(/\s+/)
    ma_ary[i].each_with_index do |x, j|
      ma_ary[i][j] = x.to_i
    end
  end
  Matrix[*ma_ary]
end