From e14f913da79111c3db8d6faced45d92281865cb1 Mon Sep 17 00:00:00 2001 From: zsloan Date: Fri, 1 Mar 2019 10:30:52 -0600 Subject: Added more information to the top-right corner of the mapping results Fixed sorting issues on correlation page --- .../marker_regression/display_mapping_results.py | 67 ++++++++++++++-------- wqflask/wqflask/templates/correlation_page.html | 56 ++++++++---------- wqflask/wqflask/views.py | 7 ++- 3 files changed, 70 insertions(+), 60 deletions(-) diff --git a/wqflask/wqflask/marker_regression/display_mapping_results.py b/wqflask/wqflask/marker_regression/display_mapping_results.py index fa20e8ad..2d0ed1d7 100644 --- a/wqflask/wqflask/marker_regression/display_mapping_results.py +++ b/wqflask/wqflask/marker_regression/display_mapping_results.py @@ -24,7 +24,7 @@ # # Last updated by Zach 12/14/2010 -import time +import datetime import string from math import * import piddle as pid @@ -146,6 +146,7 @@ class DisplayMappingResults(object): self.dataset = start_vars['dataset'] self.this_trait = start_vars['this_trait'] + self.n_samples = len(start_vars['vals']) self.species = start_vars['species'] if 'genofile_string' in start_vars: self.genofile_string = start_vars['genofile_string'] @@ -474,10 +475,10 @@ class DisplayMappingResults(object): #calculating margins xLeftOffset, xRightOffset, yTopOffset, yBottomOffset = offset if self.multipleInterval: - yTopOffset = max(80, yTopOffset) + yTopOffset = max(90, yTopOffset) else: if self.legendChecked: - yTopOffset = max(80, yTopOffset) + yTopOffset = max(90, yTopOffset) else: pass @@ -879,52 +880,68 @@ class DisplayMappingResults(object): labelFont = pid.Font(ttf="verdana",size=12*fontZoom) labelColor = pid.black - if self.selectedChr == -1: - string1 = 'Mapping for Dataset: %s, mapping on All Chromosomes' % self.dataset.group.name + if self.dataset.type == "Publish" or self.dataset.type == "Geno": + dataset_label = self.dataset.fullname else: - string1 = 'Mapping for Dataset: %s, mapping on Chromosome %s' % (self.dataset.group.name, self.ChrList[self.selectedChr][0]) + dataset_label = "%s - %s" % (self.dataset.group.name, self.dataset.fullname) - string3 = '' + string1 = 'Dataset: %s' % (dataset_label) + + string2 = 'Using Genotype File: %s' % self.genofile_string + + string4 = '' if self.mapping_method == "gemma" or self.mapping_method == "gemma_bimbam": if self.use_loco == "True": - string2 = 'Using GEMMA mapping method with LOCO and ' + string3 = 'Using GEMMA mapping method with LOCO and ' else: - string2 = 'Using GEMMA mapping method with ' + string3 = 'Using GEMMA mapping method with ' if self.covariates != "": - string2 += 'the cofactors below:' + string3 += 'the cofactors below:' cofactor_names = ", ".join([covar.split(":")[0] for covar in self.covariates.split(",")]) - string3 = cofactor_names + string4 = cofactor_names else: - string2 += 'no cofactors' + string3 += 'no cofactors' elif self.mapping_method == "rqtl_plink" or self.mapping_method == "rqtl_geno": - string2 = 'Using R/qtl mapping method with ' + string3 = 'Using R/qtl mapping method with ' if self.controlLocus and self.doControl != "false": - string2 += '%s as control' % self.controlLocus + string3 += '%s as control' % self.controlLocus else: - string2 += 'no control for other QTLs' - elif self.mapping_method == "plink": - string2 = 'Using PLINK mapping method with no control for other QTLs' + string3 += 'no control for other QTLs' else: - string2 = 'Using Haldane mapping function with ' + string3 = 'Using Haldane mapping function with ' if self.controlLocus and self.doControl != "false": - string2 += '%s as control' % self.controlLocus + string3 += '%s as control' % self.controlLocus else: - string2 += 'no control for other QTLs' + string3 += 'no control for other QTLs' if self.this_trait.name: + if self.selectedChr == -1: + identification = "Mapping on All Chromosomes for " + else: + identification = "Mapping on Chromosome %s for " % (self.ChrList[self.selectedChr][0]) + if self.this_trait.symbol: - identification = "Trait ID: %s : %s : %s" % (self.this_trait.symbol, self.dataset.fullname, self.this_trait.name) + identification += "Trait: %s - %s" % (self.this_trait.name, self.this_trait.symbol) + elif self.this_trait.post_publication_abbreviation: + identification += "Trait: %s - %s" % (self.this_trait.name, self.this_trait.post_publication_abbreviation) + elif self.this_trait.pre_publication_abbreviation: + identification += "Trait: %s - %s" % (self.this_trait.name, self.this_trait.pre_publication_abbreviation) else: - identification = "Trait ID: %s : %s" % (self.dataset.fullname, self.this_trait.name) + identification += "Trait: %s" % (self.this_trait.name) + identification += " with %s samples" % (self.n_samples) + d = 4+ max(canvas.stringWidth(identification, font=labelFont), canvas.stringWidth(string1, font=labelFont), canvas.stringWidth(string2, font=labelFont)) canvas.drawString(identification,canvas.size[0] - xRightOffset-d,20*fontZoom,font=labelFont,color=labelColor) else: d = 4+ max(canvas.stringWidth(string1, font=labelFont), canvas.stringWidth(string2, font=labelFont)) canvas.drawString(string1,canvas.size[0] - xRightOffset-d,35*fontZoom,font=labelFont,color=labelColor) canvas.drawString(string2,canvas.size[0] - xRightOffset-d,50*fontZoom,font=labelFont,color=labelColor) - if string3 != '': - canvas.drawString(string3,canvas.size[0] - xRightOffset-d,65*fontZoom,font=labelFont,color=labelColor) - + canvas.drawString(string3,canvas.size[0] - xRightOffset-d,65*fontZoom,font=labelFont,color=labelColor) + if string4 != '': + canvas.drawString(string4,canvas.size[0] - xRightOffset-d,80*fontZoom,font=labelFont,color=labelColor) + canvas.drawString("Created at: " + str(datetime.datetime.now()).split('.')[0], canvas.size[0] - xRightOffset-d,95*fontZoom,font=labelFont,color=labelColor) + else: + canvas.drawString("Created at: " + str(datetime.datetime.now()).split('.')[0], canvas.size[0] - xRightOffset-d,80*fontZoom,font=labelFont,color=labelColor) def drawGeneBand(self, canvas, gifmap, plotXScale, offset= (40, 120, 80, 10), zoom = 1, startMb = None, endMb = None): if self.plotScale != 'physic' or self.selectedChr == -1 or not self.geneCol: diff --git a/wqflask/wqflask/templates/correlation_page.html b/wqflask/wqflask/templates/correlation_page.html index 76513c82..2b5a7f33 100644 --- a/wqflask/wqflask/templates/correlation_page.html +++ b/wqflask/wqflask/templates/correlation_page.html @@ -229,42 +229,36 @@ + +