Class: Bio::FastaNumericFormat

Inherits:
FastaFormat show all
Defined in:
lib/bio/db/fasta/qual.rb

Overview

Treats a FASTA formatted numerical entry, such as:

>id and/or some comments                    <== comment line
24 15 23 29 20 13 20 21 21 23 22 25 13      <== numerical data
22 17 15 25 27 32 26 32 29 29 25

The precedent ‘>’ can be omitted and the trailing ‘>’ will be removed automatically.

— Bio::FastaNumericFormat.new(entry)

Stores the comment and the list of the numerical data.

— Bio::FastaNumericFormat#definition

The comment line of the FASTA formatted data.

Constant Summary

Constants inherited from FastaFormat

Bio::FastaFormat::DELIMITER, Bio::FastaFormat::DELIMITER_OVERRUN

Instance Attribute Summary

Attributes inherited from FastaFormat

#definition, #entry_overrun

Instance Method Summary collapse

Methods inherited from FastaFormat

#aalen, #aaseq, #acc_version, #accession, #accessions, #comment, #entry, #entry_id, #gi, #identifiers, #initialize, #locus, #nalen, #naseq, #query, #seq

Methods inherited from DB

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

Constructor Details

This class inherits a constructor from Bio::FastaFormat

Instance Method Details

#[](n) ⇒ Object

Returns the n-th element. If out of range, returns nil.


Arguments:

  • (required) n: (Integer) position

Returns

(Integer or nil) the value



94
95
96
# File 'lib/bio/db/fasta/qual.rb', line 94

def [](n)
  data[n]
end

#dataObject

Returns the list of the numerical data (typically the quality score of its corresponding sequence) as an Array.


Returns

(Array containing Integer) numbers



64
65
66
67
68
69
# File 'lib/bio/db/fasta/qual.rb', line 64

def data
  unless defined?(@list)
    @list = @data.strip.split(/\s+/).map {|x| x.to_i}
  end
  @list
end

#eachObject

Yields on each elements of the numerical data.


Yields

(Integer) a numerical data element

Returns

(undefined)



83
84
85
86
87
# File 'lib/bio/db/fasta/qual.rb', line 83

def each
  data.each do |x|
    yield x
  end
end

#lengthObject

Returns the number of elements in the numerical data, which will be the same of its corresponding sequence length.


Returns

(Integer) the number of elements



75
76
77
# File 'lib/bio/db/fasta/qual.rb', line 75

def length
  data.length
end

#to_biosequenceObject Also known as: to_seq

Returns the data as a Bio::Sequence object. In the returned sequence object, the length of the sequence is zero, and the numeric data is stored to the Bio::Sequence#quality_scores attirbute.

Because the meaning of the numeric data is unclear, Bio::Sequence#quality_score_type is not set by default.

Note: If you modify the returned Bio::Sequence object, the sequence or definition in this FastaNumericFormat object might also be changed (but not always be changed) because of efficiency.


Arguments:

Returns

(Bio::Sequence) sequence object



114
115
116
117
118
119
# File 'lib/bio/db/fasta/qual.rb', line 114

def to_biosequence
  s = Bio::Sequence.adapter(self,
                            Bio::Sequence::Adapter::FastaNumericFormat)
  s.seq = Bio::Sequence::Generic.new('')
  s
end