Class: Egor::Environment

Inherits:
Object
  • Object
show all
Defined in:
lib/egor/environment.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(number, label, amino_acids = "ACDEFGHIKLMNPQRSTVWYJ".split('')) ⇒ Environment

Returns a new instance of Environment.



12
13
14
15
16
17
18
19
20
# File 'lib/egor/environment.rb', line 12

def initialize(number, label, amino_acids = "ACDEFGHIKLMNPQRSTVWYJ".split(''))
  @amino_acids        = amino_acids
  @number             = number
  @label              = label
  @freq_array         = $noweight ? NArray.int(@amino_acids.size) : NArray.float(@amino_acids.size)
  @prob_array         = NArray.float(@amino_acids.size)
  @logo_array         = NArray.float(@amino_acids.size)
  @smooth_prob_array  = NArray.float(@amino_acids.size)
end

Instance Attribute Details

#amino_acidsObject

Returns the value of attribute amino_acids.



4
5
6
# File 'lib/egor/environment.rb', line 4

def amino_acids
  @amino_acids
end

#freq_arrayObject

Returns the value of attribute freq_array.



4
5
6
# File 'lib/egor/environment.rb', line 4

def freq_array
  @freq_array
end

#labelObject

Returns the value of attribute label.



4
5
6
# File 'lib/egor/environment.rb', line 4

def label
  @label
end

#logo_arrayObject

Returns the value of attribute logo_array.



4
5
6
# File 'lib/egor/environment.rb', line 4

def logo_array
  @logo_array
end

#numberObject

Returns the value of attribute number.



4
5
6
# File 'lib/egor/environment.rb', line 4

def number
  @number
end

#prob_arrayObject

Returns the value of attribute prob_array.



4
5
6
# File 'lib/egor/environment.rb', line 4

def prob_array
  @prob_array
end

#smooth_prob_arrayObject

Returns the value of attribute smooth_prob_array.



4
5
6
# File 'lib/egor/environment.rb', line 4

def smooth_prob_array
  @smooth_prob_array
end

Instance Method Details

#increase_residue_count(a, inc = 1.0) ⇒ Object



22
23
24
# File 'lib/egor/environment.rb', line 22

def increase_residue_count(a, inc = 1.0)
  @freq_array[@amino_acids.index(a.upcase)] += inc
end

#label_setObject



26
27
28
# File 'lib/egor/environment.rb', line 26

def label_set
  label.split("").map_with_index { |l, i| "#{i}#{l}" }.to_set
end

#to_sObject



30
31
32
# File 'lib/egor/environment.rb', line 30

def to_s
  "#{number}-#{label}"
end