diff options
author | Andreas Maunz <andreas@maunz.de> | 2012-04-12 11:52:16 +0200 |
---|---|---|
committer | Andreas Maunz <andreas@maunz.de> | 2012-04-12 11:52:16 +0200 |
commit | 9ceed9a7598fbc45946f50690aaa6b3ca7993516 (patch) | |
tree | 8ddd567262661b19525eec28dc4d564392f4d3eb | |
parent | 9514a4647127c18bfb40f0008055e7aabd5ba607 (diff) |
Major bug fixed: order of compounds was unsure in transform.rb
-rw-r--r-- | lib/model.rb | 5 | ||||
-rw-r--r-- | lib/transform.rb | 6 |
2 files changed, 7 insertions, 4 deletions
diff --git a/lib/model.rb b/lib/model.rb index b3de1a3..8d7e4f6 100644 --- a/lib/model.rb +++ b/lib/model.rb @@ -103,7 +103,7 @@ module OpenTox include Model - attr_accessor :compound, :prediction_dataset, :features, :effects, :activities, :p_values, :fingerprints, :feature_calculation_algorithm, :similarity_algorithm, :prediction_algorithm, :subjectid, :value_map, :compound_fingerprints, :feature_calculation_algorithm, :neighbors + attr_accessor :compound, :prediction_dataset, :features, :effects, :activities, :p_values, :fingerprints, :feature_calculation_algorithm, :similarity_algorithm, :prediction_algorithm, :subjectid, :value_map, :compound_fingerprints, :feature_calculation_algorithm, :neighbors, :compounds def initialize(uri=nil) if uri @@ -169,12 +169,13 @@ module OpenTox lazar.prediction_algorithm = hash["prediction_algorithm"] if hash["prediction_algorithm"] lazar.subjectid = hash["subjectid"] if hash["subjectid"] lazar.value_map = hash["value_map"] if hash["value_map"] + lazar.compounds = hash["compounds"] if hash["compounds"] lazar end def to_json - Yajl::Encoder.encode({:uri => @uri,:metadata => @metadata, :compound => @compound, :prediction_dataset => @prediction_dataset, :features => @features, :effects => @effects, :activities => @activities, :p_values => @p_values, :fingerprints => @fingerprints, :feature_calculation_algorithm => @feature_calculation_algorithm, :similarity_algorithm => @similarity_algorithm, :prediction_algorithm => @prediction_algorithm, :subjectid => @subjectid, :value_map => @value_map}) + Yajl::Encoder.encode({:uri => @uri,:metadata => @metadata, :compound => @compound, :prediction_dataset => @prediction_dataset, :features => @features, :effects => @effects, :activities => @activities, :p_values => @p_values, :fingerprints => @fingerprints, :feature_calculation_algorithm => @feature_calculation_algorithm, :similarity_algorithm => @similarity_algorithm, :prediction_algorithm => @prediction_algorithm, :subjectid => @subjectid, :value_map => @value_map, :compounds => @compounds}) end def run( params, accept_header=nil, waiting_task=nil ) diff --git a/lib/transform.rb b/lib/transform.rb index cb530a3..8632f6c 100644 --- a/lib/transform.rb +++ b/lib/transform.rb @@ -490,8 +490,10 @@ module OpenTox @cmpds = []; @fps = []; @acts = []; @n_prop = []; @q_prop = [] - @model.fingerprints.each { |fp| - cmpd = fp[0]; fp = fp[1] + # Major BUG! Must loop over @model.compounds, hash is unordered! + # @model.fingerprints.each + @model.compounds.each { |cmpd| + fp = @model.fingerprints[cmpd] if @model.activities[cmpd] # row good acts = @model.activities[cmpd]; @acts += acts LOGGER.debug "#{acts.size} activities for '#{cmpd}'" if acts.size > 1 |