diff options
author | gebele <gebele@in-silico.ch> | 2016-11-10 19:53:34 +0000 |
---|---|---|
committer | gebele <gebele@in-silico.ch> | 2016-11-10 19:53:34 +0000 |
commit | 8ebb06ddc85b38cd6ec71d81f55b800fd5825c15 (patch) | |
tree | a4c95c8faaf053b396d4a989da805c6d11628a85 /views | |
parent | 678a9e60be4a9a6b0c59969a0f6e0266885337fa (diff) |
version bump;units;general class update;sort by
Diffstat (limited to 'views')
-rw-r--r-- | views/predict.haml | 42 | ||||
-rw-r--r-- | views/prediction.haml | 18 |
2 files changed, 34 insertions, 26 deletions
diff --git a/views/predict.haml b/views/predict.haml index 5d5d6f0..7819698 100644 --- a/views/predict.haml +++ b/views/predict.haml @@ -11,7 +11,7 @@ - @prediction_models.each_with_index do |m, idx| %li{:class => ("active" if idx == 0)} %a{:href => "#model_#{idx}", :id => "linkTab#{idx}", data: {toggle:"tab"}} - = "#{idx+1}. #{m.model.feature_selection_algorithm_parameters[:category].nil? ? "Physchem & Proteomics" : "Physchem" }" + = "#{idx+1}. #{m[:pcp_model] ? "Physchem & Proteomics" : "Physchem" }" %div.tab-content - @prediction_models.each_with_index do |m, idx| - m[:pc_model] ? (example = @example_pc; type = "pc"; relevant_features = @pc_relevant_features) : (example = @example_pcp; type = "pcp"; relevant_features = @pcp_relevant_features) @@ -39,17 +39,23 @@ Unit: = m.unit %br - Prediction algorithm: - = m.model.prediction_algorithm.split(".").last.gsub("_"," ") + %b Algorithms: %br - Prediction algorithm parameter: - = "random forest" if m.model.prediction_algorithm_parameters["method"] == "rf" + Similarity: + %a{:href=> "http://www.rubydoc.info/gems/lazar/OpenTox%2F#{m.model.algorithms["similarity"]["method"].sub("::", "%2F")}", :rel=>"external"} + = m.model.algorithms["similarity"]["method"] + = ", min: #{m.model.algorithms["similarity"]["min"]}" %br - Neighbor algorithm: - = m.model.neighbor_algorithm.gsub("_", " ") + Prediction: + %a{:href=>"http://www.rubydoc.info/gems/lazar/OpenTox%2F#{m.model.algorithms["prediction"]["method"].sub("::","%2f")}", :rel=>"external"} + = m.model.algorithms["prediction"]["method"] %br - Neighbor algorithm parameter: - = "min sim = #{m.model.neighbor_algorithm_parameters["min_sim"]}" + Feature selection: + = m.model.algorithms["feature_selection"]["method"].split(".").last + %br + Descriptors: + = m.model.algorithms["descriptors"]["method"]+"," + = m.model.algorithms["descriptors"]["categories"] %p %b Independent crossvalidations (log2 transformed): - crossvalidations =[] @@ -89,7 +95,7 @@ // example data to compare %input{:id=>"example_core",:type=>"hidden",:name=>"example_core",:value=>"#{example.core}"} %input{:id=>"example_coating",:type=>"hidden",:name=>"example_coating",:value=>"#{example.coating}"} - %input{:id=>"example_pc",:type=>"hidden",:name=>"example_pc",:value=>"#{example.physchem_descriptors}"} + %input{:id=>"example_pc",:type=>"hidden",:name=>"example_pc",:value=>"#{example.properties}"} - size = relevant_features.size %input{:id=>"size",:type=>"hidden",:name=>"size",:value=>size} %input{:id=>"id",:type=>"hidden",:name=>"example_id",:value=>example.id} @@ -107,9 +113,13 @@ %input{:id=>"input_coating",:type=>"hidden",:name=>"in_coating",:value=>example.coating} // prediction model id %input{:id=>"prediction_model",:type=>"hidden",:name=>"prediction_model",:value=>m.id} - - relevant_features.sort_by{|d| d.category}.each_with_index do |relf,id| + //sort the relevant features + - pc = relevant_features.collect{|f| f if f.category == "P-CHEM"}.compact + - pcp = relevant_features.collect{|f| f if f.category == "Proteomics"}.compact + - relevant_features = pc.sort_by{|f| f.name} + pcp.sort_by{|f| f.name} + - relevant_features.each_with_index do |relf,id| - feature = relf - - v = example.physchem_descriptors.find{|id,v| id == feature.id.to_s } + - v = example.properties.find{|id,v| id == feature.id.to_s } - name = feature.name - if feature[:conditions] && !feature[:conditions]["MEDIUM"].blank? - name = feature.name + " / " + feature[:conditions]["MEDIUM"] @@ -119,12 +129,10 @@ - id = id + 1 - if feature.category == "Proteomics" %h5 - %a{:href=>"http://www.uniprot.org/uniprot/#{name}", :rel=>"external"}= name - - else - / prepare name string for npo_search - - string = name.split("/").first.downcase.gsub(/%s/, "%20") + %a{:href=>"http://www.uniprot.org/uniprot/#{name}", :rel=>"external"}= name + (feature.unit.blank? ? "" : " (#{feature.unit})") + - if feature.category == "P-CHEM" %h5 - %a{:href=>$npo_search % string, :rel=>"external"}= name + %a.descriptor{:href=>$npo[feature.name], :rel=>"external"}= name + (feature.unit.blank? ? "" : " (#{feature.unit})") // input physchem parameters %input.input-sm.form-control{:id=>id,:type=>"text",:name=>"input_value_#{id}",:value=>"#{val[0] if val[0]}", :disabled=>("disabled" if val[0] == "-")} - if val[0] == "-" diff --git a/views/prediction.haml b/views/prediction.haml index 53a9cfd..e451c5f 100644 --- a/views/prediction.haml +++ b/views/prediction.haml @@ -12,7 +12,7 @@ $(".tablesorter").tablesorter({ debug: false, theme: "bootstrap", - headerTemplate: '{content} {icon}', + //headerTemplate: '{content} {icon}', widgets: ['uitheme', 'staticRow', 'stickyHeaders'], widgetOptions: { stickyHeaders_attachTo: 'neighbors', @@ -43,15 +43,15 @@ Net cell association %br [mL/ug(Mg)] - - @input.each{|d| OpenTox::Feature.find(d[0]).category}.each do |key| - - feature = OpenTox::Feature.find_by(:id=>key[0]) + - @input.each{|d| Feature.find(d[0]).category}.each do |key| + - feature = Feature.find_by(:id=>key[0]) - name = feature.name - if (feature[:conditions] && !feature[:conditions]["MEDIUM"].blank?) - name = feature.name + " / " + feature[:conditions]["MEDIUM"] - else - name = feature.name - %th.physchem - = name + %th.physchem.sorter-false + %a.descriptor{:href=>$npo[feature.name], :rel=>"external"}= name + (feature.unit.blank? ? "" : " (#{feature.unit})") %tbody / query and match combined %tr.static @@ -118,7 +118,7 @@ / neighbors - if @prediction[:neighbors] - @prediction[:neighbors].each_with_index do |neighbor,idx| - - nano = OpenTox::Nanoparticle.find(neighbor["_id"]) + - nano = Nanoparticle.find(neighbor[:id]) %tr / ID %td @@ -126,7 +126,7 @@ %h5.th5= nano.name / Similarity %td - %h5.th5= neighbor["similarity"].round(3) + %h5.th5= neighbor[:similarity].round(3) / Composition %td %h5.th5 Core: @@ -137,8 +137,8 @@ / Tox %td.tox %h5.th5 Measurement: - = neighbor["measurements"][0] + = neighbor[:measurement] / Physchem - - nano.physchem_descriptors.delete_if{|id,v| @type == "pc" ? !@pc_relevant_features.include?(OpenTox::Feature.find(id)) : !@pcp_relevant_features.include?(OpenTox::Feature.find(id))}.sort_by{|id,v| @pc_relevant_features.index OpenTox::Feature.find(id)}.each do |k,v| + - nano.properties.delete_if{|id,v| @type == "pc" ? !@pc_relevant_features.include?(Feature.find(id)) : !@pcp_relevant_features.include?(Feature.find(id))}.sort_by{|id,v| @pc_relevant_features.index Feature.find(id)}.each do |k,v| %td.physchem = v[0].round(3) unless v.nil? |