diff options
Diffstat (limited to 'web/webqtl/externalResource/GoTreePage.py')
-rwxr-xr-x | web/webqtl/externalResource/GoTreePage.py | 154 |
1 files changed, 0 insertions, 154 deletions
diff --git a/web/webqtl/externalResource/GoTreePage.py b/web/webqtl/externalResource/GoTreePage.py deleted file mode 100755 index 07144a23..00000000 --- a/web/webqtl/externalResource/GoTreePage.py +++ /dev/null @@ -1,154 +0,0 @@ -#GoTreePage.py - -import string -from htmlgen import HTMLgen2 as HT - -from base import webqtlConfig -from base.webqtlTrait import webqtlTrait -from base.templatePage import templatePage -from dbFunction import webqtlDatabaseFunction - - -######################################### -# GoTree Page -######################################### -class GoTreePage(templatePage): - - def __init__(self,fd): - - self.theseTraits = [] - TD_LR = HT.TD(height=200,width="100%",bgColor='#eeeeee',valign="middle") - - templatePage.__init__(self, fd) - - if not self.openMysql(): - return - - self.searchResult = fd.formdata.getvalue('searchResult', []) - if type("1") == type(self.searchResult): - self.searchResult = [self.searchResult] - - #XZ, self.theseTraits holds the "ProbeSet" traits. - - for item in self.searchResult: - try: - thisTrait = webqtlTrait(fullname=item, cursor=self.cursor) - thisTrait.retrieveInfo(QTL=1) - if thisTrait.db.type == "ProbeSet": - self.theseTraits.append(thisTrait) - except: - pass - - if self.theseTraits: - pass - else: - templatePage.__init__(self, fd) - heading = 'WebGestalt' - detail = ['You need to select at least one microarray trait to submit.'] - self.error(heading=heading,detail=detail) - return - - chipName = self.testChip(fd) - - #XZ, 8/24/2009: the name of arraylist is misleading. It holds the name of traits. - arraylist, geneIdList = self.genGeneIdList(fd) - - target_url = "http://bioinfo.vanderbilt.edu/webgestalt/webgestalt.php" - - formWebGestalt = HT.Form(cgi=target_url, enctype='multipart/form-data', name='WebGestalt', submit = HT.Input(type='hidden')) - - id_type = chipName - - hddnWebGestalt = {'id_list':string.join(arraylist, ","), - 'id_type':id_type} - - hddnWebGestalt['ref_type'] = hddnWebGestalt['id_type'] - hddnWebGestalt['analysis_type'] = 'GO' - hddnWebGestalt['significancelevel'] = 'Top10' - hddnWebGestalt['stat'] = 'Hypergeometric' - hddnWebGestalt['mtc'] = 'BH' - hddnWebGestalt['min'] = '2' - hddnWebGestalt['id_value'] = fd.formdata.getvalue('correlation') - - species = webqtlDatabaseFunction.retrieveSpecies(cursor=self.cursor, RISet=fd.RISet) - - if species == 'rat': - hddnWebGestalt['org'] = 'Rattus norvegicus' - elif species == 'human': - hddnWebGestalt['org'] = 'Homo sapiens' - elif species == 'mouse': - hddnWebGestalt['org'] = 'Mus musculus' - else: - hddnWebGestalt['org'] = '' - - hddnWebGestalt['org'] = hddnWebGestalt['org'].replace(' ','_') - - for key in hddnWebGestalt.keys(): - formWebGestalt.append(HT.Input(name=key, value=hddnWebGestalt[key], type='hidden')) - - TD_LR.append(formWebGestalt) - - TD_LR.append(HT.Paragraph("Your selection of %d traits is being submitted to GO Tree" % len(self.theseTraits), Class="cr fs16 fwb", align="Center")) - - # updated by NL, moved mixedChipError() to webqtl.js and change it to mixedChipError(methodName) - # moved unknownChipError() to webqtl.js and change it to unknownChipError(chipName) - if chipName == 'mixed': - methodName = "WebGestalt" - self.dict['js1'] = """ - <SCRIPT LANGUAGE="JavaScript"> - setTimeout("mixedChipError('%s')" ,1000); - </SCRIPT> - """ % methodName - elif chipName.find('_NA') > 0: - chipName = chipName[0:-3] - self.dict['js1'] = """ - <SCRIPT LANGUAGE="JavaScript"> - setTimeout("unknownChipError('%s')",1000); - </SCRIPT> - """ % chipName - else: - self.dict['js1'] = """ - <SCRIPT LANGUAGE="JavaScript"> - setTimeout('document.WebGestalt.submit()',1000); - </SCRIPT> - """ - - self.dict['body'] = TD_LR - - def testChip(self, fd): - chipName0 = "" - - for item in self.theseTraits: - self.cursor.execute('SELECT GeneChip.GO_tree_value FROM GeneChip, ProbeFreeze, ProbeSetFreeze WHERE GeneChip.Id = ProbeFreeze.ChipId and ProbeSetFreeze.ProbeFreezeId = ProbeFreeze.Id and ProbeSetFreeze.Name = "%s"' % item.db.name) - result = self.cursor.fetchone() - if result: - chipName = result[0] - if chipName: - if chipName != chipName0: - if chipName0: - return 'mixed' - else: - chipName0 = chipName - else: - pass - else: - self.cursor.execute('SELECT GeneChip.Name FROM GeneChip, ProbeFreeze, ProbeSetFreeze WHERE GeneChip.Id = ProbeFreeze.ChipId and ProbeSetFreeze.ProbeFreezeId = ProbeFreeze.Id and ProbeSetFreeze.Name = "%s"' % item.db.name) - result = self.cursor.fetchone() - chipName = '%s_NA' % result[0] - return chipName - else: - self.cursor.execute('SELECT GeneChip.Name FROM GeneChip, ProbeFreeze, ProbeSetFreeze WHERE GeneChip.Id = ProbeFreeze.ChipId and ProbeSetFreeze.ProbeFreezeId = ProbeFreeze.Id and ProbeSetFreeze.Name = "%s"' % item.db.name) - result = self.cursor.fetchone() - chipName = '%s_NA' % result[0] - return chipName - return chipName - - def genGeneIdList(self, fd): - arrayList = [] - geneList = [] - for item in self.theseTraits: - arrayList.append(item.name) - item.retrieveInfo() - geneList.append(str(item.geneid)) - return arrayList, geneList - |