diff options
Diffstat (limited to 'web/webqtl')
-rwxr-xr-x | web/webqtl/.htaccess | 2 | ||||
-rwxr-xr-x | web/webqtl/base/indexBody.py | 5 | ||||
-rwxr-xr-x[-rw-r--r--] | web/webqtl/base/template.py | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | web/webqtl/base/templatePage.py | 0 | ||||
-rwxr-xr-x | web/webqtl/base/webqtlConfigLocal.py | 8 | ||||
-rwxr-xr-x[-rw-r--r--] | web/webqtl/intervalMapping/IntervalMappingPage.py | 0 | ||||
-rwxr-xr-x | web/webqtl/pubmedsearch/PubmedSearch.py | 58 | ||||
-rwxr-xr-x | web/webqtl/pubmedsearch/PubmedSearchRe.py | 57 | ||||
-rwxr-xr-x | web/webqtl/pubmedsearch/__init__.py | 0 | ||||
-rwxr-xr-x | web/webqtl/search/PubmedSearch.py | 94 | ||||
-rwxr-xr-x[-rw-r--r--] | web/webqtl/search/SearchResultPage.py | 16 | ||||
-rwxr-xr-x | web/webqtl/search/pubmedsearch.py | 12 | ||||
-rw-r--r--[-rwxr-xr-x] | web/webqtl/showTrait/ShowTraitPage.py | 0 |
13 files changed, 115 insertions, 137 deletions
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 |