#!/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")}