# HG changeset patch # User boris # Date 1372135895 14400 # Node ID 1c21e9f3104bc17726d103ece9e75904bfab7622 # Parent 479f860eb8a9c5d639f2e4cfee676f9e7ef254f0 updated script comments and remove "evaluation" column of the report diff -r 479f860eb8a9 -r 1c21e9f3104b hetbox.py --- a/hetbox.py Tue Jun 25 00:50:46 2013 -0400 +++ b/hetbox.py Tue Jun 25 00:51:35 2013 -0400 @@ -1,4 +1,5 @@ #!/usr/bin/env python + # Code by Boris Rebolledo-Jaramillo # (boris-at-bx.psu.edu) # Edited by Nick Stoler @@ -6,6 +7,7 @@ # New in this version: # - Add in proper header line if not present + import os import sys import array @@ -105,7 +107,7 @@ p = graphics.boxplot(formula, axes=0,ylim=ylimit, lty=1,**kwargs1) table = base.table(DATA.rx2('SAMPLE')) -#graphics.text(-1, 1, 'N:', font=2) +graphics.text(0, -1, 'N:', font=2) for i in range(1, base.length(table)[0]+1, 1): graphics.text(i, -1, table[i-1], font=2) @@ -116,20 +118,8 @@ grdevices.dev_off() if not report: - sys.exit(0) - + sys.exit(0) -#################################### -# GENERATE REPORT -# report should be something like: -# SAMPLE NoHET MEDIAN MAD TEST -# s1 7 10% n p/w/f -# n <= 5 pass -# 6 <= n <=10 warn -# n >= 11 fail -# MAD <= 2.0 fail -# MAD > 2.0 pass -################################### SAMPLES=[] for i in range(len(table)): @@ -143,25 +133,11 @@ return [NoHET,MEDIAN, MAD] boxreport = open(report, "w+") -boxreport.write("SAMPLE\tTOTAL.SITES\tMEDIAN.FREQ.\tMAD.FREQ\tEVAL\n") +boxreport.write("#sample\tNo.sites\tmedian.freq\tMAD.freq\n") + for sample in SAMPLES: ENTRY = [sample] + boxstats(infile,sample) - if ENTRY[1] <= 5: - ENTRY.append('pass') - elif 6 <= ENTRY[1] <=10: - ENTRY.append('warn') - elif ENTRY[1] >= 11: - ENTRY.append('fail') - if ENTRY[3] <=2.0: - ENTRY.append('fail') - elif ENTRY[3] >2.0: - ENTRY.append('pass') - if len(set(ENTRY[4:6])) == 2: - ENTRY.append('warn') - else: - ENTRY.append(list(set(ENTRY[4:6]))[0]) - boxreport.write ('%s\t%d\t%.1f\t%.1f\t%s\n' % tuple([ENTRY[i] for i in [0,1,2,3,6]])) - + boxreport.write ('%s\t%d\t%.1f\t%.1f\n' % tuple([ENTRY[i] for i in [0,1,2,3]])) boxreport.close()