-
-require 'biopieces'
-
-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
-
- self[:SCORES].chomp! ";"
+require 'maasha/biopieces'
+require 'maasha/seq'
+require 'narray'
+
+options = Biopieces.options_parse(ARGV)
+
+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("; ")