X-Git-Url: https://git.donarmstrong.com/?p=biopieces.git;a=blobdiff_plain;f=bp_bin%2Fanalyze_vals;fp=bp_bin%2Fanalyze_vals;h=40dd0e0239737e08b16eb75d815f6445a8ed7a72;hp=951f321f808e7b4e907d11d791e29c37cb1d64c2;hb=bfab657c8174eb352504848abb4395bb3c065f7f;hpb=9b496922d2a49a9c285b4755dfd4d512b83b0eb5 diff --git a/bp_bin/analyze_vals b/bp_bin/analyze_vals index 951f321..40dd0e0 100755 --- a/bp_bin/analyze_vals +++ b/bp_bin/analyze_vals @@ -76,22 +76,24 @@ Biopieces.open(options[:stream_in], options[:stream_out]) do |input, output| key = key.to_sym value = record[key] - stats[key][:sum] ||= 0 - stats[key][:count] ||= 0 - - if num = to_number(value) - stats[key][:min] = min(stats[key][:min], num) - stats[key][:max] = max(stats[key][:max], num) - stats[key][:type] = :numeric - stats[key][:sum] += num - else - stats[key][:min] = min(stats[key][:min], value.length) - stats[key][:max] = max(stats[key][:max], value.length) - stats[key][:type] = :alphabetic - stats[key][:sum] += value.length + if value + stats[key][:sum] ||= 0 + stats[key][:count] ||= 0 + + if num = to_number(value) + stats[key][:min] = min(stats[key][:min], num) + stats[key][:max] = max(stats[key][:max], num) + stats[key][:type] = :numeric + stats[key][:sum] += num + else + stats[key][:min] = min(stats[key][:min], value.length) + stats[key][:max] = max(stats[key][:max], value.length) + stats[key][:type] = :alphabetic + stats[key][:sum] += value.length + end + + stats[key][:count] += 1 end - - stats[key][:count] += 1 end output.puts record unless options[:no_stream]