summaryrefslogtreecommitdiff
path: root/scripts/sa37.rb
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/sa37.rb')
-rwxr-xr-xscripts/sa37.rb35
1 files changed, 35 insertions, 0 deletions
diff --git a/scripts/sa37.rb b/scripts/sa37.rb
new file mode 100755
index 0000000..e628f51
--- /dev/null
+++ b/scripts/sa37.rb
@@ -0,0 +1,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