diff options
author | Zachary Sloan | 2013-01-08 17:16:45 -0600 |
---|---|---|
committer | Zachary Sloan | 2013-01-08 17:16:45 -0600 |
commit | 34b0cc3a931e266b6382c961d6321ccc9b3ac430 (patch) | |
tree | 876b9b076b01c9448190c739333ab061cec15611 /wqflask/wqflask | |
parent | c8a4719a83e3ee65a8c03b0b600a3cfea9ff17bf (diff) | |
download | genenetwork2-34b0cc3a931e266b6382c961d6321ccc9b3ac430.tar.gz |
Created IndChromosome class in species.py and wrote functions for
chromosome-related attributes
Began to try and pass qtlreaper results as js_data to use when
drawing graphs
Diffstat (limited to 'wqflask/wqflask')
-rwxr-xr-x | wqflask/wqflask/marker_regression/marker_regression.py | 81 | ||||
-rw-r--r-- | wqflask/wqflask/views.py | 11 |
2 files changed, 52 insertions, 40 deletions
diff --git a/wqflask/wqflask/marker_regression/marker_regression.py b/wqflask/wqflask/marker_regression/marker_regression.py index 0aad4e54..73f1246f 100755 --- a/wqflask/wqflask/marker_regression/marker_regression.py +++ b/wqflask/wqflask/marker_regression/marker_regression.py @@ -256,54 +256,58 @@ class MarkerRegression(object): #for i, indChr in enumerate(self.genotype): # self.ChrList.append((indChr.name, i)) - self.cursor.execute(""" - Select - Length from Chr_Length, InbredSet - where - Chr_Length.SpeciesId = InbredSet.SpeciesId AND - InbredSet.Name = '%s' AND - Chr_Length.Name in (%s) - Order by - OrderId - """ % (fd.RISet, string.join(map(lambda X: "'%s'" % X[0], self.ChrList[1:]), ", "))) - - self.ChrLengthMbList = self.cursor.fetchall() - self.ChrLengthMbList = map(lambda x: x[0]/1000000.0, self.ChrLengthMbList) - self.ChrLengthMbSum = reduce(lambda x, y:x+y, self.ChrLengthMbList, 0.0) - if self.ChrLengthMbList: - self.MbGraphInterval = self.ChrLengthMbSum/(len(self.ChrLengthMbList)*12) #Empirical Mb interval - else: - self.MbGraphInterval = 1 - - self.ChrLengthCMList = [] - for i, _chr in enumerate(self.genotype): - self.ChrLengthCMList.append(_chr[-1].cM - _chr[0].cM) - self.ChrLengthCMSum = reduce(lambda x, y:x+y, self.ChrLengthCMList, 0.0)# used for calculate plot scale + #self.cursor.execute(""" + # Select + # Length from Chr_Length, InbredSet + # where + # Chr_Length.SpeciesId = InbredSet.SpeciesId AND + # InbredSet.Name = '%s' AND + # Chr_Length.Name in (%s) + # Order by + # OrderId + # """ % (fd.RISet, string.join(map(lambda X: "'%s'" % X[0], self.ChrList[1:]), ", "))) + # + #self.ChrLengthMbList = self.cursor.fetchall() + #self.ChrLengthMbList = map(lambda x: x[0]/1000000.0, self.ChrLengthMbList) + #self.ChrLengthMbSum = reduce(lambda x, y:x+y, self.ChrLengthMbList, 0.0) + #if self.ChrLengthMbList: + # self.MbGraphInterval = self.ChrLengthMbSum/(len(self.ChrLengthMbList)*12) #Empirical Mb interval + #else: + # self.MbGraphInterval = 1 + # + #self.ChrLengthCMList = [] + #for i, _chr in enumerate(self.genotype): + # self.ChrLengthCMList.append(_chr[-1].cM - _chr[0].cM) + #self.ChrLengthCMSum = reduce(lambda x, y:x+y, self.ChrLengthCMList, 0.0)# used for calculate plot scale - self.GraphInterval = self.MbGraphInterval #Mb + #self.GraphInterval = self.MbGraphInterval #Mb # begin: common part with human data - intCanvas = pid.PILCanvas(size=(self.graphWidth,self.graphHeight)) - gifmap = self.plotIntMapping(fd, intCanvas, startMb = self.startMb, endMb = self.endMb, showLocusForm= "") - filename= webqtlUtil.genRandStr("Itvl_") - intCanvas.save(os.path.join(webqtlConfig.IMGDIR, filename), format='png') - intImg=HT.Image('/image/'+filename+'.png', border=0, usemap='#WebQTLImageMap') + #intCanvas = pid.PILCanvas(size=(self.graphWidth,self.graphHeight)) + #gifmap = self.plotIntMapping(fd, intCanvas, startMb = self.startMb, endMb = self.endMb, showLocusForm= "") + #filename= webqtlUtil.genRandStr("Itvl_") + #intCanvas.save(os.path.join(webqtlConfig.IMGDIR, filename), format='png') + #intImg=HT.Image('/image/'+filename+'.png', border=0, usemap='#WebQTLImageMap') ################################################################ # footnote goes here ################################################################ - btminfo = HT.Paragraph(Id="smallsize") #Small('More information about this graph is available here.') - - if (self.additiveChecked): - btminfo.append(HT.BR(), 'A positive additive coefficient (', HT.Font('green', color='green'), ' line) indicates that %s alleles increase trait values. In contrast, a negative additive coefficient (' % fd.ppolar, HT.Font('red', color='red'), ' line) indicates that %s alleles increase trait values.' % fd.mpolar) + #btminfo = HT.Paragraph(Id="smallsize") #Small('More information about this graph is available here.') + #if (self.additiveChecked): + # btminfo.append(HT.BR(), 'A positive additive coefficient (', HT.Font('green', color='green'), ' line) indicates that %s alleles increase trait values. In contrast, a negative additive coefficient (' % fd.ppolar, HT.Font('red', color='red'), ' line) indicates that %s alleles increase trait values.' % fd.mpolar) - TD_LR = HT.TR(HT.TD(HT.Blockquote(gifmap,intImg, HT.P()), bgColor='#eeeeee', height = 200)) - self.dict['body'] = str(datadiv)+str(TD_LR)+str(resultstable)+str(HT.TR(HT.TD(descriptionTable))) + #TD_LR = HT.TR(HT.TD(HT.Blockquote(gifmap,intImg, HT.P()), bgColor='#eeeeee', height = 200)) + # + #self.dict['body'] = str(datadiv)+str(TD_LR)+str(resultstable)+str(HT.TR(HT.TD(descriptionTable))) # end: common part with human data - + + self.js_data = dict( + qtl_results = self.pure_qtl_results, + #lrs_array = vars(self.lrs_array), + ) @@ -467,7 +471,12 @@ class MarkerRegression(object): filtered_results = self.qtl_results else: suggestive_results = [] + self.pure_qtl_results = [] for result in self.qtl_results: + self.pure_qtl_results.append(dict(locus=dict(cM=result.locus.cM, + chromosome=result.locus.chr), + lrs=result.lrs, + additive=result.additive)) if result.lrs > self.lrs_thresholds.suggestive: suggestive_results.append(result) filtered_results = suggestive_results diff --git a/wqflask/wqflask/views.py b/wqflask/wqflask/views.py index f6c0dfb0..fc628d77 100644 --- a/wqflask/wqflask/views.py +++ b/wqflask/wqflask/views.py @@ -151,10 +151,10 @@ def show_trait_page(): def marker_regression_page(): template_vars = marker_regression.MarkerRegression(request.form) #print("js_data before dump:", template_vars.js_data) - #template_vars.js_data = json.dumps(template_vars.js_data, - # default=json_default_handler, - # indent=" ") - #print("js_data after dump:", template_vars.js_data) + template_vars.js_data = json.dumps(template_vars.js_data, + default=json_default_handler, + indent=" ") + print("[dub] js_data after dump:", template_vars.js_data) print("marker_regression template_vars:", pf(template_vars.__dict__)) return render_template("marker_regression.html", **template_vars.__dict__) @@ -190,6 +190,9 @@ def json_default_handler(obj): # Handle custom objects if hasattr(obj, '__dict__'): return obj.__dict__ + #elif type(obj) == "Dataset": + # print("Not going to serialize Dataset") + # return None else: raise TypeError, 'Object of type %s with value of %s is not JSON serializable' % ( type(obj), repr(obj)) |