summaryrefslogtreecommitdiff
path: root/scripts/pa-lazar-padel-model.rb
blob: ee6e2f89b313e268821de2a8042fe6646f1cad74 (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
#!/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")}