From a6386179f0f94df749d7af232060ff10a68c42f6 Mon Sep 17 00:00:00 2001 From: Sam Ockman Date: Wed, 6 Jun 2012 04:49:20 -0400 Subject: Most of the top fields working --- wqflask/base/webqtlTrait.py | 66 ++++++++++++++++ wqflask/wqflask/show_trait/DataEditingPage.py | 87 +++++++--------------- wqflask/wqflask/show_trait/show_trait_page.py | 1 + .../wqflask/templates/trait_data_and_analysis.html | 17 +++-- 4 files changed, 105 insertions(+), 66 deletions(-) diff --git a/wqflask/base/webqtlTrait.py b/wqflask/base/webqtlTrait.py index 812d112a..23b98238 100755 --- a/wqflask/base/webqtlTrait.py +++ b/wqflask/base/webqtlTrait.py @@ -590,3 +590,69 @@ class webqtlTrait: setDescription.append( ' --- FROM : ') setDescription.append(self.db.genHTML(Class='cori')) return setDescription + + @property + def description_fmt(self): + '''Return a text formated description''' + if self.description: + formatted = self.description + if self.probe_target_description: + formatted += "; " + self.probe_target_description + else: + formatted = "Not available" + return formatted + + @property + def alias_fmt(self): + '''Return a text formatted alias''' + if self.alias: + alias = string.replace(self.alias, ";", " ") + alias = string.join(string.split(alias), ", ") + return alias + + + @property + def location_fmt(self): + '''Return a text formatted location + + While we're at it we set self.location in case we need it later (do we?) + + ''' + + if self.chr and self.mb: + self.location = 'Chr %s @ %s Mb' % (self.chr,self.mb) + elif self.chr: + self.location = 'Chr %s @ Unknown position' % (self.chr) + else: + self.location = 'Not available' + + fmt = self.location + ##XZ: deal with direction + if self.strand_probe == '+': + fmt += (' on the plus strand ') + elif self.strand_probe == '-': + fmt += (' on the minus strand ') + + return fmt + + + def get_database(self): + """ + Returns the database, and the url referring to the database if it exists + + We're going to to return two values here, and we don't want to have to call this twice from + the template. So it's not a property called from the template, but instead is called from the view + + """ + if self.cellid: + self.cursor.execute(""" + select ProbeFreeze.Name from ProbeFreeze, ProbeSetFreeze + where + ProbeFreeze.Id = ProbeSetFreeze.ProbeFreezeId AND + ProbeSetFreeze.Id = %d""" % thisTrait.db.id) + probeDBName = self.cursor.fetchone()[0] + return dict(name = probeDBName, + url = None) + else: + return dict(name = self.db.fullname, + url = webqtlConfig.INFOPAGEHREF % self.db.name) diff --git a/wqflask/wqflask/show_trait/DataEditingPage.py b/wqflask/wqflask/show_trait/DataEditingPage.py index 1aef0349..fda26322 100755 --- a/wqflask/wqflask/show_trait/DataEditingPage.py +++ b/wqflask/wqflask/show_trait/DataEditingPage.py @@ -345,44 +345,7 @@ class DataEditingPage(templatePage): HT.TD(HT.Span('Not available', Class="fs13 fsI"), valign="top") )) - #XZ: Gene Alias - if thisTrait.alias: - alias = string.replace(thisTrait.alias, ";", " ") - alias = string.join(string.split(alias), ", ") - thisTrait.alias_fmt = alias - - - #XZ: Description - if thisTrait.description: - thisTrait.description_fmt = thisTrait.description - if thisTrait.probe_target_description: - thisTrait.description_fmt += "; " + this.trait.probe_target_description - else: - thisTrait.description_fmt = "Not available" - - #XZ: Location - - #XZ: deal with Chr and Mb - if thisTrait.chr and thisTrait.mb: - thisTrait.location = 'Chr %s @ %s Mb' % (thisTrait.chr,thisTrait.mb) - elif thisTrait.chr: - thisTrait.location = 'Chr %s @ Unknown position' % (thisTrait.chr) - else: - thisTrait.location = 'Not available' - ##XZ: deal with direction - #if thisTrait.strand_probe == '+': - # tSpan.append(' on the plus strand ') - #elif thisTrait.strand_probe == '-': - # tSpan.append(' on the minus strand ') - #else: - # pass - # - #tbl.append(HT.TR( - # HT.TD('Location: ', Class="fwb fs13", valign="top", nowrap="on"), - # HT.TD(width=10, valign="top"), - # HT.TD(tSpan, valign="top") - # )) ##display Verify Location button try: @@ -474,18 +437,18 @@ class DataEditingPage(templatePage): #probeButton.append(probeButton_img) probeText = "Probes" - tSpan = HT.Span(Class="fs13") + #tSpan = HT.Span(Class="fs13") #XZ: deal with blat score and blat specificity. - if thisTrait.probe_set_specificity or thisTrait.probe_set_blat_score: - if thisTrait.probe_set_specificity: - pass - #tSpan.append(HT.Href(url="/blatInfo.html", target="_blank", title="Values higher than 2 for the specificity are good", text="BLAT specificity", Class="non_bold"),": %.1f" % float(thisTrait.probe_set_specificity), " "*3) - if thisTrait.probe_set_blat_score: - pass - #tSpan.append("Score: %s" % int(thisTrait.probe_set_blat_score), " "*2) + #if thisTrait.probe_set_specificity or thisTrait.probe_set_blat_score: + # if thisTrait.probe_set_specificity: + # pass + # #tSpan.append(HT.Href(url="/blatInfo.html", target="_blank", title="Values higher than 2 for the specificity are good", text="BLAT specificity", Class="non_bold"),": %.1f" % float(thisTrait.probe_set_specificity), " "*3) + # if thisTrait.probe_set_blat_score: + # pass + # #tSpan.append("Score: %s" % int(thisTrait.probe_set_blat_score), " "*2) - onClick="openNewWin('/blatInfo.html')" + #onClick="openNewWin('/blatInfo.html')" #tbl.append(HT.TR( # HT.TD('Target Score: ', Class="fwb fs13", valign="top", nowrap="on"), @@ -502,26 +465,28 @@ class DataEditingPage(templatePage): # HT.TD(tSpan, valign="top") # )) - if thisTrait.cellid: - self.cursor.execute(""" - select ProbeFreeze.Name from ProbeFreeze, ProbeSetFreeze - where - ProbeFreeze.Id = ProbeSetFreeze.ProbeFreezeId AND - ProbeSetFreeze.Id = %d""" % thisTrait.db.id) - probeDBName = self.cursor.fetchone()[0] - tbl.append(HT.TR( - HT.TD('Database: ', Class="fs13 fwb", valign="top", nowrap="on"), - HT.TD(width=10, valign="top"), - HT.TD(HT.Span('%s' % probeDBName, Class="non_bold"), valign="top") - )) - else: + #if thisTrait.cellid: + # self.cursor.execute(""" + # select ProbeFreeze.Name from ProbeFreeze, ProbeSetFreeze + # where + # ProbeFreeze.Id = ProbeSetFreeze.ProbeFreezeId AND + # ProbeSetFreeze.Id = %d""" % thisTrait.db.id) + # probeDBName = self.cursor.fetchone()[0] + # tbl.append(HT.TR( + # HT.TD('Database: ', Class="fs13 fwb", valign="top", nowrap="on"), + # HT.TD(width=10, valign="top"), + # HT.TD(HT.Span('%s' % probeDBName, Class="non_bold"), valign="top") + # )) + #else: #tbl.append(HT.TR( # HT.TD('Database: ', Class="fs13 fwb", valign="top", nowrap="on"), # HT.TD(width=10, valign="top"), # HT.TD(HT.Href(text=thisTrait.db.fullname, url = webqtlConfig.INFOPAGEHREF % thisTrait.db.name, # target='_blank', Class="fs13 fwn non_bold"), valign="top") # )) - pass + #pass + + thisTrait.database = thisTrait.get_database() #XZ: ID links if thisTrait.genbankid or thisTrait.geneid or thisTrait.unigeneid or thisTrait.omim or thisTrait.homologeneid: @@ -534,7 +499,7 @@ class DataEditingPage(templatePage): if thisTrait.omim: gurl = HT.Href(text= 'OMIM', target='_blank', \ url= webqtlConfig.OMIM_ID % thisTrait.omim,Class="fs14 fwn", title="Summary from On Mendelian Inheritance in Man") - tSpan.append(HT.Span(gurl, style=idStyle), " "*2) + #tSpan.append(HT.Span(gurl, style=idStyle), " "*2) if thisTrait.unigeneid: try: gurl = HT.Href(text= 'UniGene',target='_blank',\ diff --git a/wqflask/wqflask/show_trait/show_trait_page.py b/wqflask/wqflask/show_trait/show_trait_page.py index 57c68a1c..b1f71e55 100644 --- a/wqflask/wqflask/show_trait/show_trait_page.py +++ b/wqflask/wqflask/show_trait/show_trait_page.py @@ -43,6 +43,7 @@ class ShowTraitPage(DataEditingPage): def __init__(self, fd, traitInfos = None): #templatePage.__init__(self, fd) + self.fd = fd if not self.openMysql(): return diff --git a/wqflask/wqflask/templates/trait_data_and_analysis.html b/wqflask/wqflask/templates/trait_data_and_analysis.html index 0eb1e012..1e67834c 100644 --- a/wqflask/wqflask/templates/trait_data_and_analysis.html +++ b/wqflask/wqflask/templates/trait_data_and_analysis.html @@ -68,7 +68,7 @@ - {{ thisTrait.location }}
+ {{ thisTrait.location_fmt }}
@@ -76,8 +76,14 @@ - BLAT specificity: 12.0   Score: 240   + + + + BLAT specificity + : {{ "%.1f" % (thisTrait.probe_set_specificity) }}    + Score: {{ "%i" % (thisTrait.probe_set_blat_score) }}   + + @@ -93,8 +99,9 @@ - Hippocampus Consortium M430v2 (Jun06) - PDNN + + {{ thisTrait.database.name }} + -- cgit v1.2.3