about summary refs log tree commit diff
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()