summaryrefslogtreecommitdiff
path: root/scripts/results.rb
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/results.rb')
-rwxr-xr-xscripts/results.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/scripts/results.rb b/scripts/results.rb
new file mode 100755
index 0000000..1a36278
--- /dev/null
+++ b/scripts/results.rb
@@ -0,0 +1,36 @@
+#!/usr/bin/env ruby
+require 'json'
+
+result = {}
+ARGV.each do |f|
+ fname = File.basename(f,".json")
+ program,algo = fname.split('-')
+ case program
+ when "tensorflow"
+ algo == "all" ? algo = "without feature selection" : algo = "with feature selection"
+ when "lazar"
+ algo = "high-confidence" if algo == "high"
+ if algo == "padel"
+ algo = "PaDEL"
+ fname.match("high") ? algo += " high-confidence" : algo += " all"
+ end
+ end
+ result[program] ||= {}
+ result[program][algo] = JSON.parse(File.read(f)).collect{|k,v| [k,v.round(2)]}.to_h
+end
+
+out = {:programs => []}
+result.keys.each do |prog|
+ out[:programs] << {:name => prog, :algos => []}
+ result[prog].keys.each do |algo|
+ r = result[prog][algo].dup
+ result[prog][algo].each do |k,v|
+ r[k+"_perc"] = (v*100).round
+ end
+ r[:name] = algo
+ r[:abbrev] = prog+"-"+algo
+ out[:programs].last[:algos] << r
+ end
+end
+
+puts out.to_json