about summary refs log tree commit diff
path: root/web/webqtl/compareCorrelates/htmlModule.py
diff options
context:
space:
mode:
Diffstat (limited to 'web/webqtl/compareCorrelates/htmlModule.py')
-rwxr-xr-xweb/webqtl/compareCorrelates/htmlModule.py279
1 files changed, 0 insertions, 279 deletions
diff --git a/web/webqtl/compareCorrelates/htmlModule.py b/web/webqtl/compareCorrelates/htmlModule.py
deleted file mode 100755
index ebba3b86..00000000
--- a/web/webqtl/compareCorrelates/htmlModule.py
+++ /dev/null
@@ -1,279 +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
-
-import sys
-import string
-import os
-import MySQLdb
-import cgi
-
-from htmlgen import HTMLgen2 as HT
-
-from base import webqtlConfig
-
-
-# XZ 08/14/2008: When I tried to replace 'from webqtlConfig import *' with 'import webqtlConfig'
-# XZ 08/14/2008: I found some problems. I discussed with Hongqiang and the below is conclusion.
-# XZ 08/14/2008: The program uses webqtlConfig.DB_NAME, webqtlConfig.MYSQL_SERVER and so on
-# XZ 08/14/2008: without 'import webqtlConfig'. This program will not work.
-# XZ 08/14/2008: CONFIG_htmlpath doesn't exist in webqtlConfig.py
-# XZ 08/14/2008: Hongqian said this was done by Fan Zhang, and this program was not tested.
-# XZ 08/14/2008: So nobody realize these bugs.
-
-# XZ, 09/09/2008: This function is not called any where. 
-# XZ, 09/09/2008: Actually, I don't think this function works.
-def genHeaderFooter(i=1,title='',basehref='',js1='',js2='',layer='',body=''):
-	"""
-	generate footer and header HTML code
-	default is header
-	i = 0 is footer+header
-	i = 1 is header
-	i = 2 is footer	
-	"""
-	try:
-                temp_file = CONFIG_htmlpath + 'beta-template.html'
-		fp = open(temp_file, 'rb')
-		template = fp.read()
-		fp.close()
-		template = template % (title,basehref,js1,js2,layer,body, "")
-		header,footer = string.split(template,'<!-- split from Here -->')
-		if i == 0:
-			return header + footer
-		elif i == 1:
-			return header
-		elif i == 2:
-			return footer
-		else:
-			return ""
-	except:
-		if i == 0:
-			return "header + footer"
-		elif i == 1:
-			return "header"
-		elif i == 2:
-			return "footer"
-		else:
-			return ""
-
-# XZ, 09/09/2008: This function is only used in multitrait.py where it is called with value assigned to db.
-# XZ, 09/09/2008: So the try-except block is not executed.
-# XZ, 09/09/2008: This explains why no error was generated even without 'import webqtlConfig'
-def genDatabaseMenu(db = None, public =1, RISetgp = 'BXD', selectname = 'database', selected = ""):
-	"""
-	generate database Menu
-	public = 0 : search3.html databases Menu
-	public = 1 : search.html databases Menu
-	"""
-	if not db:
-		try:
-			# import MySQLdb
-			# con = MySQLdb.Connect(db='db_webqtl')
-			# Modified by Fan Zhang
-			con = MySQLdb.Connect(db=webqtlConfig.DB_NAME,host=webqtlConfig.MYSQL_SERVER, user=webqtlConfig.DB_USER,passwd=webqtlConfig.DB_PASSWD)
-			db = con.cursor()
-		except:
-			return "Connect MySQL Server Error"
-	else:
-		pass
-	
-	databaseMenu = HT.Select(name=selectname)
-	nmenu = 0
-
-	# here's a hack: bxd and bxd300 can be correlated against each other
-	# if either of those are the group, we put in special SQL that pulls both
-	if RISetgp in ("BXD", "BXD300"):
-		ibsNameQry = '(InbredSet.Name = "BXD" OR InbredSet.Name = "BXD300")'
-	else:
-		ibsNameQry = 'InbredSet.Name = "%s"' % RISetgp
-	
-	#Publish Database
-	db.execute('''
-		   SelecT
-		     PublishFreeze.FullName,
-		     PublishFreeze.Name
-		   from
-		     PublishFreeze,
-		     InbredSet
-		   where
-		     PublishFreeze.InbredSetId = InbredSet.Id and
-		     %s
-		   ''' % ibsNameQry)
-	for item in db.fetchall():
-		databaseMenu.append(item)
-		nmenu += 1
-	
-	#Genome Database
-	db.execute('''
-		   SelecT
-		     GenoFreeze.FullName,
-		     GenoFreeze.Name
-		   from
-		     GenoFreeze,InbredSet
-		   where
-		     GenoFreeze.InbredSetId = InbredSet.Id and
-		     %s
-		   ''' % ibsNameQry)
-	for item in db.fetchall():
-		databaseMenu.append(item)
-		nmenu += 1
-	
-	#Microarray Database
-	db.execute('SelecT Id, Name from Tissue')
-	for item in db.fetchall():
-		TId, TName = item
-		databaseMenuSub = HT.Optgroup(label = '%s ------' % TName)
-		db.execute('''
-			   SelecT
-			     ProbeSetFreeze.FullName,
-			     ProbeSetFreeze.Name
-			   from
-			     ProbeSetFreeze,
-			     ProbeFreeze,
-			     InbredSet
-			   where
-			     ProbeSetFreeze.ProbeFreezeId = ProbeFreeze.Id and
-			     ProbeFreeze.TissueId = %d and
-			     ProbeSetFreeze.public > %d and
-			     ProbeFreeze.InbredSetId = InbredSet.Id and
-			     %s
-			   order by
-			     ProbeSetFreeze.CreateTime desc,
-			     ProbeSetFreeze.AvgId
-			   '''  % (TId,public,ibsNameQry))
-		for item2 in db.fetchall():
-			databaseMenuSub.append(item2)
-			nmenu += 1
-		databaseMenu.append(databaseMenuSub)
-	
-	if nmenu:
-		if selected:
-			databaseMenu.selected.append(selected)
-		return str(databaseMenu)
-	else:
-		return ''
-
-
-# XZ, 09/09/2008: This function is not called any where. 
-# XZ, 09/09/2008: Actually, I don't think this function works.
-# XZ, 09/09/2008: There is no 'DataForm' file now. It should be webqtlForm.py
-def genRISample():
-	import glob
-	import reaper
-	import random
-	import math
-	import webqtlUtil
-	risets = filter(lambda X:X.find('F2')<0, map(os.path.basename, glob.glob(os.path.join(CONFIG_genodir, "*.geno"))))
-	risets = map(lambda X:X.split('.')[0], risets)
-	risets.remove("BayXSha")
-	risets.sort()
-	body = HT.Blockquote()
-	NPerRow = 6
-	for item in risets:
-		values = []
-		if item == 'AXBXA': item2='AXB/BXA'
-		elif item == 'HXBBXH': item2='HXB/BXH'
-		else: item2=item
-		body.append(HT.Paragraph(item2, Class='subtitle'))
-		tbl = HT.TableLite(Class="collap")
-		dataset = reaper.Dataset()
-		dataset.read(os.path.join(CONFIG_genodir, "%s.geno"%item))
-		prgy = webqtlUtil.ParInfo[item] + list(dataset.prgy)
-		
-		mean = random.random()*100
-		variance = random.random()*500
-		variables = []
-		while len(variables) < len(prgy):
-			S = 2
-			while (S>=1):
-				U1= random.random()
-				U2= random.random()
-				V1= 2*U1-1.0
-				V2= 2*U2-1.0
-				S=V1*V1+V2*V2
-			X= math.sqrt(-2 *  math.log(S) / S) * V1
-			Y= math.sqrt(-2 *  math.log(S) / S) * V2	
-			variables.append(mean + math.sqrt(variance) * X)
-			variables.append(mean + math.sqrt(variance) * Y) 
-		
-		tempTR = HT.TR()
-		for i, strain in enumerate(prgy):
-			if i and i%NPerRow==0:
-				tbl.append(tempTR)
-				tempTR = HT.TR()
-			if random.random() < 0.2:
-				variable = 'X'
-			else:
-				variable = "%2.3f" % variables[i]
-			
-			tempTR.append(HT.TD(strain, Class="strains", width=80))
-			tempTR.append(HT.TD(variable, Class="values", width=60))
-			values.append(variable)
-		
-		for j in range(NPerRow-i%NPerRow-1):
-			tempTR.append(HT.TD())
-		tbl.append(tempTR)	
-		body.append(tbl)
-		body.append(HT.Paragraph("Copy the following line to paste into the GeneNetwork entry box:"))
-		body.append(HT.Code(string.join(values, " ")))
-		body.append(HT.HR(width="90%"))
-	return body
-		
-if __name__ == "__main__":
-	if os.environ.has_key('SCRIPT_FILENAME'):
-		script_filename = os.environ['SCRIPT_FILENAME']
-	else:
-		script_filename = ''
-	#Used as cgi script
-	if script_filename and script_filename[-2:] == 'py':
-		print 'Content-type: text/html\n'
-		formdata = cgi.FieldStorage()
-		sys.stderr = sys.stdout
-		try:
-			getID = string.lower(formdata.getvalue('get'))
-		except:
-			getID = ''
-	#Used as command
-	else:
-		if len(sys.argv) >= 2:
-			getID = string.lower(sys.argv[1])
-		else:
-			getID = ''
-	
-	if getID == 'headerfooter':
-		print genHeaderFooter(0)
-	elif getID == 'header':
-		print genHeaderFooter(1)
-	elif getID == 'footer':
-		print genHeaderFooter(2)
-	elif getID == 'databasemenu':
-		print genDatabaseMenu(public=0)
-	elif getID == 'datasample':
-		print genRISample()
-	else:
-		print genHeaderFooter(0)
-else:
-	pass
-