summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgebele <gebele@in-silico.ch>2015-02-19 12:41:26 +0100
committergebele <gebele@in-silico.ch>2015-02-19 12:41:26 +0100
commit9319fc359a9e470388264aeb80b08ad555c56dfc (patch)
tree415ee136c5f7db405f9a239139b89dea4ccd9e0b
parent9a5e7aaa35962994e758cdaa15e0925e1bfc39e4 (diff)
sort models by endpoint list
-rw-r--r--application.rb1
-rw-r--r--views/predict.haml110
2 files changed, 56 insertions, 55 deletions
diff --git a/application.rb b/application.rb
index 7bb96ee..981ee0b 100644
--- a/application.rb
+++ b/application.rb
@@ -20,6 +20,7 @@ get '/predict/?' do
# sort models by endpoint alphabetically
$size = 0
@models = @@models.sort!{|a, b| a.type.select{|e| e =~ /endpoint/i} <=> b.type.select{|e| e =~ /endpoint/i}}
+ @endpoints = @@models.collect{|e| e.type.select{|e| e =~ /endpoint/i}}.sort!.uniq
@models.size <= 0 ? (haml :info) : (haml :predict)
end
diff --git a/views/predict.haml b/views/predict.haml
index e9d222f..fa16c14 100644
--- a/views/predict.haml
+++ b/views/predict.haml
@@ -8,7 +8,7 @@
} else if ($element.find('#bar').is(":visible") & $element.find('#bar').width() == 400) {
var next = $element.find('#bar').width() - 20;
}
- $element.find('#bar').animate({ width:next }, 300).html(value + "%&nbsp;");
+ $element.find('#bar').animate({ width:next }, 300);
}, 2000);
};
function checksmiles () {
@@ -88,60 +88,60 @@
#models
- @detail_count = 0
- - @models.each do |model|
- - model_endpoint = model.type.select{|endpoint| endpoint =~ /Endpoint/}.to_s
- - model_title = model.title.split("_").last(2)[0]
- - model_t = model.title.gsub("_", " ")
- %br
+ - @endpoints.each do |endpoint|
%b= model_endpoint.split("#").last.gsub("_", " ").gsub(/\"|\]/, "")+" :"
- - @detail_count +=1
- %div{:id => model_title}
- %input{:type => "checkbox", :name => "selection[#{model.uri}]", :id => "selection[#{model_title}]", :value => true, :disabled => false}
- %label{:for => "selection[#{model_title}]"}
- = model_t
- %a{:href=>"#details", :id => "linkDetails#{model_title}", :title=>"#{model_title} details", :style=>"font-size:small;"}
- [Details]
-
- :javascript
- $("a#linkDetails#{model_title}").click(function () {
- $("#details_#{@detail_count}").toggle();
- //document.location = document.location + "#" + "details";
- });
- #details{:id => "#{@detail_count}", :style => "display:none;background-color:white;padding:1em;"}
- %h3 Model Details:
- %p{:style=>"display:inline;"} Algorithm:
- %code{:style=>"font-size:x-large;"} lazar
- - model.type.to_s =~ /regression/i ? type = "regression" : type = "classification"
- - @model_type = type
- %p= "Type: "+type
- - training_dataset = OpenTox::Dataset.new "#{model[RDF::OT.trainingDataset]}"
- - training_compounds = training_dataset.compounds.size.to_s
- %p= "Training compounds: "+training_compounds
- %p{:style=>"display:inline;"} Descriptors:
- - if type == "regression"
- %a{:href=>"https://services.in-silico.ch/algorithm/descriptor/physchem/list", :title=>"link opens in new window.", :target=>"_blank"} Physico-chemical (PC) properties
- - else
- %a{:href=>"http://www.maunz.de/libfminer2-bbrc-doc/", :title=>"link opens in new window.", :target=>"_blank"} Fminer backbone refinement classes
- %br
- %br
- %p{:style=>"display:inline"}= "Model: "
- %a{:href=>"#{to("/predict/#{CGI.escape(model.uri)}")}", :title=>"download"} rdf
- %br
- %br
- %p{:style=>"display:inline"}= "Feature Dataset: "
- %a{:href=>"#{to("/predict/#{CGI.escape(model[RDF::OT.featureDataset])}")}", :title=>"download"} rdf
- %br
- %br
- %p{:style=>"display:inline"}= "Training Dataset: "
- %a{:href=>"#{to("/predict/#{CGI.escape(model[RDF::OT.trainingDataset])}")}", :title=>"link opens in new window."} rdf
- %br
- - unless model.metadata[RDF::OT.crossValidation].nil?
- %h3 Validation:
- %a{:href => "#{model.metadata[RDF::OT.crossValidation][0]}", :title=>"link opens in new window.", :target=>"_blank"}
- Detailed report link
- %br
- - @cv = OpenTox::Validation.find "#{model.metadata[RDF::OT.crossValidation][0]+"/statistics"}"
- = haml :validation, :layout => false, :validation => @cv, :model_type => @model_type
+ - @models.each do |model|
+ - if endpoint == model.type.select{|e| e =~ /Endpoint/}
+ - model_title = model.title.split("_").last(2)[0]
+ - model_t = model.title.gsub("_", " ")
+ - @detail_count +=1
+ %div{:id => model_title}
+ %input{:type => "checkbox", :name => "selection[#{model.uri}]", :id => "selection[#{model_title}]", :value => true, :disabled => false}
+ %label{:for => "selection[#{model_title}]"}
+ = model_t
+ %a{:href=>"#details", :id => "linkDetails#{model_title}", :title=>"#{model_title} details", :style=>"font-size:small;"}
+ [Details]
+
+ :javascript
+ $("a#linkDetails#{model_title}").click(function () {
+ $("#details_#{@detail_count}").toggle();
+ //document.location = document.location + "#" + "details";
+ });
+ #details{:id => "#{@detail_count}", :style => "display:none;background-color:white;padding:1em;"}
+ %h3 Model Details:
+ %p{:style=>"display:inline;"} Algorithm:
+ %code{:style=>"font-size:x-large;"} lazar
+ - model.type.to_s =~ /regression/i ? type = "regression" : type = "classification"
+ - @model_type = type
+ %p= "Type: "+type
+ - training_dataset = OpenTox::Dataset.new "#{model[RDF::OT.trainingDataset]}"
+ - training_compounds = training_dataset.compounds.size.to_s
+ %p= "Training compounds: "+training_compounds
+ %p{:style=>"display:inline;"} Descriptors:
+ - if type == "regression"
+ %a{:href=>"https://services.in-silico.ch/algorithm/descriptor/physchem/list", :title=>"link opens in new window.", :target=>"_blank"} Physico-chemical (PC) properties
+ - else
+ %a{:href=>"http://www.maunz.de/libfminer2-bbrc-doc/", :title=>"link opens in new window.", :target=>"_blank"} Fminer backbone refinement classes
+ %br
+ %br
+ %p{:style=>"display:inline"}= "Model: "
+ %a{:href=>"#{to("/predict/#{CGI.escape(model.uri)}")}", :title=>"download"} rdf
+ %br
+ %br
+ %p{:style=>"display:inline"}= "Feature Dataset: "
+ %a{:href=>"#{to("/predict/#{CGI.escape(model[RDF::OT.featureDataset])}")}", :title=>"download"} rdf
+ %br
+ %br
+ %p{:style=>"display:inline"}= "Training Dataset: "
+ %a{:href=>"#{to("/predict/#{CGI.escape(model[RDF::OT.trainingDataset])}")}", :title=>"link opens in new window."} rdf
+ %br
+ - unless model.metadata[RDF::OT.crossValidation].nil?
+ %h3 Validation:
+ %a{:href => "#{model.metadata[RDF::OT.crossValidation][0]}", :title=>"link opens in new window.", :target=>"_blank"}
+ Detailed report link
+ %br
+ - @cv = OpenTox::Validation.find "#{model.metadata[RDF::OT.crossValidation][0]+"/statistics"}"
+ = haml :validation, :layout => false, :validation => @cv, :model_type => @model_type
.arrow
%img{:src=>"/images/arrow_down_float.png", :alt=>"v", :class=> "arrow"}
@@ -153,7 +153,7 @@
%h1
3. Predict
%td{:style=>"width:10%;align:center;valign:middle;"}
- %input{ :type => "submit", :id => "submit", :value=>">>", :onclick => "(progress(1,$('#progressBar')) & getsmiles() & showcircle())", :style=>"cursor: pointer;display:inline;width:50px;height:50px;border-radius: 50%;color:#2b2b2b;text-align:center;text-decoration:none;background:#f76700;box-shadow: 0 0 5px white;font-weight:bold;"}
+ %input{ :type => "submit", :id => "submit", :value=>">>", :onclick => "(progress(1,$('#progressBar')) & getsmiles() & checkboxes())", :style=>"cursor: pointer;display:inline;width:50px;height:50px;border-radius: 50%;color:#2b2b2b;text-align:center;text-decoration:none;background:#f76700;box-shadow: 0 0 5px white;font-weight:bold;"}
%td{:style=>"align:center;valign:middle;"}
#progressBar{:style=>"width: 400px;height: 22px;border:1px solid #2b2b2b;background-color:gray;display:none;"}