Class: Bio::ClustalW::Report

Inherits:
DB show all
Defined in:
lib/bio/appl/clustalw/report.rb

Overview

CLUSTAL W result data (*.aln file) parser class.

Constant Summary

DELIMITER =

Delimiter of each entry. Bio::FlatFile uses it. In Bio::ClustalW::Report, it it nil (1 entry 1 file).

nil

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from DB

#entry_id, #exists?, #fetch, #get, open, #tags

Constructor Details

#initialize(str, seqclass = nil) ⇒ Report

Creates new instance. str should be a CLUSTAL format string. seqclass should on of following:

  • Class: Bio::Sequence::AA, Bio::Sequence::NA, …

  • String: 'PROTEIN', 'DNA', …



45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/bio/appl/clustalw/report.rb', line 45

def initialize(str, seqclass = nil)
  @raw = str
  @align = nil
  @match_line = nil
  @header = nil
  case seqclass
  when /PROTEIN/i
    @seqclass = Bio::Sequence::AA
  when /[DR]NA/i
    @seqclass = Bio::Sequence::NA
  else
    if seqclass.is_a?(Module) then
      @seqclass = seqclass
    else
      @seqclass = Bio::Sequence
    end
  end
end

Instance Attribute Details

#rawObject (readonly)

string of whole result



64
65
66
# File 'lib/bio/appl/clustalw/report.rb', line 64

def raw
  @raw
end

#seqclassObject (readonly)

sequence class (one of Bio::Sequence, Bio::Sequence::NA, Bio::Sequence::AA, …)



68
69
70
# File 'lib/bio/appl/clustalw/report.rb', line 68

def seqclass
  @seqclass
end

Instance Method Details

#alignObject

This will be deprecated. Instead, please use alignment.

Gets an multiple alignment. Returns a Bio::Alignment object.



111
112
113
114
# File 'lib/bio/appl/clustalw/report.rb', line 111

def align
  warn "Bio::ClustalW#align will be deprecated. Please use \'alignment\'."
  alignment
end

#alignmentObject

Gets an multiple alignment. Returns a Bio::Alignment object.



102
103
104
105
# File 'lib/bio/appl/clustalw/report.rb', line 102

def alignment
  do_parse() unless @align
  @align
end

#get_sequence(row) ⇒ Object

Returns the Bio::Sequence in the matrix at row 'row' as Bio::Sequence object. When row is out of range a nil is returned.


Arguments:

  • (required) row: Integer

Returns

Bio::Sequence



83
84
85
86
87
88
89
90
91
# File 'lib/bio/appl/clustalw/report.rb', line 83

def get_sequence(row)
  a = alignment
  return nil if row < 0 or row >= a.keys.size
  id  = a.keys[row]
  seq = a.to_hash[id]
  s = Bio::Sequence.new(seq.seq)
  s.definition = id
  s
end

#headerObject

Shows first line of the result data, for example, 'CLUSTAL W (1.82) multiple sequence alignment'. Returns a string.



73
74
75
# File 'lib/bio/appl/clustalw/report.rb', line 73

def header
  @header or (do_parse or @header)
end

#match_lineObject

Shows “match line” of CLUSTAL's alignment result, for example, ':* :* .* * .*::*. ** :* . * . '. Returns a string.



96
97
98
# File 'lib/bio/appl/clustalw/report.rb', line 96

def match_line
  @match_line or (do_parse or @match_line)
end

#to_aObject

Compatibility note: Behavior of the method will be changed in the future.

Gets an array of the sequences. Returns an array of Bio::FastaFormat objects.



130
131
132
# File 'lib/bio/appl/clustalw/report.rb', line 130

def to_a
  alignment.to_fastaformat_array
end

#to_fasta(*arg) ⇒ Object

This will be deprecated. Instead, please use alignment.output_fasta.

Gets an fasta-format string of the sequences. Returns a string.



120
121
122
123
# File 'lib/bio/appl/clustalw/report.rb', line 120

def to_fasta(*arg)
  warn "Bio::ClustalW::report#to_fasta is deprecated. Please use \'alignment.output_fasta\'"
  alignment.output_fasta(*arg)
end