summaryrefslogtreecommitdiff
path: root/scripts/lazar-cv-predictions.rb
diff options
context:
space:
mode:
authorChristoph Helma <helma@in-silico.ch>2021-02-22 23:43:40 +0100
committerChristoph Helma <helma@in-silico.ch>2021-02-22 23:43:40 +0100
commiteca6889b784583bc0e9fb338d7b53d4c9b530dc4 (patch)
treefbb7c6d42ac61964c2f4e70f23e081d691b7d50c /scripts/lazar-cv-predictions.rb
parented83d4c5347ebf43b2de55782b290b66bada4561 (diff)
new scripts and files added
Diffstat (limited to 'scripts/lazar-cv-predictions.rb')
-rwxr-xr-xscripts/lazar-cv-predictions.rb31
1 files changed, 31 insertions, 0 deletions
diff --git a/scripts/lazar-cv-predictions.rb b/scripts/lazar-cv-predictions.rb
new file mode 100755
index 0000000..9236bec
--- /dev/null
+++ b/scripts/lazar-cv-predictions.rb
@@ -0,0 +1,31 @@
+#!/usr/bin/env ruby
+
+predictions = {}
+minsim = ARGV[1].to_f
+minsim ||= 0
+Dir[File.join(ARGV[0],"crossvalidation","*","test","predictions")].each do |pred|
+ File.readlines(pred).each_with_index do |l,i|
+ smi,m,pred,pa,pi,maxsim,n = l.split(",")
+ predictions[smi] = [pred,maxsim.to_f]
+ end
+end
+lines = File.readlines(File.join("mutagenicity","mutagenicity.csv"))
+lines.shift
+lines.each do |line|
+ smi,exp = line.chomp.split(",")
+ if predictions[smi]
+ if predictions[smi].first == "1" and exp == "1" and predictions[smi].last >= minsim
+ puts [smi,"TP"].join(",")
+ elsif predictions[smi].first == "0" and exp == "0" and predictions[smi].last >= minsim
+ puts [smi,"TN"].join(",")
+ elsif predictions[smi].first == "1" and exp == "0" and predictions[smi].last >= minsim
+ puts [smi,"FP"].join(",")
+ elsif predictions[smi].first == "0" and exp == "1" and predictions[smi].last >= minsim
+ puts [smi,"FN"].join(",")
+ else
+ puts [smi,"NA"].join(",")
+ end
+ else
+ puts [smi,"NA"].join(",")
+ end
+end