class SequenceGroup

Attributes

output_files[RW]
output_text[RW]
stats[RW]

Public Class Methods

new(seqs) click to toggle source
# File lib/seqtrimnext/classes/sequence_group.rb, line 8
def initialize(seqs)
  @stats={}
  @seqs=seqs
  @output_text={}
  @output_files={}
  
end

Public Instance Methods

add(array) click to toggle source
# File lib/seqtrimnext/classes/sequence_group.rb, line 56
def add(array)
  @seqs = @seqs + array

  # sort by tuple_id and order in tuple
  @seqs.sort! do |a,b|
    comp = (a.tuple_id <=> b.tuple_id)
    comp.zero? ? (a.order_in_tuple <=> b.order_in_tuple) : comp
  end

  # print
  # @seqs.each do |s|
  #   puts "TID:#{s.tuple_id}, OIT: #{s.order_in_tuple}"
  # end
  
end
count() click to toggle source
# File lib/seqtrimnext/classes/sequence_group.rb, line 72
def count
  return @seqs.count
end
delete(seq) click to toggle source
# File lib/seqtrimnext/classes/sequence_group.rb, line 21
def delete(seq)
  @seqs.delete(seq)
end
each() { |seq| ... } click to toggle source
# File lib/seqtrimnext/classes/sequence_group.rb, line 30
def each
    @seqs.each do |seq|
      yield seq
    end
end
each_slice(n) { |seqs| ... } click to toggle source
# File lib/seqtrimnext/classes/sequence_group.rb, line 36
def each_slice(n)
    @seqs.each_slice(n) do |seqs|
      yield seqs
    end
end
each_with_index() { |seq,i| ... } click to toggle source
# File lib/seqtrimnext/classes/sequence_group.rb, line 43
def each_with_index
    @seqs.each_with_index do |seq,i|
      yield seq,i
    end
end
empty?() click to toggle source
# File lib/seqtrimnext/classes/sequence_group.rb, line 25
def empty?
  return @seqs.empty?
end
include?(s) click to toggle source
# File lib/seqtrimnext/classes/sequence_group.rb, line 76
def include?(s)
  return @seqs.include?(s)
end
inspect() click to toggle source

def job_identifier

return @seqs[0].seq_name

end

# File lib/seqtrimnext/classes/sequence_group.rb, line 88
def inspect
  return "Group with #{@seqs.count} sequences"
end
push(seq) click to toggle source
# File lib/seqtrimnext/classes/sequence_group.rb, line 17
def push(seq)
  @seqs.push seq
end
remove_all_seqs() click to toggle source
# File lib/seqtrimnext/classes/sequence_group.rb, line 80
def remove_all_seqs
  @seqs=[]
end
reverse_each() { |seq| ... } click to toggle source
# File lib/seqtrimnext/classes/sequence_group.rb, line 50
def reverse_each
    @seqs.reverse_each do |seq|
      yield seq
    end
end