summaryrefslogtreecommitdiff
path: root/scripts/kazius2csv.rb
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/kazius2csv.rb')
-rwxr-xr-xscripts/kazius2csv.rb42
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
+