class Bio::Sequence::Format::Formatter::Fastq_sanger
INTERNAL USE ONLY, YOU SHOULD NOT USE THIS CLASS.
FASTQ format output class for Bio::Sequence
.
The default FASTQ format is fastq-sanger.
Public Class Methods
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)
# File lib/bio/db/fastq/format_fastq.rb 31 def initialize; end
Public Instance Methods
INTERNAL USE ONLY, YOU SHOULD NOT CALL THIS METHOD.
Output the FASTQ format string of the sequence.
Currently, this method is used in Bio::Sequence#output
like so,
s = Bio::Sequence.new('atgc') puts s.output(:fastq_sanger)
- Returns
-
String object
# File lib/bio/db/fastq/format_fastq.rb 43 def output 44 title = @options[:title] 45 width = @options.has_key?(:width) ? @options[:width] : nil 46 seq = @sequence.seq.to_s 47 entry_id = @sequence.entry_id || 48 "#{@sequence.primary_accession}.#{@sequence.sequence_version}" 49 definition = @sequence.definition 50 unless title then 51 title = definition.to_s 52 unless title[0, entry_id.length] == entry_id and 53 /\s/ =~ title[entry_id.length, 1].to_s then 54 title = "#{entry_id} #{title}" 55 end 56 end 57 title2 = @options[:repeat_title] ? title : '' 58 qstr = fastq_quality_string(seq, @options[:default_score]) 59 60 "@#{title}\n" + 61 if width then 62 seq.gsub(Regexp.new(".{1,#{width}}"), "\\0\n") 63 else 64 seq + "\n" 65 end + 66 "+#{title2}\n" + 67 if width then 68 qstr.gsub(Regexp.new(".{1,#{width}}"), "\\0\n") 69 else 70 qstr + "\n" 71 end 72 end