class Bio::BioAlignment::Codon

Codon element for the matrix, used by CodonSequence.

Constants

GAP
UNDEFINED

Attributes

codon_table[R]

Public Class Methods

new(codon, codon_table = 1) click to toggle source
# File lib/bio-alignment/codonsequence.rb, line 15
def initialize codon, codon_table = 1
  @codon = codon
  @codon_table = codon_table
  @codon.freeze
  @codon_table.freeze
end

Public Instance Methods

==(other) click to toggle source
# File lib/bio-alignment/codonsequence.rb, line 38
def == other
  @codon == other.to_s
end
gap?() click to toggle source
# File lib/bio-alignment/codonsequence.rb, line 22
def gap?
  @codon == GAP
end
to_aa() click to toggle source

lazily convert to Amino acid (once only)

# File lib/bio-alignment/codonsequence.rb, line 43
def to_aa
  aa = translate
  if not aa
    if gap?
      return '-'
    elsif undefined?
      return UNDEFINED
    else
      raise 'What?'
    end
  end
  aa
end
to_s() click to toggle source
# File lib/bio-alignment/codonsequence.rb, line 34
def to_s
  @codon
end
undefined?() click to toggle source
# File lib/bio-alignment/codonsequence.rb, line 26
def undefined?
  aa = translate
  if aa == nil and not gap?
    return true
  end
  false
end

Private Instance Methods

translate() click to toggle source

lazy translation of codon to amino acid

# File lib/bio-alignment/codonsequence.rb, line 60
def translate
  @aa ||= Bio::CodonTable[@codon_table][@codon]
  @aa.freeze
end