From 30e8aaad9672151c4b6bc43ea386d0d39ca131a7 Mon Sep 17 00:00:00 2001
From: zsloan
Date: Wed, 9 Dec 2020 16:18:07 -0600
Subject: Exchanged metadata and legend positions and made some changes to Y
positioning for the metadata
---
.../marker_regression/display_mapping_results.py | 39 +++++++++++++---------
1 file changed, 24 insertions(+), 15 deletions(-)
(limited to 'wqflask')
diff --git a/wqflask/wqflask/marker_regression/display_mapping_results.py b/wqflask/wqflask/marker_regression/display_mapping_results.py
index 08c2d750..9f778160 100644
--- a/wqflask/wqflask/marker_regression/display_mapping_results.py
+++ b/wqflask/wqflask/marker_regression/display_mapping_results.py
@@ -644,8 +644,10 @@ class DisplayMappingResults(object):
yTopOffset = max(90, yTopOffset)
else:
if self.legendChecked:
- if self.covariates != "" and self.controlLocus and self.doControl != "false":
- yTopOffset = max(120, yTopOffset)
+ if (self.mapping_method == "gemma" or self.mapping_method == "rqtl_geno") and self.covariates != "":
+ yTopOffset = max(115, yTopOffset)
+ elif self.mapping_method == "rqtl_geno" and self.controlLocus and self.doControl != "false" and self.covariates != "":
+ yTopOffset = max(130, yTopOffset)
else:
yTopOffset = max(100, yTopOffset)
else:
@@ -859,13 +861,12 @@ class DisplayMappingResults(object):
if self.legendChecked:
startPosY = 30
- nCol = 2
smallLabelFont = ImageFont.truetype(font=TREBUC_FILE, size=12*fontZoom)
- leftOffset = xLeftOffset+(nCol-1)*200
+ leftOffset = canvas.size[0] - xRightOffset - 190
im_drawer.rectangle(
xy=((leftOffset, startPosY-6), (leftOffset+12, startPosY+6)),
fill=YELLOW, outline=BLACK)
- im_drawer.text(xy=(leftOffset+ 20, startPosY+TEXT_Y_DISPLACEMENT),
+ im_drawer.text(xy=(canvas.size[0] - xRightOffset - 170, startPosY+TEXT_Y_DISPLACEMENT),
text='Frequency of the Peak LRS',
font=smallLabelFont, fill=BLACK)
@@ -1069,7 +1070,7 @@ class DisplayMappingResults(object):
startPosY += stepPosY
if self.additiveChecked:
- startPosX = xLeftOffset
+ startPosX = canvas.size[0] - xRightOffset - 400
im_drawer.line(
xy=((startPosX, startPosY), (startPosX+17, startPosY)),
fill=self.ADDITIVE_COLOR_POSITIVE, width=2)
@@ -1081,7 +1082,7 @@ class DisplayMappingResults(object):
font=labelFont, fill=BLACK)
if self.genotype.type == 'intercross' and self.dominanceChecked:
- startPosX = xLeftOffset
+ startPosX = canvas.size[0] - xRightOffset - 400
startPosY += stepPosY
im_drawer.line(
xy=((startPosX, startPosY), (startPosX+17, startPosY)),
@@ -1095,7 +1096,7 @@ class DisplayMappingResults(object):
if self.haplotypeAnalystChecked:
startPosY += stepPosY
- startPosX = xLeftOffset
+ startPosX = canvas.size[0] - xRightOffset - 400
im_drawer.line(
xy=((startPosX, startPosY), (startPosX+17, startPosY)),
fill=self.HAPLOTYPE_POSITIVE, width=4)
@@ -1114,7 +1115,10 @@ class DisplayMappingResults(object):
if self.permChecked and self.nperm > 0:
startPosY += stepPosY
- startPosX = xLeftOffset
+ if self.bootChecked and not self.multipleInterval:
+ startPosX = canvas.size[0] - xRightOffset - 400
+ else:
+ startPosX = canvas.size[0] - xRightOffset - 190
im_drawer.line(
xy=((startPosX, startPosY), ( startPosX + 32, startPosY)),
fill=self.SIGNIFICANT_COLOR, width=self.SIGNIFICANT_WIDTH)
@@ -1123,10 +1127,10 @@ class DisplayMappingResults(object):
fill=self.SUGGESTIVE_COLOR, width=self.SUGGESTIVE_WIDTH)
im_drawer.text(
text='Significant %s = %2.2f' % (self.LRS_LOD, self.significant),
- xy=(xLeftOffset+42, startPosY+TEXT_Y_DISPLACEMENT), font=labelFont, fill=BLACK)
+ xy=(startPosX+42, startPosY+TEXT_Y_DISPLACEMENT), font=labelFont, fill=BLACK)
im_drawer.text(
text='Suggestive %s = %2.2f' % (self.LRS_LOD, self.suggestive),
- xy=(xLeftOffset+42, startPosY + TEXT_Y_DISPLACEMENT +stepPosY), font=labelFont,
+ xy=(startPosX+42, startPosY + TEXT_Y_DISPLACEMENT +stepPosY), font=labelFont,
fill=BLACK)
labelFont = ImageFont.truetype(font=VERDANA_FILE, size=12*fontZoom)
@@ -1197,22 +1201,26 @@ class DisplayMappingResults(object):
im_drawer.textsize(string2, font=labelFont)[0])
im_drawer.text(
text=identification,
- xy=(canvas.size[0] - xRightOffset-d, 20*fontZoom), font=labelFont,
+ xy=(xLeftOffset, 20*fontZoom), font=labelFont,
fill=labelColor)
else:
d = 4+ max(
im_drawer.textsize(string1, font=labelFont)[0],
im_drawer.textsize(string2, font=labelFont)[0])
im_drawer.text(
- text=string1, xy=(canvas.size[0] - xRightOffset-d, 35*fontZoom),
+ text=string1, xy=(xLeftOffset, 35*fontZoom),
font=labelFont, fill=labelColor)
im_drawer.text(
- text=string2, xy=(canvas.size[0] - xRightOffset-d, 50*fontZoom),
+ text=string2, xy=(xLeftOffset, 50*fontZoom),
font=labelFont, fill=labelColor)
if string3 != '':
im_drawer.text(
- text=string3, xy=(canvas.size[0] - xRightOffset-d, 65*fontZoom),
+ text=string3, xy=(xLeftOffset, 65*fontZoom),
font=labelFont, fill=labelColor)
+ if string4 != '':
+ im_drawer.text(
+ text=string4, xy=(xLeftOffset, 80*fontZoom),
+ font=labelFont, fill=labelColor)
def drawGeneBand(self, canvas, gifmap, plotXScale, offset= (40, 120, 80, 10), zoom = 1, startMb = None, endMb = None):
@@ -2244,6 +2252,7 @@ class DisplayMappingResults(object):
)
sugg_coords = "%d, %d, %d, %d" % (start_pos_x, suggestiveY-2, rightEdge + 2*zoom, suggestiveY+2)
sig_coords = "%d, %d, %d, %d" % (start_pos_x, significantY-2, rightEdge + 2*zoom, significantY+2)
+
if self.LRS_LOD == 'LRS':
sugg_title = "Suggestive LRS = %0.2f" % self.suggestive
sig_title = "Significant LRS = %0.2f" % self.significant
--
cgit v1.2.3
From 295805eeb01aceb2651f79662c1462f06e1591cf Mon Sep 17 00:00:00 2001
From: zsloan
Date: Thu, 10 Dec 2020 12:27:48 -0600
Subject: Replacing the Scroller import with the CDN until we figure out why
the new import doesn't work
---
wqflask/wqflask/templates/show_trait.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'wqflask')
diff --git a/wqflask/wqflask/templates/show_trait.html b/wqflask/wqflask/templates/show_trait.html
index b02f8140..c95a0522 100644
--- a/wqflask/wqflask/templates/show_trait.html
+++ b/wqflask/wqflask/templates/show_trait.html
@@ -146,7 +146,7 @@
-
+
--
cgit v1.2.3
From b3aba44e452fbfeb9f79c91f94b00061057937a4 Mon Sep 17 00:00:00 2001
From: zsloan
Date: Tue, 12 Jan 2021 17:51:06 -0600
Subject: Fixed issue causing interval mapping to not be displayed correctly
---
wqflask/wqflask/marker_regression/run_mapping.py | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
(limited to 'wqflask')
diff --git a/wqflask/wqflask/marker_regression/run_mapping.py b/wqflask/wqflask/marker_regression/run_mapping.py
index 891fcc66..38f8c26d 100644
--- a/wqflask/wqflask/marker_regression/run_mapping.py
+++ b/wqflask/wqflask/marker_regression/run_mapping.py
@@ -138,15 +138,15 @@ class RunMapping(object):
mapping_results_filename = self.dataset.group.name + "_" + ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(6))
self.mapping_results_path = "{}{}.csv".format(webqtlConfig.GENERATED_IMAGE_DIR, mapping_results_filename)
- if start_vars['manhattan_plot']:
- self.color_scheme = "alternating"
- if "color_scheme" in start_vars:
- self.color_scheme = start_vars['color_scheme']
- if self.color_scheme == "single":
- self.manhattan_single_color = start_vars['manhattan_single_color']
- self.manhattan_plot = True
- else:
- self.manhattan_plot = False
+ self.manhattan_plot = False
+ if 'manhattan_plot' in start_vars:
+ if start_vars['manhattan_plot'].lower() != "false":
+ self.color_scheme = "alternating"
+ if "color_scheme" in start_vars:
+ self.color_scheme = start_vars['color_scheme']
+ if self.color_scheme == "single":
+ self.manhattan_single_color = start_vars['manhattan_single_color']
+ self.manhattan_plot = True
self.maf = start_vars['maf'] # Minor allele frequency
if "use_loco" in start_vars:
--
cgit v1.2.3
From 7d97698ca88460c2f66b67ada31085b02cbc9ee4 Mon Sep 17 00:00:00 2001
From: zsloan
Date: Tue, 12 Jan 2021 17:56:52 -0600
Subject: Fixed a bunch fo remaining issues with positioning legend items on
the right side of the mapping figure
---
.../marker_regression/display_mapping_results.py | 87 +++++++++++-----------
1 file changed, 43 insertions(+), 44 deletions(-)
(limited to 'wqflask')
diff --git a/wqflask/wqflask/marker_regression/display_mapping_results.py b/wqflask/wqflask/marker_regression/display_mapping_results.py
index 9f778160..bba08f63 100644
--- a/wqflask/wqflask/marker_regression/display_mapping_results.py
+++ b/wqflask/wqflask/marker_regression/display_mapping_results.py
@@ -860,7 +860,10 @@ class DisplayMappingResults(object):
text='%2.1f'%item, font=bootScaleFont, fill=BLACK)
if self.legendChecked:
- startPosY = 30
+ if hasattr(self.traitList[0], 'chr') and hasattr(self.traitList[0], 'mb'):
+ startPosY = 30
+ else:
+ startPosY = 15
smallLabelFont = ImageFont.truetype(font=TREBUC_FILE, size=12*fontZoom)
leftOffset = canvas.size[0] - xRightOffset - 190
im_drawer.rectangle(
@@ -942,28 +945,6 @@ class DisplayMappingResults(object):
draw_open_polygon(canvas, xy=traitPixel, outline=BLACK,
fill=self.TRANSCRIPT_LOCATION_COLOR)
- if self.legendChecked:
- startPosY = 15
- nCol = 2
- smallLabelFont = ImageFont.truetype(font=TREBUC_FILE, size=12*fontZoom)
- if self.manhattan_plot:
- leftOffset = xLeftOffset
- else:
- leftOffset = xLeftOffset+(nCol-1)*200*fontZoom
- draw_open_polygon(
- canvas,
- xy=(
- (leftOffset+7, startPosY-7),
- (leftOffset, startPosY+7),
- (leftOffset+14, startPosY+7)),
- outline=BLACK, fill=self.TRANSCRIPT_LOCATION_COLOR
- )
- TEXT_Y_DISPLACEMENT = -8
- im_drawer.text(
- text="Sequence Site",
- xy=(leftOffset+15, startPosY+TEXT_Y_DISPLACEMENT), font=smallLabelFont,
- fill=self.TOP_RIGHT_INFO_COLOR)
-
def drawSNPTrackNew(self, canvas, offset= (40, 120, 80, 10), zoom = 1, startMb = None, endMb = None):
im_drawer = ImageDraw.Draw(canvas)
if self.plotScale != 'physic' or self.selectedChr == -1 or not self.diffCol:
@@ -1060,17 +1041,38 @@ class DisplayMappingResults(object):
labelFont=ImageFont.truetype(font=TREBUC_FILE, size=12*fontZoom)
startPosY = 15
stepPosY = 12*fontZoom
+
+ startPosX = canvas.size[0] - xRightOffset - 415
+ if hasattr(self.traitList[0], 'chr') and hasattr(self.traitList[0], 'mb'):
+ startPosY = 15
+ nCol = 2
+ smallLabelFont = ImageFont.truetype(font=TREBUC_FILE, size=12*fontZoom)
+
+ leftOffset = canvas.size[0] - xRightOffset - 190
+ draw_open_polygon(
+ canvas,
+ xy=(
+ (leftOffset + 6, startPosY-7),
+ (leftOffset - 1, startPosY+7),
+ (leftOffset + 13, startPosY+7)),
+ outline=BLACK, fill=self.TRANSCRIPT_LOCATION_COLOR
+ )
+ TEXT_Y_DISPLACEMENT = -8
+ im_drawer.text(
+ text="Sequence Site",
+ xy=(leftOffset + 20, startPosY+TEXT_Y_DISPLACEMENT), font=smallLabelFont,
+ fill=self.TOP_RIGHT_INFO_COLOR)
+
if self.manhattan_plot != True:
im_drawer.line(
- xy=((xLeftOffset, startPosY), (xLeftOffset+32, startPosY)),
+ xy=((startPosX, startPosY), (startPosX+32, startPosY)),
fill=self.LRS_COLOR, width=2)
im_drawer.text(
- text=self.LRS_LOD, xy=(xLeftOffset+40, startPosY+TEXT_Y_DISPLACEMENT),
+ text=self.LRS_LOD, xy=(startPosX+40, startPosY+TEXT_Y_DISPLACEMENT),
font=labelFont, fill=BLACK)
startPosY += stepPosY
if self.additiveChecked:
- startPosX = canvas.size[0] - xRightOffset - 400
im_drawer.line(
xy=((startPosX, startPosY), (startPosX+17, startPosY)),
fill=self.ADDITIVE_COLOR_POSITIVE, width=2)
@@ -1080,10 +1082,9 @@ class DisplayMappingResults(object):
im_drawer.text(
text='Additive Effect', xy=(startPosX+40, startPosY+TEXT_Y_DISPLACEMENT),
font=labelFont, fill=BLACK)
+ startPosY += stepPosY
if self.genotype.type == 'intercross' and self.dominanceChecked:
- startPosX = canvas.size[0] - xRightOffset - 400
- startPosY += stepPosY
im_drawer.line(
xy=((startPosX, startPosY), (startPosX+17, startPosY)),
fill=self.DOMINANCE_COLOR_POSITIVE, width=4)
@@ -1093,44 +1094,42 @@ class DisplayMappingResults(object):
im_drawer.text(
text='Dominance Effect', xy=(startPosX+42, startPosY+5),
font=labelFont, fill=BLACK)
+ startPosY += stepPosY
if self.haplotypeAnalystChecked:
- startPosY += stepPosY
- startPosX = canvas.size[0] - xRightOffset - 400
im_drawer.line(
- xy=((startPosX, startPosY), (startPosX+17, startPosY)),
+ xy=((startPosX-34, startPosY), (startPosX-17, startPosY)),
fill=self.HAPLOTYPE_POSITIVE, width=4)
im_drawer.line(
- xy=((startPosX+18, startPosY), (startPosX+35, startPosY)),
+ xy=((startPosX-17, startPosY), (startPosX, startPosY)),
fill=self.HAPLOTYPE_NEGATIVE, width=4)
im_drawer.line(
- xy=((startPosX+36, startPosY), (startPosX+53, startPosY)),
+ xy=((startPosX, startPosY), (startPosX+17, startPosY)),
fill=self.HAPLOTYPE_HETEROZYGOUS, width=4)
im_drawer.line(
- xy=((startPosX+54, startPosY), (startPosX+67, startPosY)),
+ xy=((startPosX+17, startPosY), (startPosX+34, startPosY)),
fill=self.HAPLOTYPE_RECOMBINATION, width=4)
im_drawer.text(
text='Haplotypes (Pat, Mat, Het, Unk)',
- xy=(startPosX+76, startPosY+5), font=labelFont, fill=BLACK)
+ xy=(startPosX+41, startPosY+TEXT_Y_DISPLACEMENT), font=labelFont, fill=BLACK)
+ startPosY += stepPosY
if self.permChecked and self.nperm > 0:
- startPosY += stepPosY
- if self.bootChecked and not self.multipleInterval:
- startPosX = canvas.size[0] - xRightOffset - 400
- else:
- startPosX = canvas.size[0] - xRightOffset - 190
+ thisStartX = startPosX
+ if self.multipleInterval and not self.bootChecked:
+ thisStartX = canvas.size[0] - xRightOffset - 205
im_drawer.line(
- xy=((startPosX, startPosY), ( startPosX + 32, startPosY)),
+ xy=((thisStartX, startPosY), ( startPosX + 32, startPosY)),
fill=self.SIGNIFICANT_COLOR, width=self.SIGNIFICANT_WIDTH)
im_drawer.line(
- xy=((startPosX, startPosY + stepPosY), ( startPosX + 32, startPosY + stepPosY)),
+ xy=((thisStartX, startPosY + stepPosY), ( startPosX + 32, startPosY + stepPosY)),
fill=self.SUGGESTIVE_COLOR, width=self.SUGGESTIVE_WIDTH)
im_drawer.text(
text='Significant %s = %2.2f' % (self.LRS_LOD, self.significant),
- xy=(startPosX+42, startPosY+TEXT_Y_DISPLACEMENT), font=labelFont, fill=BLACK)
+ xy=(thisStartX+40, startPosY+TEXT_Y_DISPLACEMENT), font=labelFont, fill=BLACK)
im_drawer.text(
text='Suggestive %s = %2.2f' % (self.LRS_LOD, self.suggestive),
- xy=(startPosX+42, startPosY + TEXT_Y_DISPLACEMENT +stepPosY), font=labelFont,
+ xy=(thisStartX+40, startPosY + TEXT_Y_DISPLACEMENT +stepPosY), font=labelFont,
fill=BLACK)
labelFont = ImageFont.truetype(font=VERDANA_FILE, size=12*fontZoom)
--
cgit v1.2.3