Class: SequenceGroup

Inherits:
Object
  • Object
show all
Defined in:
lib/seqtrimnext/classes/sequence_group.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(seqs) ⇒ SequenceGroup

Returns a new instance of SequenceGroup.



8
9
10
11
12
13
14
# File 'lib/seqtrimnext/classes/sequence_group.rb', line 8

def initialize(seqs)
  @stats={}
  @seqs=seqs
  @output_text={}
  @output_files={}
  
end

Instance Attribute Details

#output_filesObject

Returns the value of attribute output_files.



5
6
7
# File 'lib/seqtrimnext/classes/sequence_group.rb', line 5

def output_files
  @output_files
end

#output_textObject

Returns the value of attribute output_text.



5
6
7
# File 'lib/seqtrimnext/classes/sequence_group.rb', line 5

def output_text
  @output_text
end

#statsObject

Returns the value of attribute stats.



5
6
7
# File 'lib/seqtrimnext/classes/sequence_group.rb', line 5

def stats
  @stats
end

Instance Method Details

#add(array) ⇒ Object



56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# 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

#countObject



72
73
74
# File 'lib/seqtrimnext/classes/sequence_group.rb', line 72

def count
  return @seqs.count
end

#delete(seq) ⇒ Object



21
22
23
# File 'lib/seqtrimnext/classes/sequence_group.rb', line 21

def delete(seq)
  @seqs.delete(seq)
end

#eachObject



30
31
32
33
34
# File 'lib/seqtrimnext/classes/sequence_group.rb', line 30

def each
    @seqs.each do |seq|
      yield seq
    end
end

#each_slice(n) ⇒ Object



36
37
38
39
40
# 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_indexObject



43
44
45
46
47
# 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?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/seqtrimnext/classes/sequence_group.rb', line 25

def empty?
  return @seqs.empty?
end

#include?(s) ⇒ Boolean

Returns:

  • (Boolean)


76
77
78
# File 'lib/seqtrimnext/classes/sequence_group.rb', line 76

def include?(s)
  return @seqs.include?(s)
end

#inspectObject

def job_identifier

return @seqs[0].seq_name

end



88
89
90
# File 'lib/seqtrimnext/classes/sequence_group.rb', line 88

def inspect
  return "Group with #{@seqs.count} sequences"
end

#push(seq) ⇒ Object



17
18
19
# File 'lib/seqtrimnext/classes/sequence_group.rb', line 17

def push(seq)
  @seqs.push seq
end

#remove_all_seqsObject



80
81
82
# File 'lib/seqtrimnext/classes/sequence_group.rb', line 80

def remove_all_seqs
  @seqs=[]
end

#reverse_eachObject



50
51
52
53
54
# File 'lib/seqtrimnext/classes/sequence_group.rb', line 50

def reverse_each
    @seqs.reverse_each do |seq|
      yield seq
    end
end