diff options
author | Christoph Helma <helma@in-silico.ch> | 2019-06-21 10:45:59 +0200 |
---|---|---|
committer | Christoph Helma <helma@in-silico.ch> | 2019-06-21 10:45:59 +0200 |
commit | 7aac1c36369b41501edfc261e4f7ad77dec6b2a1 (patch) | |
tree | 19f8578f5cd9009178e7ab7becaaf8c91a2e4703 /lib/dataset.rb | |
parent | 455da06aa6459da0d25b286ca6cb866ff64c4c34 (diff) |
test_from_csv2 fixed, prefer merged_feature and transformed_feature in to_training_csv
Diffstat (limited to 'lib/dataset.rb')
-rw-r--r-- | lib/dataset.rb | 15 |
1 files changed, 9 insertions, 6 deletions
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<OpenTox::NominalLazarPrediction,OpenTox::NumericLazarPrediction>] + # @return [Array<OpenTox::MergedNominalBioActivity,OpenTox::MergedNumericBioActivity>] 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 |