aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzsloan2016-01-06 20:11:18 +0000
committerzsloan2016-01-06 20:11:18 +0000
commit5e8934baf749b8fee396813637035fbb7ece5b0e (patch)
tree366da5b4c642c97209f11e30d74799fed61b55da
parente7fb0b717562dcbeb016d277cc97328792868c47 (diff)
downloadgenenetwork2-5e8934baf749b8fee396813637035fbb7ece5b0e.tar.gz
Single chromosome view now works for mapping page using GN1's image code
Removed loading bar that appeared on show trait page since it didn't work with GN1 mapping (which opens in a new page)
-rwxr-xr-xwqflask/wqflask/marker_regression/marker_regression.py11
-rw-r--r--wqflask/wqflask/marker_regression/marker_regression_gn1.py18
-rwxr-xr-xwqflask/wqflask/static/new/javascript/show_trait_mapping_tools.js2
-rw-r--r--wqflask/wqflask/templates/marker_regression_gn1.html34
-rwxr-xr-xwqflask/wqflask/views.py1
5 files changed, 50 insertions, 16 deletions
diff --git a/wqflask/wqflask/marker_regression/marker_regression.py b/wqflask/wqflask/marker_regression/marker_regression.py
index 05bb5b60..c396b14b 100755
--- a/wqflask/wqflask/marker_regression/marker_regression.py
+++ b/wqflask/wqflask/marker_regression/marker_regression.py
@@ -52,6 +52,8 @@ class MarkerRegression(object):
#tempdata = temp_data.TempData(temp_uuid)
+ self.temp_uuid = temp_uuid #needed to pass temp_uuid to gn1 mapping code (marker_regression_gn1.py)
+
self.json_data = {}
self.json_data['lodnames'] = ['lod.hk']
@@ -76,6 +78,11 @@ class MarkerRegression(object):
self.score_type = "LRS" #ZS: LRS or LOD
self.mapping_scale = "physic"
self.num_perm = 0
+
+ #ZS: This is passed to GN1 code for single chr mapping
+ self.selected_chr = -1
+ if "selected_chr" in start_vars:
+ self.selected_chr = int(start_vars['selected_chr'])
self.dataset.group.get_markers()
if self.mapping_method == "gemma":
@@ -720,7 +727,9 @@ class MarkerRegression(object):
def gen_data(self, temp_uuid):
"""Generates p-values for each marker"""
- pheno_vector = np.array([val == "x" and np.nan or float(val) for val in self.vals])
+
+ print("self.vals is:", self.vals)
+ pheno_vector = np.array([(val == "x" or val == "") and np.nan or float(val) for val in self.vals])
#lmm_uuid = str(uuid.uuid4())
diff --git a/wqflask/wqflask/marker_regression/marker_regression_gn1.py b/wqflask/wqflask/marker_regression/marker_regression_gn1.py
index 1da98c63..a0033bd2 100644
--- a/wqflask/wqflask/marker_regression/marker_regression_gn1.py
+++ b/wqflask/wqflask/marker_regression/marker_regression_gn1.py
@@ -172,10 +172,16 @@ class MarkerRegression(object):
#helper_functions.get_species_dataset_trait(self, start_vars)
+ self.temp_uuid = start_vars['temp_uuid']
+
self.dataset = start_vars['dataset']
self.this_trait = start_vars['this_trait']
self.species = start_vars['species']
+
+ self.vals = start_vars['vals'] #Needed to put into form for when it is resubmitted for single chr views or remapping
+ self.mapping_method = start_vars['mapping_method'] #Needing for form submission when doing single chr mapping or remapping after changing options
+
self.js_data = start_vars['js_data']
#ZS: Think I can just get all this from dataset object now
@@ -226,9 +232,9 @@ class MarkerRegression(object):
#self.controlLocus = fd.formdata.getvalue('controlLocus', '')
#try:
- # self.selectedChr = int(fd.formdata.getvalue('chromosomes', "-1"))
+ self.selectedChr = int(start_vars['selected_chr'])
#except:
- self.selectedChr = -1
+ # self.selectedChr = -1
#whether include parents and F1 for InbredSet
#fd.parentsf14regression = fd.formdata.getvalue('parentsf14regression')
@@ -1921,10 +1927,12 @@ class MarkerRegression(object):
#startPosX = xLeftOffset
thisLRSColor = self.colorCollection[0]
- if qtlresult['chr'] != previous_chr:
+ if qtlresult['chr'] != previous_chr and self.selectedChr == -1:
previous_chr = qtlresult['chr']
previous_chr_as_int += 1
+ print("ChrLengthDistList:", self.ChrLengthDistList)
+
newStartPosX = (self.ChrLengthDistList[previous_chr_as_int - 1]+self.GraphInterval)*plotXScale
if newStartPosX != oldStartPosX:
startPosX += newStartPosX
@@ -1933,7 +1941,7 @@ class MarkerRegression(object):
#startPosX += (self.ChrLengthDistList[j]+self.GraphInterval)*plotXScale
#for j, _chr in enumerate(self.genotype):
- if 1 == 1:
+ if self.selectedChr == -1 or qtlresult['chr'] == self.selectedChr:
#LRSCoordXY = []
#AdditiveCoordXY = []
#DominanceCoordXY = []
@@ -2120,7 +2128,7 @@ class MarkerRegression(object):
COORDS = "%d,%d,%d,%d" %(chrStartPix, yTopOffset, chrEndPix,yTopOffset +20)
#add by NL 09-03-2010
- HREF = "javascript placeholder"
+ HREF = "javascript:chrView(%d,%s);" % (i,self.ChrLengthMbList)
#HREF = "javascript:changeView(%d,%s);" % (i,self.ChrLengthMbList)
Areas = HT.Area(shape='rect',coords=COORDS,href=HREF)
gifmap.areas.append(Areas)
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 3834e60b..721752dd 100755
--- a/wqflask/wqflask/static/new/javascript/show_trait_mapping_tools.js
+++ b/wqflask/wqflask/static/new/javascript/show_trait_mapping_tools.js
@@ -165,7 +165,7 @@
$("#pylmm_compute").on("click", (function(_this) {
return function() {
var form_data, url;
- $("#progress_bar_container").modal();
+ //$("#progress_bar_container").modal();
url = "/marker_regression";
$('input[name=method]').val("pylmm");
$('input[name=num_perm]').val($('input[name=num_perm_pylmm]').val());
diff --git a/wqflask/wqflask/templates/marker_regression_gn1.html b/wqflask/wqflask/templates/marker_regression_gn1.html
index e6bc2d65..f5bec6ea 100644
--- a/wqflask/wqflask/templates/marker_regression_gn1.html
+++ b/wqflask/wqflask/templates/marker_regression_gn1.html
@@ -6,22 +6,30 @@
{% endblock %}
{% from "base_macro.html" import header %}
{% block content %}
- {{ header("Mapping",
+ {{ header("Whole Genome Mapping Results",
'{}: {}'.format(this_trait.name, this_trait.description_fmt)) }}
<div class="container">
- <div>
- <h2>
- Whole Genome Mapping
- </h2>
- </div>
+ <form method="post" target="_blank" action="/marker_regression" name="marker_regression" id="marker_regression_form">
+ <input type="hidden" name="temp_uuid" value="{{ temp_uuid }}">
+ <input type="hidden" name="trait_id" value="{{ this_trait.name }}">
+ <input type="hidden" name="dataset" value="{{ dataset.name }}">
+ {% for sample in dataset.group.samplelist %}
+ <input type="hidden" name="value:{{ sample }}" value="{{ vals[loop.index - 1] }}">
+ {% endfor %}
+ <input type="hidden" name="maf">
+ <input type="hidden" name="method" value="{{ mapping_method }}">
+ <input type="hidden" name="selected_chr" value="{{ selectedChr }}">
+ <input type="hidden" name="manhattan_plot">
+ <input type="hidden" name="num_perm">
<div id="chart_container">
<div class="qtlcharts" id="topchart">
{{ gifmap|safe }}
<img src="/static/output/{{ filename }}.jpeg" usemap="#WebQTLImageMap">
</div>
</div>
- <div style="width:45%;">
+ </form>
+ <div style="width:48%;">
<h2>
Results
</h2>
@@ -102,12 +110,12 @@
console.time("Creating table");
$('#qtl_results').dataTable( {
"columns": [
- { "type": "natural", "bSortable": false },
+ { "type": "natural", "sWidth": "10%", "bSortable": false },
{ "type": "natural" },
{ "type": "natural" },
{ "type": "natural" },
{ "type": "natural" },
- { "type": "natural" }
+ { "type": "natural", "sWidth": "30%"}
],
"buttons": [
'csv'
@@ -124,6 +132,14 @@
console.timeEnd("Creating table");
});
+
+ chrView = function(this_chr, chr_mb_list) {
+ $('input[name=selected_chr]').val(this_chr + 1)
+ $('input[name=chr_mb_list]').val(chr_mb_list)
+
+ return $('#marker_regression_form').submit();
+ };
+
</script>
{% endblock %}
diff --git a/wqflask/wqflask/views.py b/wqflask/wqflask/views.py
index 2a426eda..9c5a3c92 100755
--- a/wqflask/wqflask/views.py
+++ b/wqflask/wqflask/views.py
@@ -335,6 +335,7 @@ def marker_regression_page():
'trait_id',
'dataset',
'method',
+ 'selected_chr',
'mapping_scale',
'score_type',
'suggestive',