Sha256: 7c45baf3430284f4616b02160033d20e2fcf46df1d6de5a40539221115c634de

Contents?: true

Size: 1009 Bytes

Versions: 28

Compression:

Stored size: 1009 Bytes

Contents

#!/usr/bin/env ruby

require 'json'

class Array
  
  def sum
    r=0
    each do |e|
      r+=e
    end
    return r
  end
  
end

class ScbiStats
  
  def initialize(values)
    
    @values=values
    
    
  end
  
  def get_window_value(i,window_size=10)
    start_pos=[0,i-window_size].max
    
    end_pos=[@values.length,i+window_size].min
    # puts "#{@values[start_pos..end_pos]} => #{@values[start_pos..end_pos].sum}"
    return @values[start_pos..end_pos].sum
  end
  
  def fat_mode(window_size=10)
    
    fat_modes=[]
    max_fat=0
    
    @values.length.times do |i|
      fat=get_window_value(i)
      
      fat_modes << fat
      
      if fat_modes[max_fat] < fat
        max_fat=i
      end
      
    end
    # puts fat_modes
    return max_fat
    # puts @values.length, @fat_modes.length
  end
  
end


# istat=JSON.parse(File.read('initial_stats.json'))
# 
# x=[]
# istat['qv'].each do |qv|
#   x<< qv['tot'].to_i
#   
# end
# # Usage:
# 
# s=ScbiStats.new(x)
# 
# puts s.fat_mode

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
seqtrimnext-2.0.68 lib/seqtrimnext/classes/scbi_stats.rb
seqtrimnext-2.0.66 lib/seqtrimnext/classes/scbi_stats.rb
seqtrimnext-2.0.62 lib/seqtrimnext/classes/scbi_stats.rb
seqtrimnext-2.0.61 lib/seqtrimnext/classes/scbi_stats.rb
seqtrimnext-2.0.60 lib/seqtrimnext/classes/scbi_stats.rb
seqtrimnext-2.0.59 lib/seqtrimnext/classes/scbi_stats.rb
seqtrimnext-2.0.57 lib/seqtrimnext/classes/scbi_stats.rb
seqtrimnext-2.0.56 lib/seqtrimnext/classes/scbi_stats.rb
seqtrimnext-2.0.55 lib/seqtrimnext/classes/scbi_stats.rb
seqtrimnext-2.0.54 lib/seqtrimnext/classes/scbi_stats.rb
seqtrimnext-2.0.52 lib/seqtrimnext/classes/scbi_stats.rb
seqtrimnext-2.0.51 lib/seqtrimnext/classes/scbi_stats.rb
seqtrimnext-2.0.50 lib/seqtrimnext/classes/scbi_stats.rb
seqtrimnext-2.0.49 lib/seqtrimnext/classes/scbi_stats.rb
seqtrimnext-2.0.48 lib/seqtrimnext/classes/scbi_stats.rb
seqtrimnext-2.0.46 lib/seqtrimnext/classes/scbi_stats.rb
seqtrimnext-2.0.45 lib/seqtrimnext/classes/scbi_stats.rb
seqtrimnext-2.0.42 lib/seqtrimnext/classes/scbi_stats.rb
seqtrimnext-2.0.41 lib/seqtrimnext/classes/scbi_stats.rb
seqtrimnext-2.0.39 lib/seqtrimnext/classes/scbi_stats.rb