#!/usr/bin/env ruby predictions = {} algos = [] ARGV.each do |f| name = f.sub("pyrrolizidine-alkaloids/","").sub("/","-").sub(".csv","") algos << name File.readlines(f).each do |l| smi,pred = l.chomp.split(",") pred ||= "NA" pred = nil if pred == "NA" predictions[smi] ||= {} predictions[smi][name] = pred end end puts (["Canonical SMILES"] + algos).join(",") predictions.each do |smi,pred| puts ([smi]+algos.collect{|a| pred[a]}).join(",") end