#!/usr/bin/env ruby dir = ARGV[0] fp = [] endpoint_name = File.read(File.join dir,"dependent_variable_name").chomp endpoints = File.open(File.join dir,"dependent_variables").readlines.collect{|v| v.to_i} endpoint_values = File.open(File.join dir,"dependent_variable_values").readlines smiles = [] File.open(File.join dir,"independent_variables").each_line do |l| l = l.chomp.split(",") smiles << l.shift fp << l end fp_names = fp.flatten.sort.uniq header = ["Canonical SMILES"]+fp_names+[endpoint_name] puts header.join(",") (0..smiles.size-1).each do |i| line = [smiles[i]]+fp_names.collect{|n| fp[i].include?(n) ? 1 : 0}+[endpoint_values[endpoints[i]]] puts line.join(",") end