:javascript $(document).ready(function(){ $('[data-toggle="popover"]').popover(); $('.modal').on('hidden.bs.modal', function () { $(this).removeData('bs.modal'); }); }); %div.well %a.btn.btn-warning{:href => to('/predict')} %i.glyphicon.glyphicon-menu-left New Prediction / displays all prediction result in first table %h3 Prediction Results: %div.table-responsive %table.table.table-bordered{:id=>"overview"} %tbody %tr %td{:id=>"compound"} %b.title Compound %p= embedded_svg(@compound.svg, title: @compound.smiles) %p= @compound.smiles - @model_types = {} - @dbhit = {} - toxtree = @predictions.pop if @toxtree == true - mazzatorta = @predictions.find{|p| p["mazzatorta"]} - @predictions.delete(mazzatorta) if mazzatorta - unless @predictions.blank? - @predictions.each_with_index do |prediction,i| - if prediction["Consensus prediction"] - sa_prediction = true - type = (@models[i].regression? ? "Regression" : "Classification") - @model_types[i] = type - unit = @models[i].unit %td{:style=>"vertical-align:top;white-space:nowrap;"} %b.title = (sa_prediction ? "Consensus mutagenicity" : "#{@models[i].endpoint.gsub('_', ' ')} (#{@models[i].species})") %p / check kazius - if sa_prediction - sa_value = prediction["Consensus prediction"] - confidence = prediction["Consensus confidence"] / check for database hit - if prediction[:info] =~ /\b(identical)\b/i - @dbhit[i] = true %p :plain This compound was part of the training dataset. All information
from this compound was removed from the training data before the
prediction, to obtain unbiased results. %p %b Measured activity: %br = prediction[:measurements].join("; ") %b Consensus prediction: %br = sa_value %p %b Consensus confidence: %br = confidence %p %b Structural alerts for mutagenicity: %br = prediction["Structural alerts for mutagenicity"].gsub(";","
") / check for prediction - if prediction[:value] %p - if sa_prediction %b.title= ("Lazar #{@models[i].endpoint.gsub('_', ' ').downcase} (#{@models[i].species}):") %p / check for database hit - if prediction[:info] =~ /\b(identical)\b/i - @dbhit[i] = true / show message about dbhit and measurements - unless sa_prediction %p :plain This compound was part of the training dataset. All information
from this compound was removed from the training data before the
prediction, to obtain unbiased results. %p %b Measured activity: %br - if prediction[:measurements].is_a?(Array) = (type == "Regression") ? prediction[:measurements].collect{|value| "#{value.delog10.signif(3)} (#{unit})
#{@compound.mmol_to_mg(value.delog10).signif(3)} #{unit =~ /mmol\/L/ ? "(mg/L)" : "(mg/kg_bw/day)"}"}.join("
") : prediction[:measurements].join(", ") - else = (type == "Regression") ? "#{prediction[:measurements].delog10.signif(3)} (#{unit})
#{@compound.mmol_to_mg(prediction[:measurements].delog10).signif(3)} #{(unit =~ /\b(mmol\/L)\b/) ? "(mg/L)" : "(mg/kg_bw/day)"}" : prediction[:measurements] - else - @dbhit[i] = false / show prediction %p %b Prediction: %br = (type == "Regression") ? "#{prediction[:value].delog10.signif(3)} (#{unit})
#{@compound.mmol_to_mg(prediction[:value].delog10).signif(3)} #{(unit =~ /\b(mmol\/L)\b/) ? "(mg/L)" : "(mg/kg_bw/day)"}" : prediction[:value] / show prediction interval or probability %p - if type == "Regression" %b 95% Prediction interval: - interval = (prediction[:prediction_interval].nil? ? nil : prediction[:prediction_interval]) %br = interval.nil? ? "--" : "#{interval[1].delog10.signif(3)} - #{interval[0].delog10.signif(3)} (#{unit})" %br = "#{@compound.mmol_to_mg(interval[1].delog10).signif(3)} - #{@compound.mmol_to_mg(interval[0].delog10).signif(3)} #{(unit =~ /\b(mmol\/L)\b/) ? "(mg/L)" : "(mg/kg_bw/day)"}" if !interval.nil? - else %b Probability: - unless prediction[:probabilities].nil? %br = "#{prediction[:probabilities].keys[0]}: #{prediction[:probabilities].values[0].signif(3)}" - if prediction[:probabilities].size == 2 %br = "#{prediction[:probabilities].keys[1]}: #{prediction[:probabilities].values[1].signif(3)}" %p - if !prediction[:warnings].blank? %b Warnings: %br =prediction[:warnings].join("
") - else - if !prediction[:info].blank? %p :plain This compound was part of the training dataset. All information
from this compound was removed from the training data before the
prediction, to obtain unbiased results. %p %b Measured activity: %br - if prediction[:measurements].is_a?(Array) = (type == "Regression") ? prediction[:measurements].collect{|value| "#{value.delog10.signif(3)} (#{unit})
#{@compound.mmol_to_mg(value.delog10).signif(3)} #{unit =~ /mmol\/L/ ? "(mg/L)" : "(mg/kg_bw/day)"}"}.join("
") : prediction[:measurements].join(", ") - else = (type == "Regression") ? "#{prediction[:measurements].delog10.signif(3)} (#{unit})
#{@compound.mmol_to_mg(prediction[:measurements].delog10).signif(3)} #{(unit =~ /\b(mmol\/L)\b/) ? "(mg/L)" : "(mg/kg_bw/day)"}" : prediction[:measurements] - if !prediction[:warnings].blank? %p %b Warnings: %br =prediction[:warnings].join("
") / Cramer - if @toxtree == true %td{:style=>"vertical-align:top;white-space:nowrap;"} %b.title Oral toxicity (Cramer rules) %p %b Cramer rules: %br =toxtree.first["Cramer rules"] %p %b Cramer rules, with extensions: %br =toxtree.last["Cramer rules, with extensions"] / Mazzatorta - if mazzatorta %td{:style=>"vertical-align:top;white-space:nowrap;"} %b.title Lowest observed adverse effect level (LOAEL) (Rats) (Mazzatorta) %p - hash = mazzatorta["mazzatorta"] - unless hash.keys.include?("warnings") || hash.key?(:warnings) %b Prediction: %br = "#{hash[:mmol_prediction]} (mmol/kg_bw/day)" %br = "#{hash[:prediction]} (mg/kg_bw/day)" - else %b Warnings: %br = "#{hash[:warnings]}" / always show the neighbors table, message is given there. Except only Cramer is selected. - unless @predictions.blank? = haml :neighbors, :layout => false