Class: Bio::Sequence::Format::Formatter::Fastq
- Inherits:
-
Bio::Sequence::Format::FormatterBase
- Object
- Bio::Sequence::Format::FormatterBase
- Bio::Sequence::Format::Formatter::Fastq
- Defined in:
- lib/bio/db/fastq/format_fastq.rb
Overview
INTERNAL USE ONLY, YOU SHOULD NOT USE THIS CLASS.
FASTQ format output class for Bio::Sequence.
The default FASTQ format is fastq-sanger.
Direct Known Subclasses
Instance Method Summary collapse
-
#initialize ⇒ Fastq
constructor
INTERNAL USE ONLY, YOU SHOULD NOT CALL THIS METHOD.
-
#output ⇒ Object
INTERNAL USE ONLY, YOU SHOULD NOT CALL THIS METHOD.
Methods inherited from Bio::Sequence::Format::FormatterBase
Constructor Details
#initialize ⇒ Fastq
INTERNAL USE ONLY, YOU SHOULD NOT CALL THIS METHOD.
Creates a new Fasta format generater object from the sequence.
Arguments:
-
sequence: Bio::Sequence object
-
(optional) :repeat_title => (true or false) if true, repeating title in the “+” line; if not true, “+” only (default false)
-
(optional) :width => width: (Fixnum) width to wrap sequence and quality lines; nil to prevent wrapping (default nil)
-
(optional) :title => title: (String) completely replaces title line with the title (default nil)
-
(optional) :default_score => score: (Integer) default score for bases that have no valid quality scores or error probabilities; false or nil means the lowest score, true means the highest score (default nil)
31 |
# File 'lib/bio/db/fastq/format_fastq.rb', line 31 def initialize; end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Bio::Sequence::Format::FormatterBase
Instance Method Details
#output ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/bio/db/fastq/format_fastq.rb', line 43 def output title = @options[:title] width = @options.has_key?(:width) ? @options[:width] : nil seq = @sequence.seq.to_s entry_id = @sequence.entry_id || "#{@sequence.primary_accession}.#{@sequence.sequence_version}" definition = @sequence.definition unless title then title = definition.to_s unless title[0, entry_id.length] == entry_id and /\s/ =~ title[entry_id.length, 1].to_s then title = "#{entry_id} #{title}" end end title2 = @options[:repeat_title] ? title : '' qstr = fastq_quality_string(seq, @options[:default_score]) "@#{title}\n" + if width then seq.gsub(Regexp.new(".{1,#{width}}"), "\\0\n") else seq + "\n" end + "+#{title2}\n" + if width then qstr.gsub(Regexp.new(".{1,#{width}}"), "\\0\n") else qstr + "\n" end end |