#!/usr/bin/env ruby require_relative '../../lazar/lib/lazar.rb' sdfs = [] results = [] read_result = false @sdf = "" File.readlines(ARGV[0]).each do |line| if line.match %r{\$\$\$\$} @sdf << line sdfs << @sdf @sdf = "" elsif line.match "> " read_result = true else #p line if read_result if line.chomp == "mutagen" results << 1 elsif line.chomp == "nonmutagen" results << 0 else results << line.chomp end read_result = false else @sdf << line end end end obconversion = OpenBabel::OBConversion.new obconversion.set_in_and_out_formats "sdf","can" obmol = OpenBabel::OBMol.new puts "SMILES,Activity" sdfs.each_with_index do |sdf,i| obconversion.read_string obmol,sdf s = obconversion.write_string(obmol).split.first puts [s,results[i]].join "," end