idStr = id[0] if idStr.find("xpEHH"): toks = idStr.split("/") myStudies.append(toks[1] + "/" + toks[-1]) web.sendPreamble(md5, None, "xpEHH") os.chdir(xpehhPath) print('<a href="pop.py?md5=%s">Population page</a>' % (md5,)) print("<h1>xpEHH</h1>") print(",".join(myStudies)) print("<h2>Bulk Downloads</h2>(support %s)<br>" % sPop) fNames = os.listdir(".") print(web.linkFile((karyo, md5), "%s-uxpEHH.zip" % sPopURL, "Download bulk data (unstandardized)",)) print(web.linkFile((karyo, md5), "%s-xpEHH.zip" % sPopURL, "Download bulk data (standardized)",)) print(web.linkFile((karyo, md5), "xpEHH-%s.window" % sPopURL, "Download bulk data (Window)",)) cwd = os.getcwd() os.chdir(MEGA.cacheDB + "/sets/" + karyo + '/' + md5) print("<h2>Mean, standard deviation</h2>") try: f = open(xpehhPath + "/xpEHH-" + sPop + ".stats") print((", ".join(f.readlines()))) f.close() #print '<br><img src="/cgi-bin/xpEHH.py?md5=%s&op=png">'% (hash,) except IOError: print("Not available")
print('</tr>') for pop in study.pops.pops: md5 = MEGA.getHash(study.pops.getIndivs(pop)) print("<tr>") print("<td>", web.getPopURL(pop, karyo.karyotype, md5), "</td>") print("<td>", len(study.pops.getIndivs(pop)), "</td>") for cut in cuts: try: print('<td>', len(study.ibd.getIndivsPop(pop, cut)), '</td>') except IOError: print('<td></td>') print("</tr>") print("</td>") print("</tr></table>") print("<br>") print(web.linkFile(studyName, "ibd.problems", "IBD issues (>12.5)", True)) print('<h2>PCA</h2>') print('<table border=1>') for i in range(study.pca.numPCAs): print('<tr>') print('<td>') print(web.linkFile(studyName, 'pca%d.evec' % i, 'PCA Matrix', True)) print(web.linkFile(studyName, 'pca%d.evl' % i, 'PCA weights', True)) print('</td><td>') print(web.linkFile(studyName, 'pca%d.png' % i, None, True, True, attrs='width="1000"')) print("</td>") print("</tr>") print("</table>") print("<h2>Admixture</h2>")
popName = popInfo[0] if len(popInfo)>1: suppPop = popInfo[1] header.append(popName + "/" + suppPop) else: header.append(popName) header.extend(["Top", "1%", "Top+1%", "5%"]) def outFun(toks): toks[1] = '<a href="%s/gtf.py?k=%d&start=%d&end=%d">%s</a>' % ( MEGA.webRoot, int(toks[0]), int(toks[1]), int(toks[1])+200000, toks[1]) return toks web.table("comparison.py", cgi, "cmp.top.%s" % name, header, outFun) print(web.linkFile(studyName, "cmp.top.%s" % name, "(download)", isStudy=True, fType="text/plain")) elif study.comparisons.getType(name)=="Pair": os.chdir(MEGA.cacheDB + "/studies/"+studyName) f = open("cmp.pr.%s" % name) print("<table>") for l in f: print("<tr><td>") print("</td><td>".join(l.rstrip().split("\t"))) print("</td></tr>") print("</table>") print(web.linkFile(studyName, "cmp.pr.%s" % name, "(download)", isStudy=True, fType="text/plain")) print("<br>") print(web.linkFile(studyName, "cmp.p2.%s" % name, "Windows", isStudy=True, fType="text/plain")) elif study.comparisons.getType(name)=="Gene List": os.chdir(MEGA.cacheDB + "/studies/"+studyName) f = open("cmp.gl.%s" % name)
try: f = open("%s/sets/%s/%s/basic" % (MEGA.cacheDB, karyo, md5)) print("<table border=1><tr><td><b>total</b></td><td>%s</td></tr><tr>" % ( f.readline(),)) for l in f: print("<tr><td>") print("</td><td>".join(l.split("\t"))) print("</td></tr>") print("</table>") except IOError: print("<br><b>Basic info for this population is not available</b>") print("<h2>Inbreeding</h2>") print("<h3>Genome IBD</h3>") print(web.linkFile((karyo, md5), "genome", "genome file", errorDesc="genome info not available")) cuts = [] try: for name in os.listdir("%s/sets/%s/%s" % (MEGA.cacheDB, karyo, md5)): if name.startswith("ibd.retain"): cuts.append(name[11:]) except OSError: print("No info") print("<h3>Distant individuals</h3>") for cut in cuts: print("<br><b>%s</b><br>" % (cut,)) df = "%s/sets/%s/%s/distant.%s" % (MEGA.cacheDB, karyo, md5, cut) try:
ids = sql.getIds(md5) karyo = form["k"].value myStudies = [] for id in ids: idStr = id[0] if idStr.find("iHS"): toks = idStr.split("/") myStudies.append(toks[1] + "/" + toks[-1]) web.sendPreamble(md5, None, "iHS") print('<a href="pop.py?md5=%s">Population page</a>' % (md5,)) print("<h1>iHS</h1>") print(",".join(myStudies)) print("<h2>Bulk Downloads</h2>") print(web.linkFile((karyo, md5), "uiHS.zip", "Download bulk data (unstandardized)",)) print(web.linkFile((karyo, md5), "iHS.zip", "Download bulk data (standardized)",)) print(web.linkFile((karyo, md5), "iHS.window", "Download bulk data (Window)",)) print("<h2>Mean, standard deviation</h2>") try: print(web.linkFile((karyo, md5), "iHSCheck.png", None, False, True, attrs='width="30%"')) print(web.linkFile((karyo, md5), "uiHS.png", None, False, True, attrs='width="30%"')) except IOError: print("Not available") print("<h2>GO Window enrichment</h2>")
sys.path.insert(0, os.path.expanduser(path)) import MEGA from MEGA import web form = cgi.FieldStorage() op, md5, studyName, study = web.getCore(form) no = int(form["no"].value) studyPath = "%s/studies/%s/" % (MEGA.cacheDB, studyName) web.sendPreamble(md5, None, "F statistics - %s - %d" % (studyName, no)) print("<h1>FST - %s - %d</h1>" % (studyName, no)) print(web.linkFile(studyName, "f%d.zip" % no, "Download bulk data", True)) print("<h2>Populations</h2>") for pop in study.fs.pops[no]: print("%s<br>" % pop) print("<h2>Summary</h2>") f = open(studyPath + "FST-summary-%d" % no) header = f.readline() vals = f.readline() print("<table border=1><tr><td>") print("</td><td>".join(header.split("\t"))) print("</td></td><tr><td>") print("</td><td>".join(vals.split("\t"))) print("</td></td></table>")