about summary refs log tree commit diff
diff options
context:
space:
mode:
authorzsloan2019-01-22 11:08:51 -0600
committerzsloan2019-01-22 11:08:51 -0600
commit90666f6421e1a92d4efc45185b4ecbe9a9a1e60e (patch)
tree6959e80859dbbce8fbd42767ec1a5a7b070ae8d7
parent40938962c325ae142d906b2ba3ac1bd845e670c5 (diff)
downloadgenenetwork2-90666f6421e1a92d4efc45185b4ecbe9a9a1e60e.tar.gz
Fixed issue where Haplotype Analyst in mapping results would always show results from Chromosome 1
Fixed issue where traits couldn't be added to a collection from the global search results

Made some improvements to the gene global search table
-rw-r--r--wqflask/wqflask/marker_regression/display_mapping_results.py255
-rw-r--r--wqflask/wqflask/templates/gsearch_gene.html25
-rw-r--r--wqflask/wqflask/templates/gsearch_pheno.html2
3 files changed, 146 insertions, 136 deletions
diff --git a/wqflask/wqflask/marker_regression/display_mapping_results.py b/wqflask/wqflask/marker_regression/display_mapping_results.py
index 28831937..fa20e8ad 100644
--- a/wqflask/wqflask/marker_regression/display_mapping_results.py
+++ b/wqflask/wqflask/marker_regression/display_mapping_results.py
@@ -1158,22 +1158,24 @@ class DisplayMappingResults(object):
         plotRight = xRightOffset
 
 #### find out PlotRight
-        for i, _locus in enumerate(self.genotype[0]):
-            txStart = self.genotype[0][i].Mb
-            txEnd   = self.genotype[0][i].Mb
+        for i, _chr in enumerate(self.genotype):
+            if _chr.name == self.ChrList[self.selectedChr][0]:
+                for j, _locus in enumerate(_chr):
+                    txStart = _chr[j].Mb
+                    txEnd   = _chr[j].Mb
 
-            geneStartPix = xLeftOffset + plotXScale*(float(txStart) - startMb)  - 0
-            geneEndPix = xLeftOffset + plotXScale*(float(txEnd) - startMb) - 0
+                    geneStartPix = xLeftOffset + plotXScale*(float(txStart) - startMb)  - 0
+                    geneEndPix = xLeftOffset + plotXScale*(float(txEnd) - startMb) - 0
 
-            drawit = 1
-            if (geneStartPix < xLeftOffset):
-                drawit = 0;
-            if (geneStartPix > xLeftOffset + plotWidth):
-                drawit = 0;
+                    drawit = 1
+                    if (geneStartPix < xLeftOffset):
+                        drawit = 0;
+                    if (geneStartPix > xLeftOffset + plotWidth):
+                        drawit = 0;
 
-            if drawit == 1:
-                if self.genotype[0][i].name != " - " :
-                    plotRight = geneEndPix + 4
+                    if drawit == 1:
+                        if _chr[j].name != " - " :
+                            plotRight = geneEndPix + 4
 
 #### end find out PlotRight
 
@@ -1185,139 +1187,142 @@ class DisplayMappingResults(object):
         #Now there should always be some value set for "oldgeno" - Zach 12/14/2010
         oldgeno = [None]*len(self.strainlist)
 
-        for i, _locus in enumerate(self.genotype[0]):
-            txStart = self.genotype[0][i].Mb
-            txEnd   = self.genotype[0][i].Mb
-
-            geneStartPix = xLeftOffset + plotXScale*(float(txStart) - startMb)  - 0
-            geneEndPix   = xLeftOffset + plotXScale*(float(txEnd)   - startMb)  + 0
+        for i, _chr in enumerate(self.genotype):
+            if _chr.name == self.ChrList[self.selectedChr][0]:
+                for j, _locus in enumerate(_chr):
+                    txStart = _chr[j].Mb
+                    txEnd   = _chr[j].Mb
 
-            if oldgeneEndPix >= xLeftOffset:
-                drawStart = oldgeneEndPix + 4
-            else:
-                drawStart = xLeftOffset + 3
+                    geneStartPix = xLeftOffset + plotXScale*(float(txStart) - startMb)  - 0
+                    geneEndPix   = xLeftOffset + plotXScale*(float(txEnd)   - startMb)  + 0
 
-            drawEnd = plotRight - 9
+                    if oldgeneEndPix >= xLeftOffset:
+                        drawStart = oldgeneEndPix + 4
+                    else:
+                        drawStart = xLeftOffset + 3
 
-            drawit = 1
+                    drawEnd = plotRight - 9
 
-            if (geneStartPix < xLeftOffset):
-                if firstGene == 1:
                     drawit = 1
-                else:
-                    drawit = 0
 
-            elif (geneStartPix > (xLeftOffset + plotWidth - 3)):
-                if lastGene == 0:
-                    drawit = 1
-                    drawEnd = xLeftOffset + plotWidth - 6
-                    lastGene = 1
-                else:
-                    break
-
-            else:
-                firstGene = 0
-                drawit = 1
-
-            if drawit == 1:
-                myColor = pid.darkblue
-                outlineColor = myColor
-                fillColor    = myColor
-
-                maxind=0
+                    if (geneStartPix < xLeftOffset):
+                        if firstGene == 1:
+                            drawit = 1
+                        else:
+                            drawit = 0
 
-                #Draw Genes
+                    elif (geneStartPix > (xLeftOffset + plotWidth - 3)):
+                        if lastGene == 0:
+                            drawit = 1
+                            drawEnd = xLeftOffset + plotWidth - 6
+                            lastGene = 1
+                        else:
+                            break
 
-                geneYLocation = yPaddingTop + self.NUM_GENE_ROWS * (self.EACH_GENE_HEIGHT)*zoom
-                if self.dataset.group.species == "mouse" or self.dataset.group.species == "rat":
-                    geneYLocation += 4*self.BAND_HEIGHT + 4*self.BAND_SPACING
-                else:
-                    geneYLocation += 3*self.BAND_HEIGHT + 3*self.BAND_SPACING
+                    else:
+                        firstGene = 0
+                        drawit = 1
 
-                if self.genotype[0][i].name != " - " :
+                    if drawit == 1:
+                        myColor = pid.darkblue
+                        outlineColor = myColor
+                        fillColor    = myColor
 
-                    if (firstGene == 1) and (lastGene != 1):
-                        oldgeneEndPix = drawStart = xLeftOffset
-                        oldgeno = self.genotype[0][i].genotype
-                        continue
+                        maxind=0
 
-                    for j,_geno in enumerate (self.genotype[0][i].genotype):
+                        #Draw Genes
 
-                        plotbxd=0
-                        for item in smd:
-                            if item.name == samplelist[j]:
-                                plotbxd=1
-
-                        if (plotbxd == 1):
-                            ind = 0
-                            counter = 0
-                            for item in smd:
-                                counter = counter + 1
-                                if item.name == samplelist[j]:
-                                    ind = counter
-                            maxind=max(ind,maxind)
-
-                            # lines
-                            if (oldgeno[j] == -1 and _geno == -1):
-                                mylineColor = self.HAPLOTYPE_NEGATIVE
-                            elif (oldgeno[j] == 1 and _geno == 1):
-                                mylineColor = self.HAPLOTYPE_POSITIVE
-                            elif (oldgeno[j] == 0 and _geno == 0):
-                                mylineColor = self.HAPLOTYPE_HETEROZYGOUS
-                            else:
-                                mylineColor = self.HAPLOTYPE_RECOMBINATION # XZ: Unknown
+                        geneYLocation = yPaddingTop + self.NUM_GENE_ROWS * (self.EACH_GENE_HEIGHT)*zoom
+                        if self.dataset.group.species == "mouse" or self.dataset.group.species == "rat":
+                            geneYLocation += 4*self.BAND_HEIGHT + 4*self.BAND_SPACING
+                        else:
+                            geneYLocation += 3*self.BAND_HEIGHT + 3*self.BAND_SPACING
+
+                        if _chr[j].name != " - " :
+
+                            if (firstGene == 1) and (lastGene != 1):
+                                oldgeneEndPix = drawStart = xLeftOffset
+                                oldgeno = _chr[j].genotype
+                                continue
+
+                            for k, _geno in enumerate (_chr[j].genotype):
+                                plotbxd=0
+                                for item in smd:
+                                    if item.name == samplelist[k]:
+                                        plotbxd=1
+
+                                if (plotbxd == 1):
+                                    ind = 0
+                                    counter = 0
+                                    for item in smd:
+                                        counter = counter + 1
+                                        if item.name == samplelist[k]:
+                                            ind = counter
+                                    maxind=max(ind,maxind)
+
+                                    # lines
+                                    if (oldgeno[k] == -1 and _geno == -1):
+                                        mylineColor = self.HAPLOTYPE_NEGATIVE
+                                    elif (oldgeno[k] == 1 and _geno == 1):
+                                        mylineColor = self.HAPLOTYPE_POSITIVE
+                                    elif (oldgeno[k] == 0 and _geno == 0):
+                                        mylineColor = self.HAPLOTYPE_HETEROZYGOUS
+                                    else:
+                                        mylineColor = self.HAPLOTYPE_RECOMBINATION # XZ: Unknown
+
+                                    canvas.drawLine(drawStart, geneYLocation+7+2*ind*self.EACH_GENE_HEIGHT*zoom, drawEnd, geneYLocation+7+2*ind*self.EACH_GENE_HEIGHT*zoom, color = mylineColor, width=zoom*(self.EACH_GENE_HEIGHT+2))
+
+                                    fillColor=pid.black
+                                    outlineColor=pid.black
+                                    if lastGene == 0:
+                                        canvas.drawRect(geneStartPix, geneYLocation+2*ind*self.EACH_GENE_HEIGHT*zoom, geneEndPix, geneYLocation+2*ind*self.EACH_GENE_HEIGHT+ 2*self.EACH_GENE_HEIGHT*zoom, edgeColor = outlineColor, fillColor = fillColor)
+
+
+                                    COORDS = "%d, %d, %d, %d" %(geneStartPix, geneYLocation+ind*self.EACH_GENE_HEIGHT, geneEndPix+1, (geneYLocation + ind*self.EACH_GENE_HEIGHT))
+                                    TITLE = "Strain: %s, marker (%s) \n Position  %2.3f Mb." % (samplelist[k], _chr[j].name, float(txStart))
+                                    HREF = ''
+                                    gifmap.areas.append(HT.Area(shape='rect',coords=COORDS,href=HREF, title=TITLE))
+
+                                    # if there are no more markers in a chromosome, the plotRight value calculated above will be before the plotWidth
+                                    # resulting in some empty space on the right side of the plot area. This draws an "unknown" bar from plotRight to the edge.
+                                    if (plotRight < (xLeftOffset + plotWidth - 3)) and (lastGene == 0):
+                                        drawEnd = xLeftOffset + plotWidth - 6
+                                        mylineColor = self.HAPLOTYPE_RECOMBINATION
+                                        canvas.drawLine(plotRight, geneYLocation+7+2*ind*self.EACH_GENE_HEIGHT*zoom, drawEnd, geneYLocation+7+2*ind*self.EACH_GENE_HEIGHT*zoom, color = mylineColor, width=zoom*(self.EACH_GENE_HEIGHT+2))
 
-                            canvas.drawLine(drawStart, geneYLocation+7+2*ind*self.EACH_GENE_HEIGHT*zoom, drawEnd, geneYLocation+7+2*ind*self.EACH_GENE_HEIGHT*zoom, color = mylineColor, width=zoom*(self.EACH_GENE_HEIGHT+2))
 
-                            fillColor=pid.black
-                            outlineColor=pid.black
                             if lastGene == 0:
-                                canvas.drawRect(geneStartPix, geneYLocation+2*ind*self.EACH_GENE_HEIGHT*zoom, geneEndPix, geneYLocation+2*ind*self.EACH_GENE_HEIGHT+ 2*self.EACH_GENE_HEIGHT*zoom, edgeColor = outlineColor, fillColor = fillColor)
-
+                                canvas.drawString("%s" % (_chr[j].name), geneStartPix , geneYLocation+17+2*maxind*self.EACH_GENE_HEIGHT*zoom, font=pid.Font(ttf="verdana", size=12, bold=0), color=pid.black, angle=-90)
 
-                            COORDS = "%d, %d, %d, %d" %(geneStartPix, geneYLocation+ind*self.EACH_GENE_HEIGHT, geneEndPix+1, (geneYLocation + ind*self.EACH_GENE_HEIGHT))
-                            TITLE = "Strain: %s, marker (%s) \n Position  %2.3f Mb." % (samplelist[j], self.genotype[0][i].name, float(txStart))
-                            HREF = ''
-                            gifmap.areas.append(HT.Area(shape='rect',coords=COORDS,href=HREF, title=TITLE))
-
-                            # if there are no more markers in a chromosome, the plotRight value calculated above will be before the plotWidth
-                            # resulting in some empty space on the right side of the plot area. This draws an "unknown" bar from plotRight to the edge.
-                            if (plotRight < (xLeftOffset + plotWidth - 3)) and (lastGene == 0):
-                                drawEnd = xLeftOffset + plotWidth - 6
-                                mylineColor = self.HAPLOTYPE_RECOMBINATION
-                                canvas.drawLine(plotRight, geneYLocation+7+2*ind*self.EACH_GENE_HEIGHT*zoom, drawEnd, geneYLocation+7+2*ind*self.EACH_GENE_HEIGHT*zoom, color = mylineColor, width=zoom*(self.EACH_GENE_HEIGHT+2))
-
-
-                    if lastGene == 0:
-                        canvas.drawString("%s" % (self.genotype[0][i].name), geneStartPix , geneYLocation+17+2*maxind*self.EACH_GENE_HEIGHT*zoom, font=pid.Font(ttf="verdana", size=12, bold=0), color=pid.black, angle=-90)
-
-                    oldgeneEndPix = geneEndPix;
-                    oldgeno = self.genotype[0][i].genotype
-                    firstGene = 0
-                else:
-                    lastGene = 0
+                            oldgeneEndPix = geneEndPix;
+                            oldgeno = _chr[j].genotype
+                            firstGene = 0
+                        else:
+                            lastGene = 0
 
-        for j, _geno in enumerate (self.genotype[0][1].genotype):
+        for i, _chr in enumerate(self.genotype):
+            if _chr.name == self.ChrList[self.selectedChr][0]:
+                for j, _geno in enumerate(_chr[1]):
 
-            plotbxd=0
-            for item in smd:
-                if item.name == samplelist[j]:
-                    plotbxd=1
+                    plotbxd=0
+                    for item in smd:
+                        if item.name == samplelist[j]:
+                            plotbxd=1
 
-            if (plotbxd == 1):
+                    if (plotbxd == 1):
 
-                ind = 0
-                counter = 0
-                expr = 0
-                for item in smd:
-                    counter = counter + 1
-                    if item.name == samplelist[j]:
-                        ind = counter
-                        expr = item.value
+                        ind = 0
+                        counter = 0
+                        expr = 0
+                        for item in smd:
+                            counter = counter + 1
+                            if item.name == samplelist[j]:
+                                ind = counter
+                                expr = item.value
 
-                # Place where font is hardcoded
-                canvas.drawString("%s" % (samplelist[j]), (xLeftOffset + plotWidth + 10) , geneYLocation+8+2*ind*self.EACH_GENE_HEIGHT*zoom, font=pid.Font(ttf="verdana", size=12, bold=0), color=pid.black)
-                canvas.drawString("%2.2f" % (expr), (xLeftOffset + plotWidth + 60) , geneYLocation+8+2*ind*self.EACH_GENE_HEIGHT*zoom, font=pid.Font(ttf="verdana", size=12, bold=0), color=pid.black)
+                        # Place where font is hardcoded
+                        canvas.drawString("%s" % (samplelist[j]), (xLeftOffset + plotWidth + 10) , geneYLocation+8+2*ind*self.EACH_GENE_HEIGHT*zoom, font=pid.Font(ttf="verdana", size=12, bold=0), color=pid.black)
+                        canvas.drawString("%2.2f" % (expr), (xLeftOffset + plotWidth + 60) , geneYLocation+8+2*ind*self.EACH_GENE_HEIGHT*zoom, font=pid.Font(ttf="verdana", size=12, bold=0), color=pid.black)
 
 ## END HaplotypeAnalyst
 
diff --git a/wqflask/wqflask/templates/gsearch_gene.html b/wqflask/wqflask/templates/gsearch_gene.html
index 5433f2c5..71e290f3 100644
--- a/wqflask/wqflask/templates/gsearch_gene.html
+++ b/wqflask/wqflask/templates/gsearch_gene.html
@@ -43,8 +43,7 @@
 {% endblock %}
 
 {% block js %}
-    <script language="javascript" type="text/javascript" src="/static/new/javascript/search_results.js"></script>
-    
+    <script language="javascript" type="text/javascript" src="/static/new/js_external/md5.min.js"></script>
     <script language="javascript" type="text/javascript" src="https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js"></script>
     <script language="javascript" type="text/javascript" src="/static/new/js_external/jszip.min.js"></script>
     <script language="javascript" type="text/javascript" src="/static/new/packages/DataTables/js/dataTables.naturalSort.js"></script>
@@ -76,15 +75,14 @@
                 'createdRow': function ( row, data, index ) {
                     $('td', row).eq(0).attr("style", "text-align: center; padding: 4px 10px 2px 10px;");
                     $('td', row).eq(1).attr("align", "right");
-                    $('td', row).slice(10,14).attr("align", "right");
-                    $('td', row).eq(8).attr('title', $('td', row).eq(8).text());
-                    if ($('td', row).eq(8).text().length > 45) {
-                        $('td', row).eq(8).text($('td', row).eq(8).text().substring(0, 45));
-                        $('td', row).eq(8).text($('td', row).eq(8).text() + '...')
+                    $('td', row).eq(4).attr('title', $('td', row).eq(4).text());
+                    if ($('td', row).eq(4).text().length > 20) {
+                        $('td', row).eq(4).text($('td', row).eq(4).text().substring(0, 20));
+                        $('td', row).eq(4).text($('td', row).eq(4).text() + '...')
                     }
                     $('td', row).eq(5).attr('title', $('td', row).eq(5).text());
-                    if ($('td', row).eq(5).text().length > 25) {
-                        $('td', row).eq(5).text($('td', row).eq(5).text().substring(0, 25));
+                    if ($('td', row).eq(5).text().length > 20) {
+                        $('td', row).eq(5).text($('td', row).eq(5).text().substring(0, 20));
                         $('td', row).eq(5).text($('td', row).eq(5).text() + '...')
                     }
                     $('td', row).eq(6).attr('title', $('td', row).eq(6).text());
@@ -92,6 +90,12 @@
                         $('td', row).eq(6).text($('td', row).eq(6).text().substring(0, 35));
                         $('td', row).eq(6).text($('td', row).eq(6).text() + '...')
                     }
+                    $('td', row).eq(8).attr('title', $('td', row).eq(8).text());
+                    if ($('td', row).eq(8).text().length > 45) {
+                        $('td', row).eq(8).text($('td', row).eq(8).text().substring(0, 45));
+                        $('td', row).eq(8).text($('td', row).eq(8).text() + '...')
+                    }
+                    $('td', row).slice(10,14).attr("align", "right");
                 },
                 'data': the_rows,
                 'columns': [
@@ -99,7 +103,7 @@
                       'data': null,
                       'orderDataType': "dom-checkbox",
                       'render': function(data, type, row, meta) {
-                        return '<input type="checkbox" name="searchResult" class="checkbox trait_checkbox" value="' + data.hmac + '">'
+                        return '<input type="checkbox" name="searchResult" class="trait_checkbox checkbox" value="' + data.hmac + '">'
                       }
                     },
                     {
@@ -210,4 +214,5 @@
         });
         
     </script>
+    <script language="javascript" type="text/javascript" src="/static/new/javascript/search_results.js"></script>
 {% endblock %}
diff --git a/wqflask/wqflask/templates/gsearch_pheno.html b/wqflask/wqflask/templates/gsearch_pheno.html
index 01b2403e..941bf39d 100644
--- a/wqflask/wqflask/templates/gsearch_pheno.html
+++ b/wqflask/wqflask/templates/gsearch_pheno.html
@@ -84,8 +84,8 @@
 {% endblock %}
 
 {% block js %}
+    <script language="javascript" type="text/javascript" src="/static/new/js_external/md5.min.js"></script>
     <script language="javascript" type="text/javascript" src="/static/new/javascript/search_results.js"></script>
-    
     <script language="javascript" type="text/javascript" src="https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js"></script>
     <script language="javascript" type="text/javascript" src="/static/new/js_external/jszip.min.js"></script>
     <script language="javascript" type="text/javascript" src="/static/new/packages/DataTables/js/dataTables.naturalSort.js"></script>