module Bio::BioAlignment::Columns
The Columns
module provides accessors for the column list returning Column
objects
Public Instance Methods
clone_columns!()
click to toggle source
# File lib/bio-alignment/columns.rb, line 43 def clone_columns! # clone the columns old_columns = @columns @columns = [] old_columns.each do | old_column | @columns << old_column.clone end end
columns()
click to toggle source
Return a list of Column
objects. The contents of the
columns are accessed lazily
# File lib/bio-alignment/columns.rb, line 13 def columns @columns ||= (0..num_columns-1).map { | col | Column.new(self,col) } end
columns_to_s()
click to toggle source
# File lib/bio-alignment/columns.rb, line 39 def columns_to_s columns.map { |c| (c.respond_to?(:state) ? c.state.to_s : '?') }.join end
columns_where(&block)
click to toggle source
Return an alignment which match columns. The originating sequences should have methods 'empty_copy' and '<<'
# File lib/bio-alignment/columns.rb, line 27 def columns_where &block seqs = [] rows.each do | seq | new_seq = seq.empty_copy seq.each_with_index do | e,i | new_seq << e if block.call(columns[i]) end seqs << new_seq end Alignment.new(seqs) end
num_columns()
click to toggle source
def columns= list
@columns = list
end
# File lib/bio-alignment/columns.rb, line 21 def num_columns rows.first.length end