summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgebele <gebele@in-silico.ch>2016-12-20 16:25:27 +0000
committergebele <gebele@in-silico.ch>2016-12-20 16:25:27 +0000
commitcb2ad5835eae10c85ee426102b2a9bf165c5c848 (patch)
treebd7703fbd9664098842255630e96d52bb1adebf8
parent55bf06381a42c9bb1e1e991e990f5d6e90c8e33e (diff)
result values round by signif(n);set dependent lazar gem version
-rw-r--r--lazar-gui.gemspec2
-rw-r--r--views/model_details.haml30
-rw-r--r--views/neighbors.haml4
-rw-r--r--views/prediction.haml16
4 files changed, 27 insertions, 25 deletions
diff --git a/lazar-gui.gemspec b/lazar-gui.gemspec
index 4d5526b..f37b512 100644
--- a/lazar-gui.gemspec
+++ b/lazar-gui.gemspec
@@ -13,7 +13,7 @@ Gem::Specification.new do |s|
s.rubyforge_project = "lazar-gui"
s.files = `git ls-files`.split("\n")
- s.add_runtime_dependency "lazar"
+ s.add_runtime_dependency "lazar", "= 1.0.0"
s.add_runtime_dependency "gem-path"
s.add_runtime_dependency "sinatra"
s.add_runtime_dependency "rdiscount"
diff --git a/views/model_details.haml b/views/model_details.haml
index 3fa8c8b..5c3aa4f 100644
--- a/views/model_details.haml
+++ b/views/model_details.haml
@@ -10,7 +10,7 @@ Source:
%br
- training_dataset = OpenTox::Dataset.find model.model.training_dataset_id
= "Training compounds:\t"
-= training_dataset.compounds.size
+= training_dataset.data_entries.size
%br
= "Training dataset:\t"
%a{:href=>"#{to("/predict/dataset/#{training_dataset.name}")}"}
@@ -53,18 +53,20 @@ Descriptors:
%br
= "Weighted accuracy:\t"
= cv.weighted_accuracy.round(3) if cv.weighted_accuracy
- %br
- = "True positive rate:\t"
- = cv.true_rate["active"].round(3) if cv.true_rate
- %br
- = "True negative rate:\t"
- = cv.true_rate["inactive"].round(3) if cv.true_rate
- %br
- = "Positive predictive value:\t"
- = cv.predictivity["active"].round(3) if cv.predictivity
- %br
- = "Negative predictive value:\t"
- = cv.predictivity["inactive"].round(3) if cv.predictivity
+ - if cv.true_rate
+ %br
+ = "True positive rate:\t"
+ = cv.true_rate[cv.accept_values[0]].round(3)
+ %br
+ = "True negative rate:\t"
+ = cv.true_rate[cv.accept_values[1]].round(3)
+ - if cv.predictivity
+ %br
+ = "Positive predictive value:\t"
+ = cv.predictivity[cv.accept_values[0]].round(3)
+ %br
+ = "Negative predictive value:\t"
+ = cv.predictivity[cv.accept_values[1]].round(3)
%p
- ["confusion_matrix", "weighted_confusion_matrix"].each_with_index do |matrix,idx|
%b= (idx == 0 ? "Confusion Matrix" : "Weighted Confusion Matrix")
@@ -136,4 +138,4 @@ Descriptors:
/%p.plot
/ %img{:src=>"/corrp#{cv.id}.svg"}
-%br
+%br
diff --git a/views/neighbors.haml b/views/neighbors.haml
index a608c4d..2f0b3d7 100644
--- a/views/neighbors.haml
+++ b/views/neighbors.haml
@@ -88,9 +88,9 @@
/ Measured Activity
%td{:style =>"vertical-align:middle;padding-left:1em;width:20%;white-space:nowrap;"}
- if neighbor[:measurement].is_a?(Array)
- = (type == "Regression") ? neighbor[:measurement].collect{|value| "#{value.delog10} (#{unit})</br>#{c.mmol_to_mg(value.delog10)} #{unit =~ /mmol\/L/ ? "(mg/L)" : "(mg/kg_bw/day)"}"}.join("</br>") : neighbor[:measurement].join(", ")
+ = (type == "Regression") ? neighbor[:measurement].collect{|value| "#{value.delog10.signif(3)} (#{unit})</br>#{c.mmol_to_mg(value.delog10).signif(3)} #{unit =~ /mmol\/L/ ? "(mg/L)" : "(mg/kg_bw/day)"}"}.join("</br>") : neighbor[:measurement].join(", ")
- else
- = (type == "Regression") ? "#{neighbor[:measurement].delog10} (#{unit})</br>#{c.mmol_to_mg(neighbor[:measurement].delog10)} #{(unit =~ /\b(mol\/L)\b/) ? "(mg/L)" : "(mg/kg_bw/day)"}" : neighbor[:measurement]
+ = (type == "Regression") ? "#{neighbor[:measurement].delog10.signif(3)} (#{unit})</br>#{c.mmol_to_mg(neighbor[:measurement].delog10).signif(3)} #{(unit =~ /\b(mol\/L)\b/) ? "(mg/L)" : "(mg/kg_bw/day)"}" : neighbor[:measurement]
/ Similarity = tanimoto
%td{:style =>"vertical-align:middle;padding-left:1em;width:20%;"}
diff --git a/views/prediction.haml b/views/prediction.haml
index 362f006..1b8d38d 100644
--- a/views/prediction.haml
+++ b/views/prediction.haml
@@ -40,9 +40,9 @@
%b Measured activity:
%br
- if prediction[:measurements].is_a?(Array)
- = (type == "Regression") ? prediction[:measurements].collect{|value| "#{value.delog10} (#{unit})</br>#{@compound.mmol_to_mg(value.delog10)} #{unit =~ /mmol\/L/ ? "(mg/L)" : "(mg/kg_bw/day)"}"}.join("</br>") : prediction[:measurements].join(", ")
+ = (type == "Regression") ? prediction[:measurements].collect{|value| "#{value.delog10.signif(3)} (#{unit})</br>#{@compound.mmol_to_mg(value.delog10).signif(3)} #{unit =~ /mmol\/L/ ? "(mg/L)" : "(mg/kg_bw/day)"}"}.join("</br>") : prediction[:measurements].join(", ")
- else
- = (type == "Regression") ? "#{prediction[:measurements].delog10} (#{unit})</br>#{@compound.mmol_to_mg(prediction[:measurements].delog10)} #{(unit =~ /\b(mol\/L)\b/) ? "(mg/L)" : "(mg/kg_bw/day)"}" : prediction[:measurements]
+ = (type == "Regression") ? "#{prediction[:measurements].delog10.signif(3)} (#{unit})</br>#{@compound.mmol_to_mg(prediction[:measurements].delog10).signif(3)} #{(unit =~ /\b(mol\/L)\b/) ? "(mg/L)" : "(mg/kg_bw/day)"}" : prediction[:measurements]
- else
- @dbhit[i] = false
@@ -53,7 +53,7 @@
/ prediction popover
%a.btn.glyphicon.glyphicon-info-sign{:href=>"javascript:void(0)", :title=>"Prediction", :tabindex=>"0", data: {trigger:"focus", toggle:"popover", placement:"left", html:"true", content:"<p>lazar searches the training dataset for similar compounds (neighbors) and calculates the prediction from their experimental activities.<p><b>Classification:</b></br>Majority vote of neighbor activities weighted by similarity.<p><b>Regression:</b></br>Prediction from a local partial least squares regression model with neighbor activities weighted by similarity.<p><a href=\"http://www.frontiersin.org/Journal/10.3389/fphar.2013.00038/abstract\", target=\"_blank\"> Original publication</a>."}}
%br
- = (type == "Regression") ? "#{prediction[:value].delog10} (#{unit})</br>#{@compound.mmol_to_mg(prediction[:value].delog10)} #{(unit =~ /\b(mol\/L)\b/) ? "(mg/L)" : "(mg/kg_bw/day)"}" : prediction[:value]
+ = (type == "Regression") ? "#{prediction[:value].delog10.signif(3)} (#{unit})</br>#{@compound.mmol_to_mg(prediction[:value].delog10).signif(3)} #{(unit =~ /\b(mol\/L)\b/) ? "(mg/L)" : "(mg/kg_bw/day)"}" : prediction[:value]
/ show prediction interval or probability
%p
@@ -63,18 +63,18 @@
/ prediction interval popover
%a.btn.glyphicon.glyphicon-info-sign{:href=>"javascript:void(0)", :title=>"Prediction intervall", :tabindex=>"0", data: {trigger:"focus", toggle:"popover", placement:"left", html:"true", content:"An estimate of prediction uncertainty. The \"real\" value should be with 95% probability within the prediction interval."}}
%br
- = interval.nil? ? "--" : "#{interval[1].delog10} - #{interval[0].delog10} (#{unit})"
+ = interval.nil? ? "--" : "#{interval[1].delog10.signif(3)} - #{interval[0].delog10.signif(3)} (#{unit})"
%br
- = "#{@compound.mmol_to_mg(interval[1].delog10)} - #{@compound.mmol_to_mg(interval[0].delog10)} #{(unit =~ /\b(mol\/L)\b/) ? "(mg/L)" : "(mg/kg_bw/day)"}" if !prediction[:prediction_interval].nil?
+ = "#{@compound.mmol_to_mg(interval[1].delog10).signif(3)} - #{@compound.mmol_to_mg(interval[0].delog10).signif(3)} #{(unit =~ /\b(mol\/L)\b/) ? "(mg/L)" : "(mg/kg_bw/day)"}" if !prediction[:prediction_interval].nil?
- else
%b Probability:
/ probability popover
- %a.btn.glyphicon.glyphicon-info-sign{:href=>"javascript:void(0)", :title=>"Confidence", :tabindex=>"0", data: {trigger:"focus", toggle:"popover", placement:"left", html:"true", content:"Indicates the applicability domain of a model. Predictions with a high confidence can be expected to be more reliable than predictions with low confidence. Confidence values may take any value between 0 and 1. For most models confidence > 0.025 is a sensible (hard) cutoff to distinguish between reliable and unreliable predictions."}}
+ %a.btn.glyphicon.glyphicon-info-sign{:href=>"javascript:void(0)", :title=>"Pobability", :tabindex=>"0", data: {trigger:"focus", toggle:"popover", placement:"left", html:"true", content:"Probability that the prediction belongs to one of the given classes."}}
- unless prediction[:probabilities].nil?
%br
- = "#{prediction[:probabilities].keys[0]}: #{prediction[:probabilities].values[0]}"
+ = "#{prediction[:probabilities].keys[0]}: #{prediction[:probabilities].values[0].signif(3)}"
%br
- = "#{prediction[:probabilities].keys[1]}: #{prediction[:probabilities].values[1]}"
+ = "#{prediction[:probabilities].keys[1]}: #{prediction[:probabilities].values[1].signif(3)}"
/ show warnings
%p