aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xwqflask/base/data_set.py1
-rwxr-xr-xwqflask/base/trait.py35
-rwxr-xr-xwqflask/wqflask/do_search.py4
-rwxr-xr-xwqflask/wqflask/marker_regression/marker_regression.py2
-rw-r--r--wqflask/wqflask/marker_regression/marker_regression_gn1.py22
-rwxr-xr-xwqflask/wqflask/static/packages/bootstrap/css/docs.css4
-rwxr-xr-xwqflask/wqflask/templates/collections/view.html12
-rw-r--r--wqflask/wqflask/templates/marker_regression_gn1.html10
-rwxr-xr-xwqflask/wqflask/templates/search_result_page.html23
-rwxr-xr-xwqflask/wqflask/templates/show_trait.html37
-rwxr-xr-xwqflask/wqflask/templates/show_trait_details.html133
-rwxr-xr-xwqflask/wqflask/views.py1
12 files changed, 160 insertions, 124 deletions
diff --git a/wqflask/base/data_set.py b/wqflask/base/data_set.py
index aaea7ec3..6cabadb1 100755
--- a/wqflask/base/data_set.py
+++ b/wqflask/base/data_set.py
@@ -166,7 +166,6 @@ class Markers(object):
for marker in markers:
if (marker['chr'] != "X") and (marker['chr'] != "Y"):
marker['chr'] = int(marker['chr'])
- print("Mb:", marker['Mb'])
marker['Mb'] = float(marker['Mb'])
self.markers = markers
diff --git a/wqflask/base/trait.py b/wqflask/base/trait.py
index eb9bc940..ff149ba3 100755
--- a/wqflask/base/trait.py
+++ b/wqflask/base/trait.py
@@ -221,32 +221,6 @@ class GeneralTrait(object):
if samplelist == None:
samplelist = []
- #assert self.dataset
-
- #if self.cellid:
- # #Probe Data
- # query = '''
- # SELECT
- # Strain.Name, ProbeData.value, ProbeSE.error, ProbeData.Id
- # FROM
- # (ProbeData, ProbeFreeze, ProbeSetFreeze, ProbeXRef,
- # Strain, Probe, ProbeSet)
- # left join ProbeSE on
- # (ProbeSE.DataId = ProbeData.Id AND ProbeSE.StrainId = ProbeData.StrainId)
- # WHERE
- # Probe.Name = '%s' AND ProbeSet.Name = '%s' AND
- # Probe.ProbeSetId = ProbeSet.Id AND
- # ProbeXRef.ProbeId = Probe.Id AND
- # ProbeXRef.ProbeFreezeId = ProbeFreeze.Id AND
- # ProbeSetFreeze.ProbeFreezeId = ProbeFreeze.Id AND
- # ProbeSetFreeze.Name = '%s' AND
- # ProbeXRef.DataId = ProbeData.Id AND
- # ProbeData.StrainId = Strain.Id
- # Order BY
- # Strain.Name
- # ''' % (self.cellid, self.name, self.dataset.name)
- #
- #else:
results = self.dataset.retrieve_sample_data(self.name)
# Todo: is this necessary? If not remove
@@ -260,15 +234,6 @@ class GeneralTrait(object):
if not samplelist or (samplelist and name in samplelist):
self.data[name] = webqtlCaseData(*item) #name, value, variance, num_cases)
- #def keys(self):
- # return self.__dict__.keys()
- #
- #def has_key(self, key):
- # return self.__dict__.has_key(key)
- #
- #def items(self):
- # return self.__dict__.items()
-
def retrieve_info(self, get_qtl_info=False):
assert self.dataset, "Dataset doesn't exist"
if self.dataset.type == 'Publish':
diff --git a/wqflask/wqflask/do_search.py b/wqflask/wqflask/do_search.py
index a6f9c949..0e2dd27a 100755
--- a/wqflask/wqflask/do_search.py
+++ b/wqflask/wqflask/do_search.py
@@ -171,6 +171,7 @@ class MrnaAssaySearch(DoSearch):
WHERE %s
and ProbeSet.Id = ProbeSetXRef.ProbeSetId
and ProbeSetXRef.ProbeSetFreezeId = %s
+ ORDER BY ProbeSet.symbol ASC
""" % (escape(from_clause),
where_clause,
escape(str(self.dataset.id))))
@@ -192,6 +193,7 @@ class MrnaAssaySearch(DoSearch):
WHERE %s
and ProbeSet.Id = ProbeSetXRef.ProbeSetId
and ProbeSetXRef.ProbeSetFreezeId = %s
+ ORDER BY ProbeSet.symbol ASC
""" % (escape(from_clause),
where_clause,
escape(str(self.dataset.id))))
@@ -205,7 +207,7 @@ class MrnaAssaySearch(DoSearch):
print("Running ProbeSetSearch")
where_clause = self.get_where_clause()
- query = self.base_query + "WHERE " + where_clause
+ query = self.base_query + "WHERE " + where_clause + "ORDER BY ProbeSet.symbol ASC"
#print("final query is:", pf(query))
diff --git a/wqflask/wqflask/marker_regression/marker_regression.py b/wqflask/wqflask/marker_regression/marker_regression.py
index a6fa5274..37f9351d 100755
--- a/wqflask/wqflask/marker_regression/marker_regression.py
+++ b/wqflask/wqflask/marker_regression/marker_regression.py
@@ -84,6 +84,8 @@ class MarkerRegression(object):
self.selected_chr = -1
if "selected_chr" in start_vars:
self.selected_chr = int(start_vars['selected_chr'])
+ if "mb_range" in start_vars:
+ self.mb_range = start_vars['mb_range']
self.dataset.group.get_markers()
if self.mapping_method == "gemma":
diff --git a/wqflask/wqflask/marker_regression/marker_regression_gn1.py b/wqflask/wqflask/marker_regression/marker_regression_gn1.py
index a7b5fad3..56286ee6 100644
--- a/wqflask/wqflask/marker_regression/marker_regression_gn1.py
+++ b/wqflask/wqflask/marker_regression/marker_regression_gn1.py
@@ -295,8 +295,11 @@ class MarkerRegression(object):
self.SNPChecked = False
self.draw2X = False
self.lrsMax = 0
- self.startMb = -1
- self.endMb = -1
+ if 'mb_range' in start_vars:
+ self.startMb, self.endMb = [float(x) for x in start_vars['mb_range'].split(',')]
+ else:
+ self.startMb = -1
+ self.endMb = -1
#self.additiveChecked = fd.formdata.getvalue('additiveCheck')
#self.dominanceChecked = fd.formdata.getvalue('dominanceCheck')
@@ -1597,7 +1600,7 @@ class MarkerRegression(object):
WEBQTL_COORDS = "%d, %d, %d, %d" % (xBrowse1, paddingTop, xBrowse2, (paddingTop+self.WEBQTL_BAND_HEIGHT))
bandWidth = xBrowse2 - xBrowse1
- WEBQTL_HREF = "javascript:centerIntervalMapOnRange2('%s', %f, %f, document.changeViewForm)" % (currentChromosome, max(0, (calBase-webqtlZoomWidth))/1000000.0, (calBase+webqtlZoomWidth)/1000000.0)
+ WEBQTL_HREF = "javascript:rangeView('%s', %f, %f)" % (self.selectedChr, max(0, (calBase-webqtlZoomWidth))/1000000.0, (calBase+webqtlZoomWidth)/1000000.0)
WEBQTL_TITLE = "Click to view this section of the genome in WebQTL"
gifmap.areas.append(HT.Area(shape='rect',coords=WEBQTL_COORDS,href=WEBQTL_HREF, title=WEBQTL_TITLE))
@@ -1606,9 +1609,9 @@ class MarkerRegression(object):
UCSC_COORDS = "%d, %d, %d, %d" %(xBrowse1, ucscPaddingTop, xBrowse2, (ucscPaddingTop+self.UCSC_BAND_HEIGHT))
if self.species == "mouse":
- UCSC_HREF = "http://genome.ucsc.edu/cgi-bin/hgTracks?db=%s&position=chr%s:%d-%d&hgt.customText=%s/snp/chr%s" % (self._ucscDb, currentChromosome, max(0, calBase-flankingWidthInBases), calBase+flankingWidthInBases, webqtlConfig.PORTADDR, currentChromosome)
+ UCSC_HREF = "http://genome.ucsc.edu/cgi-bin/hgTracks?db=%s&position=chr%s:%d-%d&hgt.customText=%s/snp/chr%s" % (self._ucscDb, self.selectedChr, max(0, calBase-flankingWidthInBases), calBase+flankingWidthInBases, webqtlConfig.PORTADDR, self.selectedChr)
else:
- UCSC_HREF = "http://genome.ucsc.edu/cgi-bin/hgTracks?db=%s&position=chr%s:%d-%d" % (self._ucscDb, currentChromosome, max(0, calBase-flankingWidthInBases), calBase+flankingWidthInBases)
+ UCSC_HREF = "http://genome.ucsc.edu/cgi-bin/hgTracks?db=%s&position=chr%s:%d-%d" % (self._ucscDb, self.selectedChr, max(0, calBase-flankingWidthInBases), calBase+flankingWidthInBases)
UCSC_TITLE = "Click to view this section of the genome in the UCSC Genome Browser"
gifmap.areas.append(HT.Area(shape='rect',coords=UCSC_COORDS,href=UCSC_HREF, title=UCSC_TITLE))
canvas.drawRect(xBrowse1, ucscPaddingTop, xBrowse2, (ucscPaddingTop+self.UCSC_BAND_HEIGHT), edgeColor=self.CLICKABLE_UCSC_REGION_COLOR, fillColor=self.CLICKABLE_UCSC_REGION_COLOR)
@@ -1616,9 +1619,9 @@ class MarkerRegression(object):
ENSEMBL_COORDS = "%d, %d, %d, %d" %(xBrowse1, ensemblPaddingTop, xBrowse2, (ensemblPaddingTop+self.ENSEMBL_BAND_HEIGHT))
if self.species == "mouse":
- ENSEMBL_HREF = "http://www.ensembl.org/Mus_musculus/contigview?highlight=&chr=%s&vc_start=%d&vc_end=%d&x=35&y=12" % (currentChromosome, max(0, calBase-flankingWidthInBases), calBase+flankingWidthInBases)
+ ENSEMBL_HREF = "http://www.ensembl.org/Mus_musculus/contigview?highlight=&chr=%s&vc_start=%d&vc_end=%d&x=35&y=12" % (self.selectedChr, max(0, calBase-flankingWidthInBases), calBase+flankingWidthInBases)
else:
- ENSEMBL_HREF = "http://www.ensembl.org/Rattus_norvegicus/contigview?chr=%s&start=%d&end=%d" % (currentChromosome, max(0, calBase-flankingWidthInBases), calBase+flankingWidthInBases)
+ ENSEMBL_HREF = "http://www.ensembl.org/Rattus_norvegicus/contigview?chr=%s&start=%d&end=%d" % (self.selectedChr, max(0, calBase-flankingWidthInBases), calBase+flankingWidthInBases)
ENSEMBL_TITLE = "Click to view this section of the genome in the Ensembl Genome Browser"
gifmap.areas.append(HT.Area(shape='rect',coords=ENSEMBL_COORDS,href=ENSEMBL_HREF, title=ENSEMBL_TITLE))
canvas.drawRect(xBrowse1, ensemblPaddingTop, xBrowse2, (ensemblPaddingTop+self.ENSEMBL_BAND_HEIGHT), edgeColor=self.CLICKABLE_ENSEMBL_REGION_COLOR, fillColor=self.CLICKABLE_ENSEMBL_REGION_COLOR)
@@ -1632,7 +1635,7 @@ class MarkerRegression(object):
#draw the gray text
chrFont = pid.Font(ttf="verdana", size=26*zoom, bold=1)
traitFont = pid.Font(ttf="verdana", size=14, bold=0)
- chrX = xLeftOffset + plotWidth - 2 - canvas.stringWidth("Chr %s" % currentChromosome, font=chrFont)
+ chrX = xLeftOffset + plotWidth - 2 - canvas.stringWidth("Chr %s" % self.selectedChr, font=chrFont)
canvas.drawString("Chr %s" % currentChromosome, chrX, ensemblPaddingTop-5, font=chrFont, color=pid.gray)
traitX = chrX - 28 - canvas.stringWidth("database", font=traitFont)
# end of drawBrowserClickableRegions
@@ -2752,7 +2755,8 @@ class MarkerRegression(object):
geneSymbolNCBI = theGO["GeneSymbol"]
geneLength = (float(theGO["TxEnd"]) - float(theGO["TxStart"]))
- geneLengthURL = "javascript:centerIntervalMapOnRange2('%s', %f, %f, document.changeViewForm)" % (theGO["Chromosome"], float(theGO["TxStart"])-(geneLength*0.1), float(theGO["TxEnd"])+(geneLength*0.1))
+ #geneLengthURL = "javascript:centerIntervalMapOnRange2('%s', %f, %f, document.changeViewForm)" % (theGO["Chromosome"], float(theGO["TxStart"])-(geneLength*0.1), float(theGO["TxEnd"])+(geneLength*0.1))
+ geneLengthURL = "javascript:rangeView('%s', %f, %f)" % (theGO["Chromosome"], float(theGO["TxStart"])-(geneLength*0.1), float(theGO["TxEnd"])+(geneLength*0.1))
avgExprVal = []
if avgExprVal != "" and avgExprVal:
diff --git a/wqflask/wqflask/static/packages/bootstrap/css/docs.css b/wqflask/wqflask/static/packages/bootstrap/css/docs.css
index 2d6a713c..31616821 100755
--- a/wqflask/wqflask/static/packages/bootstrap/css/docs.css
+++ b/wqflask/wqflask/static/packages/bootstrap/css/docs.css
@@ -94,7 +94,7 @@ hr.soften {
.jumbotron {
position: relative;
padding: 0px 0;
- color: #336699;
+ color: black;
text-align: left;
text-shadow: 0 1px 3px rgba(0,0,0,.4), 0 0 30px rgba(0,0,0,.075);
background: #d5d5d5; /* Old browsers */
@@ -107,7 +107,7 @@ hr.soften {
line-height: 1;
}
.jumbotron p {
- font-size: 15px;
+ font-size: 20px;
font-weight: 300;
line-height: 20px;
margin-bottom: 10px;
diff --git a/wqflask/wqflask/templates/collections/view.html b/wqflask/wqflask/templates/collections/view.html
index a53759c4..f92d9984 100755
--- a/wqflask/wqflask/templates/collections/view.html
+++ b/wqflask/wqflask/templates/collections/view.html
@@ -8,13 +8,17 @@
{% endblock %}
{% block content %}
<!-- Start of body -->
+
+ <div class="container">
{% if uc %}
- {{ header(uc.name,
- 'This collection has {}.'.format(numify(trait_obs|count, "record", "records"))) }}
+ <h2>{{ uc.name }}</h2>
+ <h3>{{ 'This collection has {}.'.format(numify(trait_obs|count, "record", "records")) }}</h3>
{% else %}
- {{ header('Your Collection',
- 'This collection has {}.'.format(numify(trait_obs|count, "record", "records"))) }}
+ <h2>Your Collection</h2>
+ <h3>{{ 'This collection has {}.'.format(numify(trait_obs|count, "record", "records")) }}</h3>
{% endif %}
+ </div>
+
<div class="container">
<div>
{% if uc %}
diff --git a/wqflask/wqflask/templates/marker_regression_gn1.html b/wqflask/wqflask/templates/marker_regression_gn1.html
index 9f7dd41f..dd8ae236 100644
--- a/wqflask/wqflask/templates/marker_regression_gn1.html
+++ b/wqflask/wqflask/templates/marker_regression_gn1.html
@@ -20,6 +20,7 @@
<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="mb_range" value="{{ startMb|string + "," + endMb|string }}">
<input type="hidden" name="manhattan_plot">
<input type="hidden" name="num_perm">
<input type="hidden" name="do_control" value="{{ doControl }}">
@@ -145,6 +146,15 @@
return $('#marker_regression_form').submit();
};
+ rangeView = function(this_chr, start_mb, end_mb) {
+ $('input[name=selected_chr]').val(this_chr)
+ $('input[name=mb_range]').val(start_mb + "," + end_mb)
+
+ console.log("mb_range:", $('input[name=mb_range]').val())
+
+ return $('#marker_regression_form').submit();
+ };
+
</script>
{% endblock %}
diff --git a/wqflask/wqflask/templates/search_result_page.html b/wqflask/wqflask/templates/search_result_page.html
index ff3e04bb..a4ef68b9 100755
--- a/wqflask/wqflask/templates/search_result_page.html
+++ b/wqflask/wqflask/templates/search_result_page.html
@@ -2,6 +2,7 @@
{% block title %}Search Results{% endblock %}
{% block css %}
<link rel="stylesheet" type="text/css" href="/static/new/packages/DataTables/css/jquery.dataTables.css" />
+ <link rel="stylesheet" type="text/css" href="//cdn.datatables.net/scroller/1.4.1/css/scroller.dataTables.min.css">
<link rel="stylesheet" type="text/css" href="/static/new/packages/DataTables/extensions/dataTables.fixedHeader.css" >
<link rel="stylesheet" type="text/css" href="//cdn.datatables.net/fixedcolumns/3.0.4/css/dataTables.fixedColumns.css">
<link rel="stylesheet" type="text/css" href="/static/new/packages/DataTables/extensions/buttons.bootstrap.css" />
@@ -161,6 +162,7 @@
<script language="javascript" type="text/javascript" src="https://cdn.datatables.net/1.10.8/js/jquery.dataTables.min.js"></script>
<script language="javascript" type="text/javascript" src="https://cdn.datatables.net/buttons/1.0.0/js/dataTables.buttons.min.js"></script>
+ <script language="javascript" type="text/javascript" src="https://cdn.datatables.net/scroller/1.4.1/js/dataTables.scroller.min.js"></script>
<script language="javascript" type="text/javascript" src="https://cdn.datatables.net/buttons/1.0.0/js/buttons.html5.min.js"></script>
<script language="javascript" type="text/javascript" src="https://cdn.datatables.net/buttons/1.0.0/js/buttons.bootstrap.min.js"></script>
<script language="javascript" type="text/javascript" src="/static/new/js_external/jszip.min.js"></script>
@@ -217,8 +219,29 @@
}
});
+/*
+ serverSide: true,
+ ajax: function ( data, callback, settings ) {
+ var out = [];
+
+ for ( var i=data.start, ien=data.start+data.length ; i<ien ; i++ ) {
+ out.push( [ i+'-1', i+'-2', i+'-3', i+'-4', i+'-5' ] );
+ }
+
+ setTimeout( function () {
+ callback( {
+ draw: data.draw,
+ data: out,
+ recordsTotal: 5000000,
+ recordsFiltered: 5000000
+ } );
+ }, 50 );
+ },
+*/
+
console.time("Creating table");
{% if dataset.type == 'ProbeSet' %}
+ //ZS: Need to make sort by symbol, also need to make sure blank symbol fields at the bottom and symbols starting with numbers below letters
$('#trait_table').DataTable( {
"columns": [
{ "type": "natural" },
diff --git a/wqflask/wqflask/templates/show_trait.html b/wqflask/wqflask/templates/show_trait.html
index 0d463d5b..4720f8ec 100755
--- a/wqflask/wqflask/templates/show_trait.html
+++ b/wqflask/wqflask/templates/show_trait.html
@@ -16,13 +16,18 @@
{% endblock %}
{% block content %} <!-- Start of body -->
+<!--
{% if this_trait.dataset.type != 'Geno' %}
{{ header("{}".format(this_trait.name_header_fmt),
'{}: {}'.format(this_trait.name, this_trait.description_fmt)) }}
{% else %}
{{ header("{}".format(this_trait.name_header_fmt)) }}
{% endif %}
-
+-->
+ <div class="container">
+ <h2>Trait Data and Analysis for <b>{{ this_trait.name }}</b></h2>
+ <h3>{{ this_trait.description_fmt }}</h3>
+ </div>
<form method="post" target="_blank" action="/corr_compute" name="trait_page" id="trait_data_form"
class="form-horizontal">
@@ -36,40 +41,50 @@
<input type="hidden" name="temp_uuid" id="temp_uuid" value="{{ temp_uuid }}">
<div class="container">
-
- {% include 'show_trait_details.html' %}
<div class="panel-group" id="accordion">
<div class="panel panel-default">
- <div class="panel-heading" data-toggle="collapse" data-parent="#accordion" data-target="#collapseOne">
+ <div class="panel-heading" data-toggle="collapse" data-parent="#accordion" data-target="#collapseOne" aria-expanded="true">
+ <h3 class="panel-title">
+ <span class="glyphicon glyphicon-chevron-down"></span> Details and Links
+ </h3>
+ </div>
+ <div id="collapseOne" class="panel-collapse collapse" aria-expanded="true">
+ <div class="panel-body">
+ {% include 'show_trait_details.html' %}
+ </div>
+ </div>
+ </div>
+ <div class="panel panel-default">
+ <div class="panel-heading" data-toggle="collapse" data-parent="#accordion" data-target="#collapseTwo">
<h3 class="panel-title">
<span class="glyphicon glyphicon-chevron-down"></span> Statistics
</h3>
</div>
- <div id="collapseOne" class="panel-collapse collapse in">
+ <div id="collapseTwo" class="panel-collapse collapse in">
<div class="panel-body">
{% include 'show_trait_statistics.html' %}
</div>
</div>
</div>
<div class="panel panel-default">
- <div class="panel-heading" data-toggle="collapse" data-parent="#accordion" data-target="#collapseTwo">
+ <div class="panel-heading" data-toggle="collapse" data-parent="#accordion" data-target="#collapseThree">
<h3 class="panel-title">
<span class="glyphicon glyphicon-chevron-down"></span> Calculate Correlations
</h3>
</div>
- <div id="collapseTwo" class="panel-collapse collapse in">
+ <div id="collapseThree" class="panel-collapse collapse in">
<div class="panel-body">
{% include 'show_trait_calculate_correlations.html' %}
</div>
</div>
</div>
<div class="panel panel-default">
- <div class="panel-heading" data-toggle="collapse" data-parent="#accordion" data-target="#collapseThree">
+ <div class="panel-heading" data-toggle="collapse" data-parent="#accordion" data-target="#collapseFour">
<h3 class="panel-title">
<span class="glyphicon glyphicon-chevron-down"></span> Mapping Tools
</h3>
</div>
- <div id="collapseThree" class="panel-collapse collapse in">
+ <div id="collapseFour" class="panel-collapse collapse in">
<div class="panel-body">
{% include 'show_trait_mapping_tools.html' %}
</div>
@@ -77,12 +92,12 @@
</div>
</div>
<div class="panel panel-default">
- <div class="panel-heading" data-toggle="collapse" data-parent="#accordion" data-target="#collapseFour" aria-expanded="true">
+ <div class="panel-heading" data-toggle="collapse" data-parent="#accordion" data-target="#collapseFive" aria-expanded="true">
<h3 class="panel-title">
<span class="glyphicon glyphicon-chevron-up"></span> Review and Edit Data
</h3>
</div>
- <div id="collapseFour" class="panel-collapse collapse" aria-expanded="true">
+ <div id="collapseFive" class="panel-collapse collapse" aria-expanded="true">
<div class="panel-body">
{% include 'show_trait_edit_data.html' %}
</div>
diff --git a/wqflask/wqflask/templates/show_trait_details.html b/wqflask/wqflask/templates/show_trait_details.html
index 16c5dc47..ccb3b51b 100755
--- a/wqflask/wqflask/templates/show_trait_details.html
+++ b/wqflask/wqflask/templates/show_trait_details.html
@@ -1,71 +1,82 @@
-<dl class="dl-horizontal">
- <dt>Species</dt>
- <dd>{{ this_trait.dataset.group.species }}</dd>
- <dt>Group</dt>
- <dd>{{ this_trait.dataset.group.name }}</dd>
- <dt>Tissue</dt>
- <dd>{{ this_trait.dataset.tissue }}</dd>
+<table class="table">
+ <tr>
+ <td>Species</td>
+ <td>{{ this_trait.dataset.group.species }}</td>
+ </tr>
+ <tr>
+ <td>Group</td>
+ <td>{{ this_trait.dataset.group.name }}</td>
+ </tr>
+ <tr>
+ <td>Tissue</td>
+ <td>{{ this_trait.dataset.tissue }}</td>
+ </tr>
{% if this_trait.dataset.type == 'ProbeSet' %}
- <dt>Aliases</dt>
- <dd>{{ this_trait.alias_fmt }}</dd>
+ <tr>
+ <td>Aliases</td>
+ <td>{{ this_trait.alias_fmt|replace(",",";") }}</td>
+ </tr>
{% endif %}
-
{% if this_trait.dataset.type != 'Publish' %}
- <dt>Location</dt>
- <dd>{{ this_trait.location_fmt }}</dd>
+ <tr>
+ <td>Location</td>
+ <td>{{ this_trait.location_fmt }}</td>
+ </tr>
{% endif %}
-
- <dt>Database</dt>
- <dd>
- <a href="{{ url_for('static', filename='dbdoc/' + dataset.fullname + '.html') }}" target="_blank">
- {{ dataset.name }}
- </a>
- </dd>
-
+ <tr>
+ <td>Database</td>
+ <td>
+ <a href="{{ url_for('static', filename='dbdoc/' + dataset.fullname + '.html') }}" target="_blank">
+ {{ dataset.fullname }}
+ </a>
+ </td>
+ </tr>
{% if this_trait.probe_set_specificity %}
- <dt>
- <a href="/blatInfo.html" target="_blank"
- title="Values higher than 2 for the specificity are good">
- BLAT Specificity
- </a>
- </dt>
- <dd>{{ "%0.3f" | format(this_trait.probe_set_specificity|float) }}</dd>
+ <tr>
+ <td>Target Score</td>
+ <td>
+ <a href="/blatInfo.html" target="_blank"
+ title="Values higher than 2 for the specificity are good">
+ BLAT Specificity
+ </a>:
+ {{ "%0.3f" | format(this_trait.probe_set_specificity|float) }}
+ &nbsp;&nbsp;
+ {% if this_trait.probe_set_blat_score %}
+ Score: {{ "%0.3f" | format(this_trait.probe_set_blat_score|float) }}
+ {% endif %}
+ </td>
+ </tr>
{% endif %}
- {% if this_trait.probe_set_blat_score %}
- <dt>BLAT Score</dt>
- <dd>{{ "%0.3f" | format(this_trait.probe_set_blat_score|float) }}</dd>
- {% endif %}
- <dt>Resource Links</dt>
- {% if this_trait.dataset.type == 'ProbeSet' %}
- <dd>
- {% if this_trait.geneid != None %}
- <a href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=gene&cmd=Retrieve&dopt=Graphics&list_uids={{ this_trait.geneid }}" target="_blank" title="Info from NCBI Entrez Gene">
- Gene
- </a>
- &nbsp;&nbsp;
+ <tr>
+ <td>Resource Links</td>
+ <td>
+ {% if this_trait.geneid != None %}
+ <a href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=gene&cmd=Retrieve&dopt=Graphics&list_uids={{ this_trait.geneid }}" target="_blank" title="Info from NCBI Entrez Gene">
+ Gene
+ </a>
+ &nbsp;&nbsp;
+ {% endif %}
+ {% if this_trait.omim != None %}
+ <a href="http://www.ncbi.nlm.nih.gov/omim/{{ this_trait.omim }}" target="_blank" title="Summary from On Mendelion Inheritance in Man">
+ OMIM
+ </a>
+ &nbsp;&nbsp;
+ {% endif %}
+ {% if this_trait.genbankid != None %}
+ <a href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=Nucleotide&cmd=search&doptcmdl=DocSum&term={{ this_trait.genbankid }}" target="_blank" title="Find the original GenBank sequence used to design the probes">
+ GenBank
+ </a>
+ &nbsp;&nbsp;
+ {% endif %}
+ {% if this_trait.symbol != None %}
+ <a href="http://www.genotation.org/Getd2g.pl?gene_list={{ this_trait.symbol }}" target="_blank" title="Related descriptive, genomic, clinical, functional and drug-therapy information">
+ Genotation
+ </a>
+ &nbsp;&nbsp;
{% endif %}
- {% if this_trait.omim != None %}
- <a href="http://www.ncbi.nlm.nih.gov/omim/{{ this_trait.omim }}" target="_blank" title="Summary from On Mendelion Inheritance in Man">
- OMIM
- </a>
- &nbsp;&nbsp;
- {% endif %}
- {% if this_trait.genbankid != None %}
- <a href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=Nucleotide&cmd=search&doptcmdl=DocSum&term={{ this_trait.genbankid }}" target="_blank" title="Find the original GenBank sequence used to design the probes">
- GenBank
- </a>
- &nbsp;&nbsp;
- {% endif %}
- {% if this_trait.symbol != None %}
- <a href="http://www.genotation.org/Getd2g.pl?gene_list={{ this_trait.symbol }}" target="_blank" title="Related descriptive, genomic, clinical, functional and drug-therapy information">
- Genotation
- </a>
- &nbsp;&nbsp;
- {% endif %}
- </dd>
- {% endif %}
-</dl>
-
+ </td>
+ </tr>
+</table>
<div style="margin-bottom:15px;" class="btn-toolbar">
<div class="btn-group">
diff --git a/wqflask/wqflask/views.py b/wqflask/wqflask/views.py
index b42e0d4c..65b6dae4 100755
--- a/wqflask/wqflask/views.py
+++ b/wqflask/wqflask/views.py
@@ -352,6 +352,7 @@ def marker_regression_page():
'control_marker_db',
'do_control',
'pair_scan',
+ 'mb_range',
'mapmethod_rqtl_geno',
'mapmodel_rqtl_geno'
)