diff options
author | Christoph Helma <helma@in-silico.ch> | 2018-08-08 18:46:55 +0200 |
---|---|---|
committer | Christoph Helma <helma@in-silico.ch> | 2018-08-08 18:46:55 +0200 |
commit | 925c47003d55a8ad5b0e5a86a5d698954da88f31 (patch) | |
tree | 309815e8ccecc7cbf593402324e9645b95026dc8 /scripts/kazius2csv.rb | |
parent | 97e65d06feba57b45f55c8b83549b8b5350d3e7a (diff) |
merged dataset
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 + |