From 76144341d800cec80cbb063b8c1acf6da19fad5d Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Fri, 13 Jul 2012 17:12:44 +0200 Subject: csv handling of empty cells fixed --- lib/dataset.rb | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'lib/dataset.rb') diff --git a/lib/dataset.rb b/lib/dataset.rb index a6c22d0..e0f2d5a 100644 --- a/lib/dataset.rb +++ b/lib/dataset.rb @@ -18,6 +18,15 @@ module OpenTox OpenTox::Task.new(uri).wait if URI.task?(uri) and wait end + def to_csv + CSV.generate do |csv| + csv << ["SMILES"] + @features.collect{|f| f.title} + @compounds.each_with_index do |c,i| + csv << [c.to_smiles] + @data_entries[i] + end + end + end + def get super @features = [] @@ -47,9 +56,9 @@ module OpenTox pattern [:values, RDF::OT.value, :value] end values = query.execute(@rdf).sort_by{|s| s.feature_idx}.collect do |s| - numeric_features[s.feature_idx] ? s.value.to_s.to_f : s.value.to_s + (numeric_features[s.feature_idx] and s.value.to_s != "") ? s.value.to_s.to_f : s.value.to_s end - @data_entries << values + @data_entries << values.collect{|v| v == "" ? nil : v} end else query = RDF::Query.new do @@ -71,7 +80,7 @@ module OpenTox pattern [:values, RDF::OT.value, :value] end value = query.execute(@rdf).first.value.to_s - value = value.to_f if numeric_features[i] + value = value.to_f if numeric_features[i] and !value.nil? values << value end @data_entries << values -- cgit v1.2.3