summaryrefslogtreecommitdiff
path: root/application.rb
diff options
context:
space:
mode:
Diffstat (limited to 'application.rb')
-rw-r--r--application.rb38
1 files changed, 5 insertions, 33 deletions
diff --git a/application.rb b/application.rb
index 57503db..42389f2 100644
--- a/application.rb
+++ b/application.rb
@@ -530,20 +530,7 @@ post '/predict/?' do # post chemical name to model
prediction_dataset = OpenTox::LazarPrediction.find(prediction_dataset_uri, @subjectid)
if prediction_dataset.metadata[OT.hasSource].match(/dataset/)
- if model.name.downcase.include? "ptd50"
- mw = calc_mw(@compound.uri)
- td50 = ptd50_to_td50(prediction_dataset.measured_activities(@compound).first.to_f, mw)
- prediction_trans = "TD50: #{td50}"
- elsif model.name.downcase.include? "loael"
- if model.name.downcase.include? "mol"
- mw = calc_mw(@compound.uri)
- mg = logmmol_to_mg(prediction_dataset.measured_activities(@compound).first.to_f, mw)
- prediction_trans = "mg/kg bw/day: #{mg}"
- elsif model.name.downcase.include? "mg"
- mg = logmg_to_mg(prediction_dataset.measured_activities(@compound).first.to_f)
- prediction_trans = "mg/kg bw/day: #{mg}"
- end
- end
+ prediction_trans = transform(prediction_dataset.measured_activities(@compound).first.to_f, @compound.uri, model.name.downcase, false)
if prediction_trans.nil?
@predictions << {
:title => model.name,
@@ -552,8 +539,7 @@ post '/predict/?' do # post chemical name to model
else
@predictions << {
:title => model.name,
- :measured_activities => prediction_dataset.measured_activities(@compound),
- :prediction_transformed => prediction_trans
+ :measured_activities => "#{round_to(prediction_dataset.measured_activities(@compound).first, 4)}, \n#{prediction_trans}"
}
end
else
@@ -570,20 +556,7 @@ post '/predict/?' do # post chemical name to model
:error => "Not enough similar compounds in training dataset."
}
else
- if model.name.downcase.include? "ptd50"
- mw = calc_mw(@compound.uri)
- td50 = ptd50_to_td50(prediction_dataset.value(@compound), mw)
- prediction_trans = "TD50: #{td50}"
- elsif model.name.downcase.include? "loael"
- if model.name.downcase.include? "mol"
- mw = calc_mw(@compound.uri)
- mg = logmmol_to_mg(prediction_dataset.value(@compound), mw)
- prediction_trans = "mg/kg bw/day: #{mg}"
- elsif model.name.downcase.include? "mg"
- mg = logmg_to_mg(prediction_dataset.value(@compound))
- prediction_trans = "mg/kg bw/day: #{mg}"
- end
- end
+ prediction_trans = transform(prediction_dataset.value(@compound), @compound.uri, model.name.downcase, false)
if prediction_trans.nil?
@predictions << {
:title => model.name,
@@ -595,9 +568,8 @@ post '/predict/?' do # post chemical name to model
@predictions << {
:title => model.name,
:model_uri => model.uri,
- :prediction => prediction_dataset.value(@compound),
- :confidence => prediction_dataset.confidence(@compound),
- :prediction_transformed => prediction_trans
+ :prediction => "#{round_to(prediction_dataset.value(@compound), 4)}, \n#{prediction_trans}",
+ :confidence => prediction_dataset.confidence(@compound)
}
end
end