From 7aac1c36369b41501edfc261e4f7ad77dec6b2a1 Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Fri, 21 Jun 2019 10:45:59 +0200 Subject: test_from_csv2 fixed, prefer merged_feature and transformed_feature in to_training_csv --- lib/dataset.rb | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'lib') diff --git a/lib/dataset.rb b/lib/dataset.rb index 596c53c..fb1afd2 100644 --- a/lib/dataset.rb +++ b/lib/dataset.rb @@ -107,7 +107,7 @@ module OpenTox end # Get nominal and numeric merged features - # @return [Array] + # @return [Array] def merged_features features.select{|f| f._type.match("Merged")} end @@ -380,17 +380,20 @@ module OpenTox # @return [String] def to_training_csv - p features - p bioactivity_features + export_features = merged_features + export_features = transformed_bioactivity_features if export_features.empty? + export_features = bioactivity_features if export_features.empty? + export_feature = export_features.first + header = ["Canonical SMILES"] - header << bioactivity_features[0].name + header << bioactivity_features.first.name # use original bioactivity name instead of long merged name csv = [header] substances.each do |substance| nr_activities = values(substance,bioactivity_features.first).size (0..nr_activities-1).each do |n| # new row for each value row = [substance.smiles] - row << values(substance,bioactivity_features[0])[n] + row << values(substance,export_feature)[n] csv << row end end @@ -502,7 +505,7 @@ module OpenTox merged_feature = nil if feature_classes.size == 1 if features.first.kind_of? NominalFeature - merged_feature = MergedNominalBioActivity.find_or_create_by(:name => features.collect{|f| f.name}.uniq.join(", ") + " merged", :original_feature_ids => features.collect{|f| f.id}, :transformations => value_maps) + merged_feature = MergedNominalBioActivity.find_or_create_by(:name => features.collect{|f| f.name}.uniq.join(" and ") + " merged", :original_feature_ids => features.collect{|f| f.id}, :transformations => value_maps) else merged_feature = MergedNumericBioActivity.find_or_create_by(:name => features.collect{|f| f.name} + " merged", :original_feature_ids => features.collect{|f| f.id}) # TODO: regression transformations end -- cgit v1.2.3