diff options
21 files changed, 117 insertions, 139 deletions
diff --git a/web/faq.html b/web/faq.html index e7d26e37..e7d26e37 100644..100755 --- a/web/faq.html +++ b/web/faq.html diff --git a/web/footer.html b/web/footer.html index 334de26f..334de26f 100644..100755 --- a/web/footer.html +++ b/web/footer.html diff --git a/web/header.html b/web/header.html index 71d27162..71d27162 100644..100755 --- a/web/header.html +++ b/web/header.html diff --git a/web/javascript/footer.js b/web/javascript/footer.js index 18585334..18585334 100644..100755 --- a/web/javascript/footer.js +++ b/web/javascript/footer.js diff --git a/web/javascript/header.js b/web/javascript/header.js index 59fcacd8..59fcacd8 100644..100755 --- a/web/javascript/header.js +++ b/web/javascript/header.js diff --git a/web/javascript/selectDatasetMenu.js b/web/javascript/selectDatasetMenu.js index 65fff775..3bfdc294 100755 --- a/web/javascript/selectDatasetMenu.js +++ b/web/javascript/selectDatasetMenu.js @@ -129,7 +129,7 @@ var dArr = [ {txt:'UCLA CTB6B6CTF2 Muscle Female mlratio **',val:'UCLA_CTB6B6CTF2_MUSCLE_FEMALE'}, {txt:'UCLA CTB6B6CTF2 Liver Female mlratio **',val:'UCLA_CTB6B6CTF2_LIVER_FEMALE'}, {txt:'INIA Macaca fasicularis Amygdala (Jan10) RMA **',val:'INIA_MacFas_AMG_RMA_0110'}, -{txt:'VU BXD Midbrain Agilent SurePrint G3 Mouse GE (May12) Quantile',val:'VUBXDMouseMidBrainQ0512'}, +{txt:'VU BXD Midbrain Agilent SurePrint G3 Mouse GE (May12) Quantile **',val:'VUBXDMouseMidBrainQ0512'}, {txt:'GSE16780 UCLA Hybrid MDP Liver Affy HT M430A (Sep11) RMA',val:'GSE16780_UCLA_ML0911'}, {txt:'EPFL/LISP BXD CD Muscle Affy Mouse Gene 1.0 ST (Dec11) RMA **',val:'EPFLMouseMuscleCDRMA1211'}, {txt:'EPFL/LISP BXD Muscle Affy Mouse Gene 1.0 ST (Dec11) RMA **',val:'EPFLMouseMuscleRMA1211'}, diff --git a/web/javascript/webqtl.js b/web/javascript/webqtl.js index f8dd1a4e..19ecf3b7 100644..100755 --- a/web/javascript/webqtl.js +++ b/web/javascript/webqtl.js @@ -945,7 +945,7 @@ function mixedChipError(methodName){ Used by GoTreePage.py, add the parameter 'chipName' */ function unknownChipError(chipName){ - alert("Sorry, the analysis was interrupted because your selections from GeneNetwork apparently include data from platform"+ chipName +"which is unknown by WebGestalt. Please reselect traits and submit again."); + alert("Sorry, the analysis was interrupted because your selections from GeneNetwork apparently include data from platform "+ chipName +" which is unknown by WebGestalt. Please reselect traits and submit again."); window.close(); } diff --git a/web/reference.html b/web/reference.html index e0bf404c..e0bf404c 100644..100755 --- a/web/reference.html +++ b/web/reference.html diff --git a/web/webqtl/.htaccess b/web/webqtl/.htaccess index d5e1aa95..ac3a9699 100755 --- a/web/webqtl/.htaccess +++ b/web/webqtl/.htaccess @@ -1,5 +1,5 @@ AddHandler python-program .py PythonHandler main -PythonInterpreter GeneNetwork +PythonInterpreter leiyan PythonOption session FileSession PythonDebug On diff --git a/web/webqtl/base/indexBody.py b/web/webqtl/base/indexBody.py index aa67dffa..e73409a5 100755 --- a/web/webqtl/base/indexBody.py +++ b/web/webqtl/base/indexBody.py @@ -67,7 +67,7 @@ index_body_string = """ <!-- DATABASE SELECTION --> <TR> <TD align=right height=35 style="font-size:14px;font-family:verdana;color:black"> - <B>Database:</B> + <B>Data Set:</B> </TD> <TD width="3%"> @@ -221,6 +221,7 @@ Quick HELP Examples and </B> <li><a href="http://galaxy.genenetwork.org/" target="_blank">Galaxy</a> at UTHSC</li> <li>GeneNetwork at <a href="http://ec2.genenetwork.org/" target="_blank">Amazon Cloud (EC2)</a></li> <li>GeneNetwork Source Codes at <a href="http://sourceforge.net/projects/genenetwork/" target="_blank">SourceForge</a></li> + <li>GeneNetwork Source Codes at <a href="https://github.com/genenetwork/genenetwork" target="_blank">GitHub</a></li> </ul> </p> <P>____________________________ @@ -271,7 +272,7 @@ Quick HELP Examples and </B> <LI><A HREF="http://gn.genetics.ucla.edu/" target="_blank" style="font-size:12px;font-family:verdana;color:blue">California at UCLA</A> <LI><A HREF="http://genenetwork.helmholtz-hzi.de/" target="_blank" style="font-size:12px;font-family:verdana;color:blue">Germany at the HZI</A> <LI><A HREF="https://genenetwork.hubrecht.eu/" target="_blank" style="font-size:12px;font-family:verdana;color:blue">Netherlands at the Hubrecht</A> (Development) - <LI><A HREF="http://xzhou3.memphis.edu/" target="_blank" style="font-size:12px;font-family:verdana;color:blue">Memphis at the U of M</A> + <LI><A HREF="http://genenetwork.memphis.edu/" target="_blank" style="font-size:12px;font-family:verdana;color:blue">Memphis at the U of M</A> <LI><A HREF="http://webqtl.bic.nus.edu.sg/" target="_blank" style="font-size:12px;font-family:verdana;color:blue">Singapore at the NUS</A> <LI><A HREF="http://genenetwork.epfl.ch/" target="_blank" style="font-size:12px;font-family:verdana;color:blue">Switzerland at the EPFL</A> </UL> diff --git a/web/webqtl/base/template.py b/web/webqtl/base/template.py index 85bd86df..85bd86df 100644..100755 --- a/web/webqtl/base/template.py +++ b/web/webqtl/base/template.py diff --git a/web/webqtl/base/templatePage.py b/web/webqtl/base/templatePage.py index 4dece24a..4dece24a 100644..100755 --- a/web/webqtl/base/templatePage.py +++ b/web/webqtl/base/templatePage.py diff --git a/web/webqtl/base/webqtlConfigLocal.py b/web/webqtl/base/webqtlConfigLocal.py index 0c95fe7b..499dfba8 100755 --- a/web/webqtl/base/webqtlConfigLocal.py +++ b/web/webqtl/base/webqtlConfigLocal.py @@ -3,17 +3,15 @@ ######################################### MYSQL_SERVER = 'localhost' -DB_NAME = 'db_webqtl' +DB_NAME = 'db_webqtl_leiyan' DB_USER = 'webqtlupd' DB_PASSWD = 'webqtl' MYSQL_UPDSERVER = 'localhost' -DB_UPDNAME = 'db_webqtl' +DB_UPDNAME = 'db_webqtl_leiyan' DB_UPDUSER = 'webqtlupd' DB_UPDPASSWD = 'webqtl' -GNROOT = '/gnshare/gn/' +GNROOT = '/home/leiyan/gn/' PythonPath = '/usr/bin/python' PIDDLE_FONT_PATH = '/usr/lib/python2.4/site-packages/piddle/truetypefonts/' - -TEXTUI=0 # This is to protect GN production server. If set to 0, no text UI is allowed. diff --git a/web/webqtl/intervalMapping/IntervalMappingPage.py b/web/webqtl/intervalMapping/IntervalMappingPage.py index 4bdf45ab..4bdf45ab 100644..100755 --- a/web/webqtl/intervalMapping/IntervalMappingPage.py +++ b/web/webqtl/intervalMapping/IntervalMappingPage.py diff --git a/web/webqtl/pubmedsearch/PubmedSearch.py b/web/webqtl/pubmedsearch/PubmedSearch.py deleted file mode 100755 index 8e7b0725..00000000 --- a/web/webqtl/pubmedsearch/PubmedSearch.py +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright (C) University of Tennessee Health Science Center, Memphis, TN. -# -# This program is free software: you can redistribute it and/or modify it -# under the terms of the GNU Affero General Public License -# as published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# This program is available from Source Forge: at GeneNetwork Project -# (sourceforge.net/projects/genenetwork/). -# -# Contact Drs. Robert W. Williams and Xiaodong Zhou (2010) -# at rwilliams@uthsc.edu and xzhou15@uthsc.edu -# -# -# -# This module is used by GeneNetwork project (www.genenetwork.org) -# -# Created by GeneNetwork Core Team 2010/08/10 -# -# Last updated by GeneNetwork Core Team 2010/10/20 - -#geneWikiPage.py -# -#This one's pretty self-evident from the title. If you use the GeneWiki module, this is what's behind it. -KA - -# Xiaodong changed the dependancy structure - -from htmlgen import HTMLgen2 as HT -import os -import string - -from base.templatePage import templatePage -from base import webqtlConfig -from utility import webqtlUtil - -######################################### -######################################### - -class PubmedSearch(templatePage): - - def __init__(self, fd): - templatePage.__init__(self, fd) - self.content_type = 'text/html' - Heading = HT.Paragraph("pubmed search", Class="title") - Intro = HT.Blockquote("This is a description.") - form = HT.Form(cgi=os.path.join(webqtlConfig.CGIDIR, webqtlConfig.SCRIPTFILE), name='pubmedsearch', submit=HT.Input(type='hidden')) - form.append(HT.Input(type="text", size = 45, maxlength=100, name="symbol")) - form.append(HT.Input(type="hidden", name="FormID", value="pubmedsearchre")) - form.append(HT.Input(type="submit", name="submit", value="submit", Class="button")) - TD_LR = HT.TD(height=200,width="100%",bgColor='#eeeeee',valign="top") - TD_LR.append(Heading, Intro, HT.Center(form)) - self.dict['body'] = str(TD_LR) - self.dict['title'] = "Pubmed Search"
\ No newline at end of file diff --git a/web/webqtl/pubmedsearch/PubmedSearchRe.py b/web/webqtl/pubmedsearch/PubmedSearchRe.py deleted file mode 100755 index fcbfd941..00000000 --- a/web/webqtl/pubmedsearch/PubmedSearchRe.py +++ /dev/null @@ -1,57 +0,0 @@ -# Copyright (C) University of Tennessee Health Science Center, Memphis, TN. -# -# This program is free software: you can redistribute it and/or modify it -# under the terms of the GNU Affero General Public License -# as published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# This program is available from Source Forge: at GeneNetwork Project -# (sourceforge.net/projects/genenetwork/). -# -# Contact Drs. Robert W. Williams and Xiaodong Zhou (2010) -# at rwilliams@uthsc.edu and xzhou15@uthsc.edu -# -# -# -# This module is used by GeneNetwork project (www.genenetwork.org) -# -# Created by GeneNetwork Core Team 2010/08/10 -# -# Last updated by GeneNetwork Core Team 2010/10/20 - -#geneWikiPage.py -# -#This one's pretty self-evident from the title. If you use the GeneWiki module, this is what's behind it. -KA - -# Xiaodong changed the dependancy structure - -from htmlgen import HTMLgen2 as HT -import os -import string - -from base.templatePage import templatePage -from base import webqtlConfig -from utility import webqtlUtil - -######################################### -######################################### - -class PubmedSearchRe(templatePage): - - def __init__(self, fd): - templatePage.__init__(self, fd) - self.content_type = 'text/html' - Heading = HT.Paragraph("pubmed search", Class="title") - Intro = HT.Blockquote("This is a description.") - - table = HT.TableLite(border=0, cellpadding=0, cellspacing=0) - - TD_LR = HT.TD(height=200,width="100%",bgColor='#eeeeee',valign="top") - TD_LR.append(Heading, Intro, HT.Center(form)) - self.dict['body'] = str(TD_LR) - self.dict['title'] = "Pubmed Search"
\ No newline at end of file diff --git a/web/webqtl/pubmedsearch/__init__.py b/web/webqtl/pubmedsearch/__init__.py deleted file mode 100755 index e69de29b..00000000 --- a/web/webqtl/pubmedsearch/__init__.py +++ /dev/null diff --git a/web/webqtl/search/PubmedSearch.py b/web/webqtl/search/PubmedSearch.py new file mode 100755 index 00000000..17c1d1ec --- /dev/null +++ b/web/webqtl/search/PubmedSearch.py @@ -0,0 +1,94 @@ +# Copyright (C) University of Tennessee Health Science Center, Memphis, TN. +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU Affero General Public License +# as published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Affero General Public License for more details. +# +# This program is available from Source Forge: at GeneNetwork Project +# (sourceforge.net/projects/genenetwork/). +# +# Contact Drs. Robert W. Williams and Xiaodong Zhou (2010) +# at rwilliams@uthsc.edu and xzhou15@uthsc.edu +# +# +# +# This module is used by GeneNetwork project (www.genenetwork.org) +# +# Created by GeneNetwork Core Team 2010/08/10 +# +# Last updated by GeneNetwork Core Team 2010/10/20 + +import re + +from dbFunction import webqtlDatabaseFunction + +import logging +logging.basicConfig(filename="/tmp/gn_log_leiyan", level=logging.INFO) +_log = logging.getLogger("PubmedSearch") + +######################################### +# name=megan inst=washington +######################################### + +class PubmedSearch: + + def __init__(self, s, ProbeSetFreezeId): + cursor = webqtlDatabaseFunction.getCursor() + if (not cursor): + return + self.olds = s + self.news = s + sql = "SELECT ProbeSet.Symbol FROM pubmedsearch,ProbeSet,ProbeSetXRef WHERE " + # + pattern_name = re.compile('\s*name\s*[:=]((\s*\(.+?\)\s*)|(\s*\S+\s*))', re.I) + search_name = pattern_name.search(self.news) + if search_name: + self.news = self.news.replace(search_name.group(), ' ') + keywords = search_name.group(1) + keywords = keywords.strip() + keywords = keywords.strip('(') + keywords = keywords.strip(')') + keywords = keywords.strip() + keywords = keywords.split() + for keyword in keywords: + sql += "(MATCH (pubmedsearch.authorfullname,authorshortname) AGAINST ('%s' IN BOOLEAN MODE)) AND " % keyword + _log.info("news_1: "+self.news) + # + pattern_inst = re.compile('\s*inst\s*[:=]((\s*\(.+?\)\s*)|(\s*\S+\s*))', re.I) + search_inst = pattern_inst.search(self.news) + if search_inst: + self.news = self.news.replace(search_inst.group(), ' ') + keywords = search_inst.group(1) + keywords = keywords.strip() + keywords = keywords.strip('(') + keywords = keywords.strip(')') + keywords = keywords.strip() + keywords = keywords.split() + for keyword in keywords: + sql += "(MATCH (pubmedsearch.institute) AGAINST ('%s' IN BOOLEAN MODE)) AND " % keyword + _log.info("news_2: "+self.news) + # + if search_name or search_inst: + sql += "pubmedsearch.geneid=ProbeSet.GeneId AND " + sql += "ProbeSet.Id=ProbeSetXRef.ProbeSetId AND " + sql += "ProbeSetXRef.ProbeSetFreezeId=%d " % ProbeSetFreezeId + sql += "GROUP BY ProbeSet.Symbol;" + _log.info("sql: "+sql) + cursor.execute(sql) + symbols1 = cursor.fetchall() + symbols2 = '' + for symbol in symbols1: + symbols2 += (symbol[0]+' ') + self.news = symbols2 + self.news + _log.info("symbols2: "+symbols2) + else: + self.news = self.olds + + def getNewS(self): + return self.news
\ No newline at end of file diff --git a/web/webqtl/search/SearchResultPage.py b/web/webqtl/search/SearchResultPage.py index 14d10731..029a54c4 100644..100755 --- a/web/webqtl/search/SearchResultPage.py +++ b/web/webqtl/search/SearchResultPage.py @@ -20,8 +20,10 @@ from base.templatePage import templatePage from utility import webqtlUtil from dbFunction import webqtlDatabaseFunction +import PubmedSearch + import logging -logging.basicConfig(filename="/tmp/gn_log", level=logging.INFO) +logging.basicConfig(filename="/tmp/gn_log_leiyan", level=logging.INFO) _log = logging.getLogger("search") class SearchResultPage(templatePage): @@ -155,7 +157,16 @@ class SearchResultPage(templatePage): geneIdListQuery = " geneId=%s" % string.join(string.split(geneIdListQuery), "-") self.ANDkeyword = fd.formdata.getfirst('ANDkeyword', "") + _log.info("self.ANDkeyword[1]: " + self.ANDkeyword) + pubmedSearchObject = PubmedSearch.PubmedSearch(self.ANDkeyword, self.database[0].id) + self.ANDkeyword = pubmedSearchObject.getNewS() + _log.info("self.ANDkeyword[2]: " + self.ANDkeyword) + self.ORkeyword = fd.formdata.getfirst('ORkeyword', "") + _log.info("self.ORkeyword[1]: " + self.ORkeyword) + pubmedSearchObject = PubmedSearch.PubmedSearch(self.ORkeyword, self.database[0].id) + self.ORkeyword = pubmedSearchObject.getNewS() + _log.info("self.ORkeyword[2]: "+self.ORkeyword) self.ORkeyword += geneIdListQuery @@ -485,7 +496,7 @@ class SearchResultPage(templatePage): self.results = [] for item in searchCountQuery: start_time = datetime.datetime.now() - _log.info("Executing query: %s"%(item)) + _log.info("111 Executing query: %s"%(item)) self.cursor.execute(item) allResults.append(self.cursor.fetchall()) end_time = datetime.datetime.now() @@ -497,6 +508,7 @@ class SearchResultPage(templatePage): #searchCountQuery retrieve all the results, for counting use only if searchCountQuery != searchQuery: for item in searchQuery: + _log.info("222 Executing query: %s"%(item)) self.cursor.execute(item) self.results.append(self.cursor.fetchall()) else: diff --git a/web/webqtl/search/pubmedsearch.py b/web/webqtl/search/pubmedsearch.py deleted file mode 100755 index d0d18ff5..00000000 --- a/web/webqtl/search/pubmedsearch.py +++ /dev/null @@ -1,12 +0,0 @@ -import sys -import os -import MySQLdb -import time - -db='db_webqtl_leiyan' -author="megan memphis" - -con = MySQLdb.Connect(db=db,user='webqtlupd',passwd='webqtl', host="localhost") -cursor = con.cursor() -cursor.execute('select PhenotypeId, Locus, DataId, Phenotype.Post_publication_description from PublishXRef, Phenotype where PublishXRef.PhenotypeId = Phenotype.Id and InbredSetId=%s'%InbredSetId) -PublishXRefInfos = cursor.fetchall() diff --git a/web/webqtl/showTrait/ShowTraitPage.py b/web/webqtl/showTrait/ShowTraitPage.py index 82511228..82511228 100755..100644 --- a/web/webqtl/showTrait/ShowTraitPage.py +++ b/web/webqtl/showTrait/ShowTraitPage.py |