Class: SequenceGroup
- Inherits:
-
Object
- Object
- SequenceGroup
- Defined in:
- lib/seqtrimnext/classes/sequence_group.rb
Instance Attribute Summary collapse
-
#output_files ⇒ Object
Returns the value of attribute output_files.
-
#output_text ⇒ Object
Returns the value of attribute output_text.
-
#stats ⇒ Object
Returns the value of attribute stats.
Instance Method Summary collapse
- #add(array) ⇒ Object
- #count ⇒ Object
- #delete(seq) ⇒ Object
- #each ⇒ Object
- #each_slice(n) ⇒ Object
- #each_with_index ⇒ Object
- #empty? ⇒ Boolean
- #include?(s) ⇒ Boolean
-
#initialize(seqs) ⇒ SequenceGroup
constructor
A new instance of SequenceGroup.
-
#inspect ⇒ Object
def job_identifier return @seqs.seq_name end.
- #push(seq) ⇒ Object
- #remove_all_seqs ⇒ Object
- #reverse_each ⇒ Object
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_files ⇒ Object
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_text ⇒ Object
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 |
#stats ⇒ Object
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 |
#count ⇒ Object
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 |
#each ⇒ Object
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_index ⇒ Object
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
25 26 27 |
# File 'lib/seqtrimnext/classes/sequence_group.rb', line 25 def empty? return @seqs.empty? end |
#include?(s) ⇒ Boolean
76 77 78 |
# File 'lib/seqtrimnext/classes/sequence_group.rb', line 76 def include?(s) return @seqs.include?(s) end |
#inspect ⇒ Object
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_seqs ⇒ Object
80 81 82 |
# File 'lib/seqtrimnext/classes/sequence_group.rb', line 80 def remove_all_seqs @seqs=[] end |
#reverse_each ⇒ Object
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 |