diff options
Diffstat (limited to 'wqflask')
-rwxr-xr-x | wqflask/base/data_set.py | 1 | ||||
-rwxr-xr-x | wqflask/base/trait.py | 35 | ||||
-rwxr-xr-x | wqflask/wqflask/do_search.py | 4 | ||||
-rwxr-xr-x | wqflask/wqflask/marker_regression/marker_regression.py | 2 | ||||
-rw-r--r-- | wqflask/wqflask/marker_regression/marker_regression_gn1.py | 22 | ||||
-rwxr-xr-x | wqflask/wqflask/static/packages/bootstrap/css/docs.css | 4 | ||||
-rwxr-xr-x | wqflask/wqflask/templates/collections/view.html | 12 | ||||
-rw-r--r-- | wqflask/wqflask/templates/marker_regression_gn1.html | 10 | ||||
-rwxr-xr-x | wqflask/wqflask/templates/search_result_page.html | 23 | ||||
-rwxr-xr-x | wqflask/wqflask/templates/show_trait.html | 37 | ||||
-rwxr-xr-x | wqflask/wqflask/templates/show_trait_details.html | 133 | ||||
-rwxr-xr-x | wqflask/wqflask/views.py | 1 |
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) }} + + {% 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> - + <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> + + {% 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> + + {% 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> + + {% 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> + {% 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> - - {% 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> - - {% 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> - - {% 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' ) |