summaryrefslogtreecommitdiff
path: root/scripts/pa-lazar-padel-model.rb
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/pa-lazar-padel-model.rb')
-rwxr-xr-xscripts/pa-lazar-padel-model.rb25
1 files changed, 25 insertions, 0 deletions
diff --git a/scripts/pa-lazar-padel-model.rb b/scripts/pa-lazar-padel-model.rb
new file mode 100755
index 0000000..ee6e2f8
--- /dev/null
+++ b/scripts/pa-lazar-padel-model.rb
@@ -0,0 +1,25 @@
+#!/usr/bin/env ruby
+
+model_descriptor_names = File.read("10-fold-crossvalidations/lazar-padel/independent_variable_names").chomp.split(",").collect{|d| d.gsub('"','')}
+model_descriptors = File.readlines("10-fold-crossvalidations/lazar-padel/independent_variables").collect{|d| d.chomp.split(",")}
+model_means = File.read("10-fold-crossvalidations/lazar-padel/means").chomp.split(",").collect{|d| d.to_f}
+model_stdev = File.read("10-fold-crossvalidations/lazar-padel/standard_deviations").chomp.split(",").collect{|d| d.to_f}
+
+pa_descriptors = File.readlines("pyrrolizidine-alkaloids/PA-Padel-2D_m2.csv")
+pa_descriptor_names = pa_descriptors.shift.split(";")
+pa_descriptors = pa_descriptors.collect{|d| d.chomp.split(";").collect{|i| i.sub(',','.').to_f}}
+
+common_descriptor_names = model_descriptor_names & pa_descriptor_names
+common_descriptors_model_idx = common_descriptor_names.collect{ |n| model_descriptor_names.index n }
+common_descriptors_pa_idx = common_descriptor_names.collect{ |n| pa_descriptor_names.index n }
+
+new_model_descriptors = model_descriptors.collect { |row| common_descriptors_model_idx.collect{|i| row[i]} }
+new_pa_descriptors = pa_descriptors.collect { |row| common_descriptors_pa_idx.collect{|i| row[i] } }
+new_means = common_descriptors_model_idx.collect{|i| model_means[i]}
+new_stdev = common_descriptors_model_idx.collect{|i| model_stdev[i]}
+
+new_pa_descriptors = new_pa_descriptors.collect{|row| row.collect{|d| i = row.index(d); (d-new_means[i])/new_stdev[i]}}
+
+File.open("10-fold-crossvalidations/lazar-pa-padel/independent_variable_names","w+") {|f| f.puts common_descriptor_names.join(",")}
+File.open("10-fold-crossvalidations/lazar-pa-padel/independent_variables","w+") {|f| f.puts new_model_descriptors.collect{|d| d.join(",")}.join("\n")}
+File.open("10-fold-crossvalidations/lazar-pa-padel/pa_independent_variables","w+") {|f| f.puts new_pa_descriptors.collect{|d| d.join(",")}.join("\n")}