diff options
Diffstat (limited to 'lib/toxtree.rb')
-rw-r--r-- | lib/toxtree.rb | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/lib/toxtree.rb b/lib/toxtree.rb index f395968..3677071 100644 --- a/lib/toxtree.rb +++ b/lib/toxtree.rb @@ -72,14 +72,24 @@ class Toxtree rules.each do |name| `cd #{File.join(File.dirname(__FILE__),"..","Toxtree-v2.6.13","Toxtree")}; java -jar Toxtree-2.6.13.jar -i #{input.path} -m #{RULES[name][:java_class]} -n -o #{output}` prediction = CSV.read(output) - header = prediction.shift - header.pop # remove last empty element - prediction.each do |line| - p = {"rule" => name} - header.each_with_index do |h,i| - p[h] = line[i] + unless prediction.empty? + header = prediction.shift + header.pop # remove last empty element + smiles.each do |smi| + line = prediction.flatten.include?(smi) ? prediction.find{|array| array[0 ]== smi} : ["nil","nil","nil","nil"] + p = {"rule" => name} + header.each_with_index do |h,i| + p[h] = line[i] + end + predictions << p + end + else + smiles.each do |smi| + p = {"rule" => name} + p["SMILES"] = smi + p[name] = nil + predictions << p end - predictions << p end end ensure |