about summary refs log tree commit diff
diff options
context:
space:
mode:
authorzsloan2015-07-02 16:05:32 +0000
committerzsloan2015-07-02 16:05:32 +0000
commit34c2e422b46b924c5da12856ee10353be62213ec (patch)
tree49ebfbe0d63792ece3ed7520cfa8b0646eae82fc
parent6c94b530adb183b7297110d116cd6528fd619f3e (diff)
parent1f271908cb91f20a5a0f4822b974f8da57a1f0f7 (diff)
downloadgenenetwork2-34c2e422b46b924c5da12856ee10353be62213ec.tar.gz
Merge branch 'master' of github.com:genenetwork/genenetwork2
-rw-r--r--misc/requirements.txt1
-rw-r--r--wqflask/wqflask/static/new/javascript/chr_lod_chart.coffee16
-rw-r--r--wqflask/wqflask/static/new/javascript/chr_lod_chart.js59
-rw-r--r--wqflask/wqflask/static/new/javascript/create_lodchart.coffee38
-rw-r--r--wqflask/wqflask/static/new/javascript/create_lodchart.js34
-rwxr-xr-xwqflask/wqflask/static/new/javascript/show_trait_mapping_tools.coffee26
-rwxr-xr-xwqflask/wqflask/static/new/javascript/show_trait_mapping_tools.js31
-rwxr-xr-xwqflask/wqflask/templates/marker_regression.html1
-rwxr-xr-xwqflask/wqflask/views.py4
9 files changed, 95 insertions, 115 deletions
diff --git a/misc/requirements.txt b/misc/requirements.txt
index 3487aa09..a490ecad 100644
--- a/misc/requirements.txt
+++ b/misc/requirements.txt
@@ -17,6 +17,7 @@ Werkzeug==0.8.3
 apache-libcloud==0.12.3
 argparse==1.2.1
 blinker==1.2
+cairosvg==1.0.15
 itsdangerous==0.17
 logging-tree==1.2
 logilab-astng==0.24.3
diff --git a/wqflask/wqflask/static/new/javascript/chr_lod_chart.coffee b/wqflask/wqflask/static/new/javascript/chr_lod_chart.coffee
index 321957b3..e00694be 100644
--- a/wqflask/wqflask/static/new/javascript/chr_lod_chart.coffee
+++ b/wqflask/wqflask/static/new/javascript/chr_lod_chart.coffee
@@ -193,18 +193,7 @@ class Chr_Lod_Chart
             .attr("fill", "black")

 

     add_back_button: () ->

-        @svg.append("text")

-            .attr("class", "back")

-            .text("Return to full view")

-            .attr("x", @x_buffer*2)

-            .attr("y", @y_buffer/2)

-            .attr("dx", "0em")

-            .attr("text-anchor", "middle")

-            .attr("font-family", "sans-serif")

-            .attr("font-size", "18px")

-            .attr("cursor", "pointer")

-            .attr("fill", "black")

-            .on("click", @return_to_full_view)

+        $("#return_to_full_view").show().click => @return_to_full_view()

 

     add_path: () ->

         line_function = d3.svg.line()

@@ -281,9 +270,10 @@ class Chr_Lod_Chart
                 )

 

     return_to_full_view: () ->

+        $("#return_to_full_view").hide()

         $('#topchart').remove()

         $('#chart_container').append('<div class="qtlcharts" id="topchart"></div>')

-        create_manhattan_plot()

+        create_lod_chart()

 

     show_marker_in_table: (marker_info) ->

         console.log("in show_marker_in_table")

diff --git a/wqflask/wqflask/static/new/javascript/chr_lod_chart.js b/wqflask/wqflask/static/new/javascript/chr_lod_chart.js
index 95dbb4e2..c060d9d7 100644
--- a/wqflask/wqflask/static/new/javascript/chr_lod_chart.js
+++ b/wqflask/wqflask/static/new/javascript/chr_lod_chart.js
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.8.0
+// Generated by CoffeeScript 1.9.2
 var Chr_Lod_Chart;
 
 Chr_Lod_Chart = (function() {
@@ -38,28 +38,28 @@ Chr_Lod_Chart = (function() {
   }
 
   Chr_Lod_Chart.prototype.get_max_chr = function() {
-    var key, _results;
+    var key, results;
     this.max_chr = 0;
-    _results = [];
+    results = [];
     for (key in js_data.chromosomes) {
       console.log("key is:", key);
       if (parseInt(key) > this.max_chr) {
-        _results.push(this.max_chr = parseInt(key));
+        results.push(this.max_chr = parseInt(key));
       } else {
-        _results.push(void 0);
+        results.push(void 0);
       }
     }
-    return _results;
+    return results;
   };
 
   Chr_Lod_Chart.prototype.filter_qtl_results = function() {
-    var result, this_chr, _i, _len, _ref, _results;
+    var i, len, ref, result, results, this_chr;
     this.these_results = [];
     this_chr = 100;
-    _ref = this.qtl_results;
-    _results = [];
-    for (_i = 0, _len = _ref.length; _i < _len; _i++) {
-      result = _ref[_i];
+    ref = this.qtl_results;
+    results = [];
+    for (i = 0, len = ref.length; i < len; i++) {
+      result = ref[i];
       if (result.chr === "X") {
         this_chr = this.max_chr;
       } else {
@@ -71,20 +71,20 @@ Chr_Lod_Chart = (function() {
         break;
       }
       if (parseInt(this_chr) === parseInt(this.chr[0])) {
-        _results.push(this.these_results.push(result));
+        results.push(this.these_results.push(result));
       } else {
-        _results.push(void 0);
+        results.push(void 0);
       }
     }
-    return _results;
+    return results;
   };
 
   Chr_Lod_Chart.prototype.get_qtl_count = function() {
-    var high_qtl_count, result, _i, _len, _ref;
+    var high_qtl_count, i, len, ref, result;
     high_qtl_count = 0;
-    _ref = this.these_results;
-    for (_i = 0, _len = _ref.length; _i < _len; _i++) {
-      result = _ref[_i];
+    ref = this.these_results;
+    for (i = 0, len = ref.length; i < len; i++) {
+      result = ref[i];
       if (result.lod_score > 1) {
         high_qtl_count += 1;
       }
@@ -94,16 +94,16 @@ Chr_Lod_Chart = (function() {
   };
 
   Chr_Lod_Chart.prototype.create_coordinates = function() {
-    var result, _i, _len, _ref, _results;
-    _ref = this.these_results;
-    _results = [];
-    for (_i = 0, _len = _ref.length; _i < _len; _i++) {
-      result = _ref[_i];
+    var i, len, ref, result, results;
+    ref = this.these_results;
+    results = [];
+    for (i = 0, len = ref.length; i < len; i++) {
+      result = ref[i];
       this.x_coords.push(parseFloat(result.Mb));
       this.y_coords.push(result.lod_score);
-      _results.push(this.marker_names.push(result.name));
+      results.push(this.marker_names.push(result.name));
     }
-    return _results;
+    return results;
   };
 
   Chr_Lod_Chart.prototype.create_svg = function() {
@@ -189,7 +189,11 @@ Chr_Lod_Chart = (function() {
   };
 
   Chr_Lod_Chart.prototype.add_back_button = function() {
-    return this.svg.append("text").attr("class", "back").text("Return to full view").attr("x", this.x_buffer * 2).attr("y", this.y_buffer / 2).attr("dx", "0em").attr("text-anchor", "middle").attr("font-family", "sans-serif").attr("font-size", "18px").attr("cursor", "pointer").attr("fill", "black").on("click", this.return_to_full_view);
+    return $("#return_to_full_view").show().click((function(_this) {
+      return function() {
+        return _this.return_to_full_view();
+      };
+    })(this));
   };
 
   Chr_Lod_Chart.prototype.add_path = function() {
@@ -253,9 +257,10 @@ Chr_Lod_Chart = (function() {
   };
 
   Chr_Lod_Chart.prototype.return_to_full_view = function() {
+    $("#return_to_full_view").hide();
     $('#topchart').remove();
     $('#chart_container').append('<div class="qtlcharts" id="topchart"></div>');
-    return create_manhattan_plot();
+    return create_lod_chart();
   };
 
   Chr_Lod_Chart.prototype.show_marker_in_table = function(marker_info) {
diff --git a/wqflask/wqflask/static/new/javascript/create_lodchart.coffee b/wqflask/wqflask/static/new/javascript/create_lodchart.coffee
index df176f52..472ec12d 100644
--- a/wqflask/wqflask/static/new/javascript/create_lodchart.coffee
+++ b/wqflask/wqflask/static/new/javascript/create_lodchart.coffee
@@ -52,41 +52,3 @@ $ ->
     #window.setTimeout(create_lod_chart(), 1000)
     root.create_lod_chart = create_lod_chart
 
-$("#export").click =>
-    #Get d3 SVG element
-    svg = $("#topchart").find("svg")[0]
-    
-    #Extract SVG text string
-    svg_xml = (new XMLSerializer).serializeToString(svg)
-    console.log("svg_xml:", svg_xml)
-        
-    #Set filename
-    filename = "manhattan_plot_" + js_data.this_trait
-
-    #Make a form with the SVG data
-    form = $("#exportform")
-    form.find("#data").val(svg_xml)
-    form.find("#filename").val(filename)
-    form.submit()
-
-$("#export_pdf").click =>
-    
-    #$('#topchart').remove()
-    #$('#chart_container').append('<div class="qtlcharts" id="topchart"></div>')
-    #create_interval_map()
-    
-    #Get d3 SVG element
-    svg = $("#topchart").find("svg")[0]
-    
-    #Extract SVG text string
-    svg_xml = (new XMLSerializer).serializeToString(svg)
-    console.log("svg_xml:", svg_xml)
-        
-    #Set filename
-    filename = "manhattan_plot_" + js_data.this_trait
-
-    #Make a form with the SVG data
-    form = $("#exportpdfform")
-    form.find("#data").val(svg_xml)
-    form.find("#filename").val(filename)
-    form.submit()
diff --git a/wqflask/wqflask/static/new/javascript/create_lodchart.js b/wqflask/wqflask/static/new/javascript/create_lodchart.js
index a7cea8a5..2537e9e2 100644
--- a/wqflask/wqflask/static/new/javascript/create_lodchart.js
+++ b/wqflask/wqflask/static/new/javascript/create_lodchart.js
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.8.0
+// Generated by CoffeeScript 1.9.2
 (function() {
   var create_lod_chart;
 
@@ -43,34 +43,8 @@
     });
   };
 
-  root.create_lod_chart = create_lod_chart;
-
-  $("#export").click((function(_this) {
-    return function() {
-      var filename, form, svg, svg_xml;
-      svg = $("#topchart").find("svg")[0];
-      svg_xml = (new XMLSerializer).serializeToString(svg);
-      console.log("svg_xml:", svg_xml);
-      filename = "manhattan_plot_" + js_data.this_trait;
-      form = $("#exportform");
-      form.find("#data").val(svg_xml);
-      form.find("#filename").val(filename);
-      return form.submit();
-    };
-  })(this));
-
-  $("#export_pdf").click((function(_this) {
-    return function() {
-      var filename, form, svg, svg_xml;
-      svg = $("#topchart").find("svg")[0];
-      svg_xml = (new XMLSerializer).serializeToString(svg);
-      console.log("svg_xml:", svg_xml);
-      filename = "manhattan_plot_" + js_data.this_trait;
-      form = $("#exportpdfform");
-      form.find("#data").val(svg_xml);
-      form.find("#filename").val(filename);
-      return form.submit();
-    };
-  })(this));
+  $(function() {
+    return root.create_lod_chart = create_lod_chart;
+  });
 
 }).call(this);
diff --git a/wqflask/wqflask/static/new/javascript/show_trait_mapping_tools.coffee b/wqflask/wqflask/static/new/javascript/show_trait_mapping_tools.coffee
index 211fedae..16ca1886 100755
--- a/wqflask/wqflask/static/new/javascript/show_trait_mapping_tools.coffee
+++ b/wqflask/wqflask/static/new/javascript/show_trait_mapping_tools.coffee
@@ -87,8 +87,30 @@ open_mapping_results = (data) ->
        href: "#mapping_results_holder"
        height: "90%"
        width: "90%"
-       onComplete: => root.create_lod_chart()
-    )
+       onComplete: =>
+          root.create_lod_chart()
+
+          #Set filename
+          filename = "lod_chart_" + js_data.this_trait
+
+          getSvgXml = ->
+              svg = $("#topchart").find("svg")[0]
+              (new XMLSerializer).serializeToString(svg)
+
+          $("#exportform > #export").click =>
+              svg_xml = getSvgXml()
+              form = $("#exportform")
+              form.find("#data").val(svg_xml)
+              form.find("#filename").val(filename)
+              form.submit()
+
+          $("#exportpdfform > #export_pdf").click =>
+              svg_xml = getSvgXml()
+              form = $("#exportpdfform")
+              form.find("#data").val(svg_xml)
+              form.find("#filename").val(filename)
+              form.submit()
+     )
 
 showalert = (message,alerttype) ->
     $('#alert_placeholder').append('<div id="alertdiv" class="alert ' +  alerttype + '"><a class="close" data-dismiss="alert">×</a><span>'+message+'</span></div>')
diff --git a/wqflask/wqflask/static/new/javascript/show_trait_mapping_tools.js b/wqflask/wqflask/static/new/javascript/show_trait_mapping_tools.js
index 259e4685..d6f4ba89 100755
--- a/wqflask/wqflask/static/new/javascript/show_trait_mapping_tools.js
+++ b/wqflask/wqflask/static/new/javascript/show_trait_mapping_tools.js
@@ -79,6 +79,7 @@ do_ajax_post = function(url, form_data) {
         console.log(xhr);
         clearInterval(_this.my_timer);
         $('#progress_bar_container').modal('hide');
+        $('#static_progress_bar_container').modal('hide');
         return $("body").html("We got an error.");
       };
     })(this),
@@ -86,6 +87,7 @@ do_ajax_post = function(url, form_data) {
       return function(data) {
         clearInterval(_this.my_timer);
         $('#progress_bar_container').modal('hide');
+        $('#static_progress_bar_container').modal('hide');
         return open_mapping_results(data);
       };
     })(this)
@@ -103,14 +105,37 @@ open_mapping_results = function(data) {
     width: "90%",
     onComplete: (function(_this) {
       return function() {
-        return root.create_lod_chart();
+        var filename, getSvgXml;
+        root.create_lod_chart();
+        filename = "lod_chart_" + js_data.this_trait;
+        getSvgXml = function() {
+          var svg;
+          svg = $("#topchart").find("svg")[0];
+          return (new XMLSerializer).serializeToString(svg);
+        };
+        $("#exportform > #export").click(function() {
+          var form, svg_xml;
+          svg_xml = getSvgXml();
+          form = $("#exportform");
+          form.find("#data").val(svg_xml);
+          form.find("#filename").val(filename);
+          return form.submit();
+        });
+        return $("#exportpdfform > #export_pdf").click(function() {
+          var form, svg_xml;
+          svg_xml = getSvgXml();
+          form = $("#exportpdfform");
+          form.find("#data").val(svg_xml);
+          form.find("#filename").val(filename);
+          return form.submit();
+        });
       };
     })(this)
   });
 };
 
 showalert = function(message, alerttype) {
-  return $('#alert_placeholder').append('<div id="alertdiv" class="alert ' + alerttype + '"><a class="close" data-dismiss="alert">×</a><span>' + message + '</span></div>');
+  return $('#alert_placeholder').append('<div id="alertdiv" class="alert ' + alerttype + '"><a class="close" data-dismiss="alert">�</a><span>' + message + '</span></div>');
 };
 
 $('#suggestive').hide();
@@ -221,4 +246,4 @@ $("#choose_closet_control").change(function() {
 
 $("#display_all_lrs").change(function() {
   return toggle_enable_disable("#suggestive_lrs");
-});
\ No newline at end of file
+});
diff --git a/wqflask/wqflask/templates/marker_regression.html b/wqflask/wqflask/templates/marker_regression.html
index 0cd004cd..d8f64c20 100755
--- a/wqflask/wqflask/templates/marker_regression.html
+++ b/wqflask/wqflask/templates/marker_regression.html
@@ -19,6 +19,7 @@
               <input type="submit" id="export_pdf" value="Download PDF">
             </form>
 <!--            <button id="export_pdf" class="btn">Export PDF</button>-->
+            <button id="return_to_full_view" class="btn" style="display:none">Return to full view</button>
         </div>
         <div id="chart_container">
             <div class="qtlcharts" id="topchart">
diff --git a/wqflask/wqflask/views.py b/wqflask/wqflask/views.py
index f9b27207..201d1452 100755
--- a/wqflask/wqflask/views.py
+++ b/wqflask/wqflask/views.py
@@ -377,7 +377,7 @@ def export():
     svg_xml = request.form.get("data", "Invalid data")
     filename = request.form.get("filename", "manhattan_plot_snp")
     response = Response(svg_xml, mimetype="image/svg+xml")
-    response.headers["Content-Disposition"] = "attchment; filename=%s"%filename
+    response.headers["Content-Disposition"] = "attachment; filename=%s"%filename
     return response
 
 @app.route("/export_pdf", methods = ('POST',))
@@ -390,7 +390,7 @@ def export_pdf():
     filepath = "/home/zas1024/gene/wqflask/output/"+filename
     pdf_file = cairosvg.svg2pdf(bytestring=svg_xml)
     response = Response(pdf_file, mimetype="application/pdf")
-    response.headers["Content-Disposition"] = "attchment; filename=%s"%filename
+    response.headers["Content-Disposition"] = "attachment; filename=%s"%filename
     return response
 
 @app.route("/interval_mapping", methods=('POST',))