X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=bp_bin%2Fscores_to_dec;h=b69f37c950fecc3afa0c24a494dd17283b100fd8;hb=5de6112b70b59420b245ce636a8b2e3c90acbe00;hp=c5e7c1e2361788f51471f99886d11a400ca33948;hpb=494dc53ebd515b1e3e9b91bbebf43059899ca4ce;p=biopieces.git diff --git a/bp_bin/scores_to_dec b/bp_bin/scores_to_dec index c5e7c1e..b69f37c 100755 --- a/bp_bin/scores_to_dec +++ b/bp_bin/scores_to_dec @@ -28,38 +28,24 @@ # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - require 'maasha/biopieces' +require 'maasha/seq' +require 'narray' -ILLUMINA_BASE = 64 - -# Expading class Hash with possibly evil monkey patch. -class Hash - # Method to convert scores from ASCII encode string to - # a semi-colon seperated string of decimal values. - def scores2dec! - if self.has_key? :SCORES - self[:SCORES].gsub! /./ do |score| - score = (score.ord - ILLUMINA_BASE).to_s + ";" - end +options = Biopieces.options_parse(ARGV) - self[:SCORES].chomp! ";" +Biopieces.open(options[:stream_in], options[:stream_out]) do |input, output| + input.each_record do |record| + if record[:SCORES] + na = NArray.to_na(record[:SCORES], "byte") + na -= Seq::SCORE_BASE + record[:SCORES] = na.to_a.join("; ") end - self + output.puts record end end -casts = [] - -bp = Biopieces.new - -options = bp.parse(ARGV, casts) - -bp.each_record do |record| - bp.puts record.scores2dec! -end - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<