# 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 os from base import webqtlConfig from base.templatePage import templatePage from utility import webqtlUtil ######################################### # Interval Mapping Page ######################################### class cmdIntervalMappingPage(templatePage): def __init__(self,fd): templatePage.__init__(self, fd) wtext = "Mapping " try: selectedChr = int(fd.formdata.getvalue('chromosomes')) + 1 if selectedChr < 1: raise "ValueError" if selectedChr == 21 or (selectedChr == 20 and fd.RISet != 'HXBBXH'): selectedChr = 'X' wtext += 'chromosome %s ' % selectedChr except: wtext += 'whole genome ' perm = 0 if fd.formdata.getvalue('permCheck'): perm = 1 wtext += 'with %d permutation tests ' % fd.nperm boot = 0 if fd.formdata.getvalue('bootCheck'): boot = 1 if perm: wtext += 'and %d bootstrap tests ' % fd.nboot else: wtext += 'with %d bootstrap tests ' % fd.nboot if boot == 0 and perm == 0: wtext += "without permutation or bootstrap tests" filename = self.session("Interval Mapping", wtext) webqtlUtil.dump_session(fd, os.path.join(webqtlConfig.TMPDIR, filename +'.session')) url = webqtlConfig.REFRESHDIR % (webqtlConfig.CGIDIR, self.filename) os.system("%s %swebqtlCmdLine.py interval %s >/dev/null 2>&1 &" % (webqtlConfig.PythonPath, webqtlConfig.CMDLINEDIR, filename)) self.redirection = url