#!/usr/bin/env ruby mp2d = {} File.readlines(File.join("pyrrolizidine-alkaloids","pa-mp2d")).each do |line| items = line.chomp.split(',') smi = items.shift mp2d[smi] = items end fps = [] mp2d.each do |smi,fp| fps += fp end fps = fps.sort.uniq puts (["Canonical SMILES"]+fps).join(",") mp2d.each do |smi,fp| print smi fps.each do |f| fp.include?(f) ? print(",1") : print(",0") end puts end