aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xweb/css/general_flask.css54
-rwxr-xr-xweb/webqtl/collection/ExportSelectionDetailInfoPage.py2
-rw-r--r--wqflask/wqflask/show_trait/SampleList.py13
-rwxr-xr-xwqflask/wqflask/show_trait/show_trait.py7
-rw-r--r--wqflask/wqflask/static/new/javascript/show_trait.coffee38
-rw-r--r--wqflask/wqflask/static/new/javascript/show_trait.js41
-rw-r--r--wqflask/wqflask/templates/search_result_page.html14
-rw-r--r--wqflask/wqflask/templates/show_trait.html43
-rw-r--r--wqflask/wqflask/views.py1
9 files changed, 146 insertions, 67 deletions
diff --git a/web/css/general_flask.css b/web/css/general_flask.css
index d0cffbc4..d40fa267 100755
--- a/web/css/general_flask.css
+++ b/web/css/general_flask.css
@@ -10,6 +10,8 @@ Blockquote {
margin : 14px 18px 14px 18px;
}
+/********** All this font size stuff, etc. needs to be replaced/removed ********** /
+
/*Font size*/
.fs10 {font-size : 10px}
.fs11 {font-size : 11px}
@@ -218,27 +220,47 @@ color: #999999;
/*For font style and color of commands and keywords in the scriptable interface page*/
.keywords
{
-font-family : "CourierNew", Courier, mono;
-font-size : 15px;
-color : #0000FF;
-font-weight : Normal
+ font-family : "CourierNew", Courier, mono;
+ font-size : 15px;
+ color : #0000FF;
+ font-weight : Normal
}
+
/*For RIsample.html page*/
.strains
{
-border:1px solid #999999;
-border-top:1px solid #940;
-border-bottom:1px solid #940;
-padding:5;
-background-color:#ddf;
-font-family:verdana;
+ border:1px solid #999999;
+ border-top:1px solid #940;
+ border-bottom:1px solid #940;
+ padding:5;
+ background-color:#ddf;
+ font-family:verdana;
}
+
.values
{
-border:1px solid #999999;
-border-top:1px solid #940;
-border-bottom:1px solid #940;
-padding:5;
-background-color:#eee;
-font-family:courier;
+ border:1px solid #999999;
+ border-top:1px solid #940;
+ border-bottom:1px solid #940;
+ padding:5;
+ background-color:#eee;
+ font-family:courier;
}
+
+/*****************************************/
+
+/* Standard table cell */
+.std_cell
+{
+ border : 1px solid #999999;
+ color : #222;
+ font-size : 13px;
+ padding : 3px;
+}
+
+/*Input field used to enter sample values, SE, etc.*/
+.trait_value_input
+{
+ font-style : Italic
+}
+
diff --git a/web/webqtl/collection/ExportSelectionDetailInfoPage.py b/web/webqtl/collection/ExportSelectionDetailInfoPage.py
index a61b6f6e..7238c797 100755
--- a/web/webqtl/collection/ExportSelectionDetailInfoPage.py
+++ b/web/webqtl/collection/ExportSelectionDetailInfoPage.py
@@ -128,7 +128,7 @@ class ExportSelectionDetailInfoPage(templatePage):
count = count + 1
except:
pass
- if count = 0:
+ if count == 0:
mean = 0
else:
mean = sum/count
diff --git a/wqflask/wqflask/show_trait/SampleList.py b/wqflask/wqflask/show_trait/SampleList.py
index d39559d3..df0dc61e 100644
--- a/wqflask/wqflask/show_trait/SampleList.py
+++ b/wqflask/wqflask/show_trait/SampleList.py
@@ -112,19 +112,6 @@ class SampleList(object):
self.attributes[key].distinct_values.sort(key=natural_sort_key)
- # exclude_menu = HT.Select(name="exclude_menu")
- # dropdown_menus = [] #ZS: list of dropdown menus with the distinct values of each attribute (contained in DIVs so the style parameter can be edited and they can be hidden)
- # for this_attr_name in attribute_names:
- # exclude_menu.append((this_attr_name.capitalize(), this_attr_name))
- # attr_value_menu_div = HT.Div(style="display:none;", Class="attribute_values") #container used to show/hide dropdown menus
- # attr_value_menu = HT.Select(name=this_attr_name)
- # attr_value_menu.append(("None", "show_all"))
- # for value in distinct_values:
- # attr_value_menu.append((str(value[0]), value[0]))
- # attr_value_menu_div.append(attr_value_menu)
- # dropdown_menus.append(attr_value_menu_div)
-
-
def get_extra_attribute_values(self, sample_name):
attribute_values = {}
diff --git a/wqflask/wqflask/show_trait/show_trait.py b/wqflask/wqflask/show_trait/show_trait.py
index 9bad6154..d34ae9a6 100755
--- a/wqflask/wqflask/show_trait/show_trait.py
+++ b/wqflask/wqflask/show_trait/show_trait.py
@@ -161,7 +161,12 @@ class ShowTrait(templatePage):
self.sample_group_types['primary_only'] = fd.RISet + " Only"
self.sample_group_types['other_only'] = "Non-" + fd.RISet
self.sample_group_types['all_cases'] = "All Cases"
- js_data = dict(sample_groups = self.sample_group_types,
+ sample_lists = []
+ for group in self.sample_groups:
+ sample_lists.append(group.sample_list)
+ print("sample_lists is:", pf(sample_lists))
+ js_data = dict(sample_group_types = self.sample_group_types,
+ sample_lists = sample_lists,
attribute_names = self.sample_groups[0].attributes)
print("js_data:", pf(js_data))
self.js_data = js_data
diff --git a/wqflask/wqflask/static/new/javascript/show_trait.coffee b/wqflask/wqflask/static/new/javascript/show_trait.coffee
index a91e9681..e22f1c21 100644
--- a/wqflask/wqflask/static/new/javascript/show_trait.coffee
+++ b/wqflask/wqflask/static/new/javascript/show_trait.coffee
@@ -68,8 +68,8 @@ $ ->
make_table = ->
header = "<thead><tr><th>&nbsp;</th>"
- console.log("js_data.sample_groups:", js_data.sample_groups)
- for own key, value of js_data.sample_groups
+ console.log("js_data.sample_group_types:", js_data.sample_group_types)
+ for own key, value of js_data.sample_group_types
console.log("aa key:", key)
console.log("aa value:", value)
the_id = process_id("column", key)
@@ -107,8 +107,8 @@ $ ->
console.log("rowing")
row_line = """<tr>"""
row_line += """<td id="#{ row.vn }">#{ row.pretty }</td>"""
- console.log("box - js_data.sample_groups:", js_data.sample_groups)
- for own key, value of js_data.sample_groups
+ console.log("box - js_data.sample_group_types:", js_data.sample_group_types)
+ for own key, value of js_data.sample_group_types
console.log("apple key:", key)
the_id = process_id(key, row.vn)
console.log("the_id:", the_id)
@@ -147,7 +147,7 @@ $ ->
console.log("Should be now Hide Outliers")
- #Calculate Correlations Code
+ ##Calculate Correlations Code
on_corr_method_change = ->
@@ -164,9 +164,9 @@ $ ->
$('select[name=corr_method]').change(on_corr_method_change)
- #End Calculate Correlations Code
+ ##End Calculate Correlations Code
- #Populate Samples Attribute Values Code
+ ##Populate Samples Attribute Values Code
create_value_dropdown = (value) ->
return """<option val=#{value}>#{value}</option>"""
@@ -187,9 +187,29 @@ $ ->
populate_sample_attributes_values_dropdown()
$('#exclude_menu').change(populate_sample_attributes_values_dropdown)
+ ##End Populate Samples Attribute Values Codess
+
+ ##Block Samples By Attribute Value Code
+ block_by_attribute_value = ->
+ console.log("in beginning of bbav code")
+ attribute_name = $('#exclude_menu').val()
+ console.log("attribute_name is:", attribute_name)
+ exclude_by_value = $('#attribute_values').val()
+ console.log("exclude_by_value is:", exclude_by_value)
+ sample_lists = js_data['sample_lists']
+ console.log("sample_lists is:", sample_lists)
+ for sample_list in sample_lists
+ for sample in sample_list
+ console.log("sample is:", sample)
+ if sample.extra_attributes[attribute_name] == exclude_by_value
+ console.log("is exclude_by_value")
+ sample_row = $('')
+
+
+
+ $('#exclude_group').click(block_by_attribute_value)
-
- #End Populate Samples Attribute Values Code
+ ##End Block Samples By Attribute Value Code
console.log("before registering show_hide_outliers")
$('#show_hide_outliers').click(show_hide_outliers)
diff --git a/wqflask/wqflask/static/new/javascript/show_trait.js b/wqflask/wqflask/static/new/javascript/show_trait.js
index 039a5e04..65440427 100644
--- a/wqflask/wqflask/static/new/javascript/show_trait.js
+++ b/wqflask/wqflask/static/new/javascript/show_trait.js
@@ -11,7 +11,7 @@
};
$(function() {
- var change_stats_value, create_value_dropdown, edit_data_change, hide_tabs, make_table, on_corr_method_change, populate_sample_attributes_values_dropdown, process_id, show_hide_outliers, stats_mdp_change, update_stat_values;
+ var block_by_attribute_value, change_stats_value, create_value_dropdown, edit_data_change, hide_tabs, make_table, on_corr_method_change, populate_sample_attributes_values_dropdown, process_id, show_hide_outliers, stats_mdp_change, update_stat_values;
hide_tabs = function(start) {
var x, _i, _results;
_results = [];
@@ -94,8 +94,8 @@
make_table = function() {
var header, key, row, row_line, rows, table, the_id, the_rows, value, _i, _len, _ref, _ref1;
header = "<thead><tr><th>&nbsp;</th>";
- console.log("js_data.sample_groups:", js_data.sample_groups);
- _ref = js_data.sample_groups;
+ console.log("js_data.sample_group_types:", js_data.sample_group_types);
+ _ref = js_data.sample_group_types;
for (key in _ref) {
if (!__hasProp.call(_ref, key)) continue;
value = _ref[key];
@@ -132,8 +132,8 @@
console.log("rowing");
row_line = "<tr>";
row_line += "<td id=\"" + row.vn + "\">" + row.pretty + "</td>";
- console.log("box - js_data.sample_groups:", js_data.sample_groups);
- _ref1 = js_data.sample_groups;
+ console.log("box - js_data.sample_group_types:", js_data.sample_group_types);
+ _ref1 = js_data.sample_group_types;
for (key in _ref1) {
if (!__hasProp.call(_ref1, key)) continue;
value = _ref1[key];
@@ -222,6 +222,37 @@
};
populate_sample_attributes_values_dropdown();
$('#exclude_menu').change(populate_sample_attributes_values_dropdown);
+ block_by_attribute_value = function() {
+ var attribute_name, exclude_by_value, sample, sample_list, sample_lists, sample_row, _i, _len, _results;
+ console.log("in beginning of bbav code");
+ attribute_name = $('#exclude_menu').val();
+ console.log("attribute_name is:", attribute_name);
+ exclude_by_value = $('#attribute_values').val();
+ console.log("exclude_by_value is:", exclude_by_value);
+ sample_lists = js_data['sample_lists'];
+ console.log("sample_lists is:", sample_lists);
+ _results = [];
+ for (_i = 0, _len = sample_lists.length; _i < _len; _i++) {
+ sample_list = sample_lists[_i];
+ _results.push((function() {
+ var _j, _len1, _results1;
+ _results1 = [];
+ for (_j = 0, _len1 = sample_list.length; _j < _len1; _j++) {
+ sample = sample_list[_j];
+ console.log("sample is:", sample);
+ if (sample.extra_attributes[attribute_name] === exclude_by_value) {
+ console.log("is exclude_by_value");
+ _results1.push(sample_row = $(''));
+ } else {
+ _results1.push(void 0);
+ }
+ }
+ return _results1;
+ })());
+ }
+ return _results;
+ };
+ $('#exclude_group').click(block_by_attribute_value);
console.log("before registering show_hide_outliers");
$('#show_hide_outliers').click(show_hide_outliers);
console.log("after registering show_hide_outliers");
diff --git a/wqflask/wqflask/templates/search_result_page.html b/wqflask/wqflask/templates/search_result_page.html
index 572f7fcc..c20efe40 100644
--- a/wqflask/wqflask/templates/search_result_page.html
+++ b/wqflask/wqflask/templates/search_result_page.html
@@ -171,9 +171,9 @@
<TD class="fs12 fwn ffl b1 c222" nowrap="on">{{ loop.index }}
<INPUT TYPE="checkbox" NAME="searchResult" class="checkbox" VALUE="{{ thisTrait }}" onClick="highlight(this)">
</TD>
- <TD class="fs12 fwn b1 c222">
+ <TD class="stdcell">
{# <A HREF="javascript:showDatabase3('{{ thisFormName }}','{{thisTrait.db.name}}','{{ thisTrait.name }}','{{ thisTrait.cellid }}')" class="fs12 fwn"> - </a> #}
- <a href="{{ url_for('show_trait', database=thisTrait.db.name, ProbeSetID=thisTrait.name, incparentsf1='ON', RISet='BXD')}}" class="fs12 fwn">
+ <a href="{{ url_for('show_trait_page', database=thisTrait.db.name, ProbeSetID=thisTrait.name, incparentsf1='ON', RISet='BXD')}}" class="fs12 fwn">
{{ thisTrait.name.upper() }}
</a>
</TD>
@@ -182,11 +182,11 @@
{{ thisTrait.symbol }}
</A>
</TD>
- <TD class="fs12 fwn b1 c222">{{ thisTrait.description_display }}</TD>
- <TD class="fs12 fwn b1 c222" nowrap="on">{{ thisTrait.trait_location_repr }}</TD>
- <TD class="fs12 fwn b1 c222" nowrap="ON" align="right">{{ thisTrait.mean }}</TD>
- <TD class="fs12 fwn b1 c222" nowrap="on" align="right">{{ thisTrait.LRS_score_repr }}</TD>
- <TD class="fs12 fwn b1 c222" nowrap="on">{{ thisTrait.LRS_location_repr }}</TD>
+ <TD class="stdcell">{{ thisTrait.description_display }}</TD>
+ <TD class="stdcell" nowrap="on">{{ thisTrait.trait_location_repr }}</TD>
+ <TD class="stdcell" nowrap="ON" align="right">{{ thisTrait.mean }}</TD>
+ <TD class="stdcell" nowrap="on" align="right">{{ thisTrait.LRS_score_repr }}</TD>
+ <TD class="stdcell" nowrap="on">{{ thisTrait.LRS_location_repr }}</TD>
</TR>
{% endfor %}
</TABLE>
diff --git a/wqflask/wqflask/templates/show_trait.html b/wqflask/wqflask/templates/show_trait.html
index 3d24e738..0ef86685 100644
--- a/wqflask/wqflask/templates/show_trait.html
+++ b/wqflask/wqflask/templates/show_trait.html
@@ -1238,7 +1238,7 @@
<select id="attribute_values" size=1>
</select>
{% endif %}
- <input type="button" name="exclude_group" class="button" value=" Block ">
+ <input type="button" id="exclude_group" class="button" value=" Block ">
<br>
<strong>&nbsp;&nbsp;Options:</strong>
@@ -1253,9 +1253,14 @@
</span>
<br>
<br>
- <span>&nbsp;&nbsp;Outliers highlighted in <strong style="background-color:yellow;">&nbsp;yellow&nbsp;</strong> can be hidden using
- the <strong>Hide Outliers</strong> button,<br>
- &nbsp;&nbsp;and samples with no value (x) can be hidden by clicking <strong>Hide No Value</strong> .</span><br>
+ <span>&nbsp;&nbsp;Outliers highlighted in
+ <strong style="background-color:yellow;">&nbsp;yellow&nbsp;</strong>
+ can be hidden using
+ the <strong>Hide Outliers</strong> button,
+ <br>
+ &nbsp;&nbsp;and samples with no value (x) can be hidden by clicking
+ <strong>Hide No Value</strong>t.
+ </span><br>
</div><br>
<div style="width:80%;margin:0;padding:0;border:none;">
@@ -1280,36 +1285,44 @@
{% endif %}
{% for attribute in sample_type.attributes|sort() %}
- <th class="fs13 fwb ff1 b1 cw cbrb" align="right" width="60">{{ sample_type.attributes[attribute].name }}</th>
+ <th class="fs13 fwb ff1 b1 cw cbrb" align="right" width="60">
+ {{ sample_type.attributes[attribute].name }}
+ </th>
{% endfor %}
</tr>
{% for sample in sample_type.sample_list %}
<tr class="{{ sample.class_outlier }} value_se" id="{{ sample.this_id }}">
- <td class="fs13 b1 c222" align="right" width="45">
+ <td class="std_cell" data-column_name="Index" align="right" width="45">
{{ loop.index }}
- <input type="checkbox" name="selectCheck" class="checkbox edit_sample_checkbox" value="{{ sample.name }}" checked="checked">
+ <input type="checkbox" name="selectCheck"
+ class="checkbox edit_sample_checkbox"
+ value="{{ sample.name }}" checked="checked">
</td>
- <td class="fs13 b1 c222" align="right" width="100">
- <span class="fs14 fwn ffl edit_sample_sample_name">{{ sample.name }}</span>
+ <td class="std_cell" data-column_name="Sample" align="right" width="100">
+ <span class="fs14 fwn ffl edit_sample_sample_name">
+ {{ sample.name }}
+ </span>
</td>
{# Todo: Add IDs #}
- <td class="fs13 b1 c222" align="right" width="70">
- <input type="text" name="{{ sample.name }}" class="fs13 b1 c222 edit_sample_value valueField"
+ <td class="std_cell" data-column_name="Value" align="right" width="70">
+ <input type="text" name="{{ sample.name }}"
+ class="trait_value_input edit_sample_value"
value="{{ sample.display_value }}" size="8" maxlength="8"
style="text-align:right; background-color:#FFFFFF;">
</td>
{% if sample_type.se_exists() %}
- <td class="fs13 b1 c222" align="center" width="20">
+ <td class="std_cell" align="center" width="20">
±
</td>
{# Todo: Add IDs #}
- <td class="fs13 b1 c222" align="right" width="80">
- <input type="text" name=""{{ 'V' + sample.name}}" class="fs13 b1 c222 valueField edit_sample_se"
+ <td class="std_cell" data-column_name="SE" align="right" width="80">
+ <input type="text" name=""{{ 'V' + sample.name}}"
+ class="trait_value_input edit_sample_se"
value="{{ sample.display_variance }}"
size="8" maxlength="8" style="text-align:right">
</td>
@@ -1317,7 +1330,7 @@
{# Loop through each attribute type and input value #}
{% for attribute in sample_type.attributes|sort() %}
- <td class="fd13 b1 c222" align="right" width="80">
+ <td class="std_cell" data-column_name="{{ sample_type.attributes[attribute].name }}" align="right" width="80">
{{ sample.extra_attributes[sample_type.attributes[attribute].name] }}
</td>
{% endfor %}
diff --git a/wqflask/wqflask/views.py b/wqflask/wqflask/views.py
index c38ecb47..82a08c71 100644
--- a/wqflask/wqflask/views.py
+++ b/wqflask/wqflask/views.py
@@ -94,6 +94,7 @@ def corr_compute_page():
# Todo: Can we simplify this? -Sam
def sharing_info_page():
+ """Info page displayed when the user clicks the "Info" button next to the dataset selection"""
print("In sharing_info_page")
fd = webqtlFormData.webqtlFormData(request.args)
print("2Have fd")