diff options
Diffstat (limited to 'web/webqtl/cmdLine/webqtlCmdLine.py')
-rwxr-xr-x | web/webqtl/cmdLine/webqtlCmdLine.py | 176 |
1 files changed, 176 insertions, 0 deletions
diff --git a/web/webqtl/cmdLine/webqtlCmdLine.py b/web/webqtl/cmdLine/webqtlCmdLine.py new file mode 100755 index 00000000..ebc10e1c --- /dev/null +++ b/web/webqtl/cmdLine/webqtlCmdLine.py @@ -0,0 +1,176 @@ +# 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 + + + +######################################################## +#XZ, Aug 10, 2010 +#This part is the temporary solution to make python be able to find other subpackages. +#We can't set global environment because there are many branches on the development machine. + +import sys, os + +current_file_name = __file__ +pathname = os.path.dirname( current_file_name ) +abs_path = os.path.abspath(pathname) +sys.path.insert(0, abs_path + '/..') + +######################################################## + + + +import traceback +import string +import cPickle + +from base import webqtlConfig +from base.templatePage import templatePage +from utility import webqtlUtil + + +if __name__ == "__main__": + try: + if len(sys.argv) > 2: + getID = string.lower(sys.argv[1]) + else: + raise ValueError + + cmdtype = sys.argv[1] + sessionfile = sys.argv[2] + + fd = None + + fp = open(os.path.join(webqtlConfig.TMPDIR, sessionfile + '.session'), 'rb') + fd = cPickle.load(fp) + fp.close() + + if cmdtype == "heatmap": + from heatmap import heatmapPage + reload(heatmapPage) + page = heatmapPage.heatmapPage(fd) + page.writeFile(sessionfile+'.html') + elif cmdtype == "directplot": + from pairScan import DirectPlotPage + reload(DirectPlotPage) + page = DirectPlotPage.DirectPlotPage(fd) + page.writeFile(sessionfile+'.html') + elif cmdtype == "networkGraph": + from networkGraph import networkGraphPage + reload(networkGraphPage) + page = networkGraphPage.networkGraphPage(fd) + page.writeFile(sessionfile+'.html') + elif cmdtype == "interval": + from intervalMapping import IntervalMappingPage + reload(IntervalMappingPage) + page = IntervalMappingPage.IntervalMappingPage(fd) + page.writeFile(sessionfile+'.html') + elif cmdtype == "correlation": + from correlation import CorrelationPage + reload (CorrelationPage) + page = CorrelationPage.CorrelationPage(fd) + page.writeFile(sessionfile+'.html') + elif cmdtype == "partialCorrelation": + from correlation import PartialCorrDBPage + reload(PartialCorrDBPage) + page = PartialCorrDBPage.PartialCorrDBPage(fd) + page.writeFile(sessionfile+'.html') + elif cmdtype == "correlationComparison": + from compareCorrelates import multitrait + reload(multitrait) + page = multitrait.compCorrPage(fd) + page.writeFile(sessionfile+'.html') + elif cmdtype == "genreport": # Generate Report Page + spacer = '</TR></Table><Table width=900 cellSpacing=0 cellPadding=5><TR>' + + from basicStatistics import BasicStatisticsPage + reload(BasicStatisticsPage) + page1 = BasicStatisticsPage.BasicStatisticsPage(fd) + + if not fd.formdata.getvalue('bsCheck'): + page1.dict['body'] = "" + + if fd.formdata.getvalue('tcCheck'): + from correlation import CorrelationPage + reload(CorrelationPage) + page2 = CorrelationPage.CorrelationPage(fd) + page1.dict['body'] += spacer + str(page2.dict['body']) + page1.dict['js1'] += page2.dict['js1'] + + if fd.formdata.getvalue('imCheck'): + from intervalMapping import IntervalMappingPage + reload(IntervalMappingPage) + page3 = IntervalMappingPage.IntervalMappingPage(fd) + page1.dict['body'] += spacer + str(page3.dict['body']) + + if fd.formdata.getvalue('mrCheck'): + from markerRegression import MarkerRegressionPage + reload(MarkerRegressionPage) + page4 = MarkerRegressionPage.MarkerRegressionPage(fd) + page1.dict['body'] += spacer + str(page4.dict['body']) + + if fd.formdata.getvalue('psCheck'): + from pairScan import DirectPlotPage + reload(DirectPlotPage) + page5 = DirectPlotPage.DirectPlotPage(fd) + page1.dict['body'] += spacer + str(page5.dict['body']) + + page1.writeFile(sessionfile+'.html') + + elif cmdtype == "genreport2": # Generate Report Page v2 + spacer = '</TR></Table><Table width=900 cellSpacing=0 cellPadding=5><TR>' + + from basicStatistics import BasicStatisticsPage_alpha + reload(BasicStatisticsPage_alpha) + page1 = BasicStatisticsPage_alpha.BasicStatisticsPage_alpha(fd) + page1.writeFile(sessionfile+'.html') + elif cmdtype == "snpbrowser": + from snpBrowser import snpBrowserPage + reload(snpBrowserPage) + page = snpBrowserPage.snpBrowserPage(fd) + page.writeFile(sessionfile+'.html') + elif cmdtype == "QTLminer": + from qtlminer import QTLminer + reload(QTLminer) + page = QTLminer.QTLminer(fd) + page.writeFile(sessionfile+'.html') + elif cmdtype == "tissueCorrelation": + from correlationMatrix import TissueCorrelationPage + reload(TissueCorrelationPage) + page = TissueCorrelationPage.TissueCorrelationPage(fd) + page.writeFile(sessionfile+'.html') + elif cmdtype == "markerRegression": + from markerRegression import MarkerRegressionPage + reload(MarkerRegressionPage) + page = MarkerRegressionPage.MarkerRegressionPage(fd) + page.writeFile(sessionfile+'.html') + else: + raise ValueError + except: + fp = open(os.path.join(webqtlConfig.TMPDIR, sessionfile +'.html'), 'wb') + fp.write('\n\n<pre>') + traceback.print_exc(file=fp) + fp.write('\n</pre>') + fp.close() |