Sha256: b91e8379b746e20026e686a3ea445a3147edd47a30423188261c8fac58f9111d
Contents?: true
Size: 1.29 KB
Versions: 11
Compression:
Stored size: 1.29 KB
Contents
class SequenceGroup attr_accessor :stats,:output_text,:output_files def initialize(seqs) @stats={} @seqs=seqs @output_text={} @output_files={} end def push(seq) @seqs.push seq end def delete(seq) @seqs.delete(seq) end def empty? return @seqs.empty? end 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 end def reverse_each @seqs.reverse_each do |seq| yield seq end end 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 def count return @seqs.count end def include?(s) return @seqs.include?(s) end def remove_all_seqs @seqs=[] end # def job_identifier # return @seqs[0].seq_name # end def inspect return "Group with #{@seqs.count} sequences" end end
Version data entries
11 entries across 11 versions & 1 rubygems