lib/seqtrimnext/classes/sequence_group.rb in seqtrimnext-2.0.51 vs lib/seqtrimnext/classes/sequence_group.rb in seqtrimnext-2.0.52
- old
+ new
@@ -8,10 +8,11 @@
def initialize(seqs)
@stats={}
@seqs=seqs
@output_text={}
@output_files={}
+
end
def push(seq)
@seqs.push seq
@@ -29,10 +30,17 @@
def each
@seqs.each do |seq|
yield seq
end
end
+
+ def each_slice(n)
+ @seqs.each_slice(n) do |seqs|
+ yield seqs
+ end
+ end
+
def each_with_index
@seqs.each_with_index do |seq,i|
yield seq,i
end
@@ -44,10 +52,22 @@
yield seq
end
end
def add(array)
- @seqs += 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
def count
return @seqs.count
end
\ No newline at end of file