class Bio::BioAlignment::Elements

Elements is a container for Element sequences.

Attributes

id[R]
seq[R]

Public Class Methods

new(id, seq) click to toggle source
# File lib/bio-alignment/elements.rb, line 43
def initialize id, seq
  @id = id
  @id.freeze
  @seq = []
  if seq.kind_of?(Elements)
    @seq = seq.clone
  elsif seq.kind_of?(String)
    seq.each_char do |c|
      @seq << Element.new(c)
    end
  else
    seq.each do |s|
      @seq << Element.new(s)
    end
  end
end

Public Instance Methods

<<(element) click to toggle source
# File lib/bio-alignment/elements.rb, line 76
def << element
  @seq << element
end
[](index) click to toggle source
# File lib/bio-alignment/elements.rb, line 60
def [] index
  @seq[index]
end
clone() click to toggle source
# File lib/bio-alignment/elements.rb, line 84
def clone
  copy = Elements.new(@id,"")
  @seq.each do |e|
    copy << e.clone
  end
  copy
end
each() { |e| ... } click to toggle source
# File lib/bio-alignment/elements.rb, line 68
def each
  @seq.each { |e| yield e }
end
empty_copy() click to toggle source
# File lib/bio-alignment/elements.rb, line 80
def empty_copy
  Elements.new(@id,"")
end
length() click to toggle source
# File lib/bio-alignment/elements.rb, line 64
def length
  @seq.length
end
to_s() click to toggle source
# File lib/bio-alignment/elements.rb, line 72
def to_s
  @seq.map{|e| e.to_s }.join("")
end