From: martinahansen Date: Thu, 19 Dec 2013 12:35:36 +0000 (+0000) Subject: fixed missing field problem in analyze_vals X-Git-Url: https://git.donarmstrong.com/?p=biopieces.git;a=commitdiff_plain;h=bfab657c8174eb352504848abb4395bb3c065f7f fixed missing field problem in analyze_vals git-svn-id: http://biopieces.googlecode.com/svn/trunk@2282 74ccb610-7750-0410-82ae-013aeee3265d --- 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]