about summary refs log tree commit diff
path: root/wqflask
diff options
context:
space:
mode:
authorZachary Sloan2013-12-05 23:56:48 +0000
committerZachary Sloan2013-12-05 23:56:48 +0000
commit33b10be4e506083e906ac1ef102db3a132aeb4e2 (patch)
tree1533d7b812ce68e960f7fd717164d994b43bb83f /wqflask
parent151c4614afe8c291b3154851aea9f5d670fe4efa (diff)
downloadgenenetwork2-33b10be4e506083e906ac1ef102db3a132aeb4e2.tar.gz
Now trims selected trait's values by the samples of the primary trait and
gets their distinct values

Created function that creates a dictionary of distinct values
and their corresponding colors
Diffstat (limited to 'wqflask')
-rw-r--r--wqflask/wqflask/static/new/javascript/bar_chart.coffee41
-rw-r--r--wqflask/wqflask/static/new/javascript/bar_chart.js48
-rw-r--r--wqflask/wqflask/static/new/javascript/get_traits_from_collection.coffee4
-rw-r--r--wqflask/wqflask/static/new/javascript/get_traits_from_collection.js2
-rw-r--r--wqflask/wqflask/static/new/javascript/show_trait.coffee5
-rw-r--r--wqflask/wqflask/static/new/javascript/show_trait.js6
6 files changed, 92 insertions, 14 deletions
diff --git a/wqflask/wqflask/static/new/javascript/bar_chart.coffee b/wqflask/wqflask/static/new/javascript/bar_chart.coffee
index d18cadd2..05955188 100644
--- a/wqflask/wqflask/static/new/javascript/bar_chart.coffee
+++ b/wqflask/wqflask/static/new/javascript/bar_chart.coffee
@@ -123,7 +123,7 @@ class Bar_Chart
         )
         
         d3.select("#color_by_trait").on("click", =>
-            @color_by_trait()
+            @open_trait_selection()
             
         )
 
@@ -138,6 +138,8 @@ class Bar_Chart
                     this_color_dict[value] = color(i)
             else
                 console.log("distinct_values:", distinct_vals)
+                #Check whether all values are numbers, and if they are get a corresponding
+                #color gradient
                 if _.every(distinct_vals, (d) =>
                     if isNaN(d)
                         return false
@@ -147,13 +149,24 @@ class Bar_Chart
                     color_range = d3.scale.linear()
                                     .domain([d3.min(distinct_vals),
                                             d3.max(distinct_vals)])
-                                    .range([0,4])
+                                    .range([0,255])
                     for value, i in distinct_vals
                         console.log("color_range(value):", color_range(parseInt(value)))
-                        this_color_dict[value] = d3.rgb("lightblue").darker(color_range(parseInt(value)))
+                        this_color_dict[value] = d3.rgb(color_range(parseInt(value)),0, 0)
+                        #this_color_dict[value] = d3.rgb("lightblue").darker(color_range(parseInt(value)))
                         #this_color_dict[value] = "rgb(0, 0, " + color_range(parseInt(value)) + ")"
             @attr_color_dict[key] = this_color_dict
 
+    convert_into_colors: (values) ->
+        color_range = d3.scale.linear()
+                        .domain([d3.min(values),
+                                d3.max(values)])
+                        .range([0,255])
+        for value, i in values
+            console.log("color_range(value):", color_range(parseInt(value)))
+            this_color_dict[value] = d3.rgb(color_range(parseInt(value)),0, 0)
+            #this_color_dict[value] = d3.rgb("lightblue").darker(color_range(parseInt(value)))
+
     get_samples: () ->
         @sample_names = (sample.name for sample in @sample_list when sample.value != null)
         @sample_vals = (sample.value for sample in @sample_list when sample.value != null)
@@ -305,7 +318,7 @@ class Bar_Chart
                             return d
                         )
 
-    color_by_trait: () ->
+    open_trait_selection: () ->
         $('#collections_holder').load('/collections/list?color_by_trait #collections_list', =>
             $.colorbox(
                 inline: true
@@ -318,6 +331,26 @@ class Bar_Chart
             #    console.log("contents:", $(element).contents())
             #    $(element).contents().unwrap()
         )
+    
+    color_by_trait: (trait_sample_data) ->
+        console.log("BXD1:", trait_sample_data["BXD1"])
+        console.log("trait_sample_data:", trait_sample_data)
+        trimmed_samples = @trim_values(trait_sample_data)
+        @get_distinct_values(trimmed_samples)
+    
+    trim_values: (trait_sample_data) ->
+        trimmed_samples = {}
+        for sample in @sample_names
+            if sample of trait_sample_data
+                trimmed_samples[sample] = trait_sample_data[sample]
+        console.log("trimmed_samples:", trimmed_samples)
+        return trimmed_samples
 
+    get_distinct_values: (samples) ->
+        distinct_values = _.uniq(_.values(samples))
+        #distinct_values = []
+        #for sample in samples
+        #    if samples[sample] in distinct_values
+        console.log("distinct_values:", distinct_values)
 
 root.Bar_Chart = Bar_Chart
\ No newline at end of file
diff --git a/wqflask/wqflask/static/new/javascript/bar_chart.js b/wqflask/wqflask/static/new/javascript/bar_chart.js
index e4279d41..05625dc9 100644
--- a/wqflask/wqflask/static/new/javascript/bar_chart.js
+++ b/wqflask/wqflask/static/new/javascript/bar_chart.js
@@ -126,7 +126,7 @@
         }
       });
       d3.select("#color_by_trait").on("click", function() {
-        return _this.color_by_trait();
+        return _this.open_trait_selection();
       });
     }
 
@@ -156,11 +156,11 @@
               return true;
             }
           })) {
-            color_range = d3.scale.linear().domain([d3.min(distinct_vals), d3.max(distinct_vals)]).range([0, 4]);
+            color_range = d3.scale.linear().domain([d3.min(distinct_vals), d3.max(distinct_vals)]).range([0, 255]);
             for (i = _j = 0, _len1 = distinct_vals.length; _j < _len1; i = ++_j) {
               value = distinct_vals[i];
               console.log("color_range(value):", color_range(parseInt(value)));
-              this_color_dict[value] = d3.rgb("lightblue").darker(color_range(parseInt(value)));
+              this_color_dict[value] = d3.rgb(color_range(parseInt(value)), 0, 0);
             }
           }
         }
@@ -169,6 +169,18 @@
       return _results;
     };
 
+    Bar_Chart.prototype.convert_into_colors = function(values) {
+      var color_range, i, value, _i, _len, _results;
+      color_range = d3.scale.linear().domain([d3.min(values), d3.max(values)]).range([0, 255]);
+      _results = [];
+      for (i = _i = 0, _len = values.length; _i < _len; i = ++_i) {
+        value = values[i];
+        console.log("color_range(value):", color_range(parseInt(value)));
+        _results.push(this_color_dict[value] = d3.rgb(color_range(parseInt(value)), 0, 0));
+      }
+      return _results;
+    };
+
     Bar_Chart.prototype.get_samples = function() {
       var attr_vals, attribute, key, sample, _i, _j, _len, _len1, _ref, _ref1;
       this.sample_names = (function() {
@@ -320,7 +332,7 @@
       });
     };
 
-    Bar_Chart.prototype.color_by_trait = function() {
+    Bar_Chart.prototype.open_trait_selection = function() {
       var _this = this;
       return $('#collections_holder').load('/collections/list?color_by_trait #collections_list', function() {
         $.colorbox({
@@ -331,6 +343,34 @@
       });
     };
 
+    Bar_Chart.prototype.color_by_trait = function(trait_sample_data) {
+      var trimmed_samples;
+      console.log("BXD1:", trait_sample_data["BXD1"]);
+      console.log("trait_sample_data:", trait_sample_data);
+      trimmed_samples = this.trim_values(trait_sample_data);
+      return this.get_distinct_values(trimmed_samples);
+    };
+
+    Bar_Chart.prototype.trim_values = function(trait_sample_data) {
+      var sample, trimmed_samples, _i, _len, _ref;
+      trimmed_samples = {};
+      _ref = this.sample_names;
+      for (_i = 0, _len = _ref.length; _i < _len; _i++) {
+        sample = _ref[_i];
+        if (sample in trait_sample_data) {
+          trimmed_samples[sample] = trait_sample_data[sample];
+        }
+      }
+      console.log("trimmed_samples:", trimmed_samples);
+      return trimmed_samples;
+    };
+
+    Bar_Chart.prototype.get_distinct_values = function(samples) {
+      var distinct_values;
+      distinct_values = _.uniq(_.values(samples));
+      return console.log("distinct_values:", distinct_values);
+    };
+
     return Bar_Chart;
 
   })();
diff --git a/wqflask/wqflask/static/new/javascript/get_traits_from_collection.coffee b/wqflask/wqflask/static/new/javascript/get_traits_from_collection.coffee
index 23499ac5..43a518b3 100644
--- a/wqflask/wqflask/static/new/javascript/get_traits_from_collection.coffee
+++ b/wqflask/wqflask/static/new/javascript/get_traits_from_collection.coffee
@@ -32,9 +32,9 @@ trait_click = () ->
       )
 
 color_by_trait =  (trait_sample_data, textStatus, jqXHR) ->
-    root.trait_sample_data = trait_sample_data
+    #trait_sample_data = trait_sample_data
     #console.log('in color_by_trait:', trait_sample_data)
-    
+    root.bar_chart.color_by_trait(trait_sample_data)
 
 process_traits = (trait_data, textStatus, jqXHR) ->
     console.log('in process_traits with trait_data:', trait_data)
diff --git a/wqflask/wqflask/static/new/javascript/get_traits_from_collection.js b/wqflask/wqflask/static/new/javascript/get_traits_from_collection.js
index b4c2c200..137a6ce8 100644
--- a/wqflask/wqflask/static/new/javascript/get_traits_from_collection.js
+++ b/wqflask/wqflask/static/new/javascript/get_traits_from_collection.js
@@ -39,7 +39,7 @@
   };
 
   color_by_trait = function(trait_sample_data, textStatus, jqXHR) {
-    return root.trait_sample_data = trait_sample_data;
+    return root.bar_chart.color_by_trait(trait_sample_data);
   };
 
   process_traits = function(trait_data, textStatus, jqXHR) {
diff --git a/wqflask/wqflask/static/new/javascript/show_trait.coffee b/wqflask/wqflask/static/new/javascript/show_trait.coffee
index 7d23345f..82b85436 100644
--- a/wqflask/wqflask/static/new/javascript/show_trait.coffee
+++ b/wqflask/wqflask/static/new/javascript/show_trait.coffee
@@ -1,3 +1,5 @@
+root = exports ? this
+
 console.log("start_b")
 
 # this is our isNumber, do not confuse with the underscore.js one
@@ -62,7 +64,8 @@ $ ->
     sample_lists = js_data.sample_lists
     sample_group_types = js_data.sample_group_types
 
-    new Bar_Chart(sample_lists[0])
+    root.bar_chart = new Bar_Chart(sample_lists[0])
+    
     new Box_Plot(sample_lists[0])
 
 
diff --git a/wqflask/wqflask/static/new/javascript/show_trait.js b/wqflask/wqflask/static/new/javascript/show_trait.js
index 718e365a..320f705b 100644
--- a/wqflask/wqflask/static/new/javascript/show_trait.js
+++ b/wqflask/wqflask/static/new/javascript/show_trait.js
@@ -1,9 +1,11 @@
 // Generated by CoffeeScript 1.6.1
 (function() {
-  var Stat_Table_Rows, is_number,
+  var Stat_Table_Rows, is_number, root,
     __hasProp = {}.hasOwnProperty,
     __slice = [].slice;
 
+  root = typeof exports !== "undefined" && exports !== null ? exports : this;
+
   console.log("start_b");
 
   is_number = function(o) {
@@ -59,7 +61,7 @@
     var block_by_attribute_value, block_by_index, block_outliers, change_stats_value, create_value_dropdown, edit_data_change, export_sample_table_data, get_sample_table_data, hide_no_value, hide_tabs, make_table, on_corr_method_change, populate_sample_attributes_values_dropdown, process_id, reset_samples_table, sample_group_types, sample_lists, show_hide_outliers, stats_mdp_change, update_stat_values;
     sample_lists = js_data.sample_lists;
     sample_group_types = js_data.sample_group_types;
-    new Bar_Chart(sample_lists[0]);
+    root.bar_chart = new Bar_Chart(sample_lists[0]);
     new Box_Plot(sample_lists[0]);
     $('.bar_chart_samples_group').change(function() {
       var all_samples, group;