summaryrefslogtreecommitdiff
path: root/scripts/sa37.rb
blob: e628f5122c44649d2eef49c6a381ff8021dd39c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/env ruby
group_data = File.readlines(ARGV[0]).collect{|l| l.chomp.split(",")}
sa37 = File.readlines(ARGV[1]).collect{|l| l.chomp.split(",")}
group_names = group_data.shift
group_names.shift
sa37.shift

groups = {}
group_data.each do |d|
  smi = d.shift
  groups[smi] ||= []
  d.each_with_index do |v,i|
    groups[smi] << group_names[i] if v == "1"
  end
end

mut = {}
n = {}
sa37.each do |pred|
  smi = pred.shift
  group_names.each do |g|
    mut[g] ||= 0
    n[g] ||= 0
    if groups[smi].include? g
      n[g]+=1
      mut[g]+=1 if pred[0] == "1"
    end
  end
end

perc = {}
mut.each do |g,m|
  perc[g] = (100.0*m/n[g]).round
end
p perc