aboutsummaryrefslogtreecommitdiff
path: root/web/webqtl/cmdLine/webqtlCmdLine.py
diff options
context:
space:
mode:
Diffstat (limited to 'web/webqtl/cmdLine/webqtlCmdLine.py')
-rwxr-xr-xweb/webqtl/cmdLine/webqtlCmdLine.py176
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()