class Sequence

@author Luis M. Rodriguez-R <lmrodriguezr at gmail dot com> @author Luis (Coto) Orellana @license artistic license 2.0 @update Jan-22-2015

Attributes

aln[R]
id[R]
seq[R]

Public Class Methods

new(id, aln) click to toggle source
# File lib/rocker/sequence.rb, line 10
def initialize(id, aln)
   @id = id
   @aln = aln.gsub(/[-\.]/,'-').gsub(/[^A-Za-z-]/, '').upcase
   @seq = aln.gsub(/[^A-Za-z]/, '').upcase
end

Public Instance Methods

col2pos(col) click to toggle source
# File lib/rocker/sequence.rb, line 24
def col2pos(col)
   pos = 1
   self.aln.split(//).each do |c|
      col-=1
      pos+=1 unless c=='-'
      return pos if col==0
   end
   pos
end
cols() click to toggle source
# File lib/rocker/sequence.rb, line 33
def cols() self.aln.length end
length() click to toggle source
# File lib/rocker/sequence.rb, line 34
def length() self.seq.length end
pos2col(pos) click to toggle source
# File lib/rocker/sequence.rb, line 15
def pos2col(pos)
   col = 0
   self.aln.split(//).each do |c|
      col+=1
      pos-=1 unless c=='-'
      return col if pos==0
   end
   col
end
to_s() click to toggle source
# File lib/rocker/sequence.rb, line 36
def to_s() "#:>#{self.id}\n#:#{self.aln}\n" end
to_seq_s() click to toggle source
# File lib/rocker/sequence.rb, line 35
def to_seq_s() ">#{self.id}\n#{self.seq}\n" end