diff options
Diffstat (limited to 'scripts/kazius2csv.rb')
-rwxr-xr-x | scripts/kazius2csv.rb | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/scripts/kazius2csv.rb b/scripts/kazius2csv.rb new file mode 100755 index 0000000..ed335b2 --- /dev/null +++ b/scripts/kazius2csv.rb @@ -0,0 +1,42 @@ +#!/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 "> <Ames test categorisation>" + 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 + |