mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Changes to exception handling in LCA.
This commit is contained in:
+10
-25
@@ -1,10 +1,9 @@
|
||||
#!/usr/bin/env python
|
||||
#Guruprasad Ananda
|
||||
"""
|
||||
This tool provides the SQL "group by" functionality.
|
||||
Least Common Ancestor tool.
|
||||
"""
|
||||
import sys, string, re, commands, tempfile, random
|
||||
#from rpy import *
|
||||
|
||||
def stop_err(msg):
|
||||
sys.stderr.write(msg)
|
||||
@@ -42,8 +41,8 @@ def main():
|
||||
"""
|
||||
except:
|
||||
stop_err("Syntax error: Use correct syntax: program infile outfile")
|
||||
|
||||
group_col = 0
|
||||
|
||||
tmpfile = tempfile.NamedTemporaryFile()
|
||||
|
||||
try:
|
||||
@@ -68,10 +67,6 @@ def main():
|
||||
prev_vals = []
|
||||
remaining_vals = []
|
||||
skipped_lines = 0
|
||||
first_invalid_line = 0
|
||||
invalid_line = ''
|
||||
invalid_value = ''
|
||||
invalid_column = 0
|
||||
fout = open(outfile, "w")
|
||||
cols = range(1,25)
|
||||
block_valid = False
|
||||
@@ -105,8 +100,6 @@ def main():
|
||||
out_list[1] = str(prev_vals[0][0])
|
||||
out_list[2] = str(prev_vals[1][0])
|
||||
out_list[24] = str(prev_vals[23][0])
|
||||
#print >> fout, prev_vals
|
||||
#sys.exit()
|
||||
for k, col in enumerate(cols):
|
||||
if col >= 3 and col < 24:
|
||||
if len(set(prev_vals[k])) == 1:
|
||||
@@ -116,17 +109,14 @@ def main():
|
||||
while k < 23:
|
||||
out_list[k+1] = 'n'
|
||||
k += 1
|
||||
|
||||
# print >>fout, '\t'.join(out_list)
|
||||
|
||||
if rank_bound == 0:
|
||||
print >>fout, ''.join(out_list)
|
||||
print 'n'*( 24 - rank_bound )
|
||||
print >>fout, '\t'.join(out_list)
|
||||
#print 'n'*( 24 - rank_bound )
|
||||
else:
|
||||
print '\t'.join(out_list[rank_bound:24])
|
||||
#print '\t'.join(out_list[rank_bound:24])
|
||||
if ''.join(out_list[rank_bound:24]) != 'n'*( 24 - rank_bound ):
|
||||
print >>fout, '\t'.join(out_list)
|
||||
|
||||
|
||||
block_valid = True
|
||||
prev_item = item
|
||||
@@ -145,15 +135,11 @@ def main():
|
||||
val_list.append(fields[col].strip())
|
||||
prev_vals.append(val_list)
|
||||
|
||||
except Exception, exc:
|
||||
except:
|
||||
skipped_lines += 1
|
||||
if not first_invalid_line:
|
||||
first_invalid_line = ii+1
|
||||
else:
|
||||
skipped_lines += 1
|
||||
if not first_invalid_line:
|
||||
first_invalid_line = ii+1
|
||||
|
||||
|
||||
# Handle the last grouped value
|
||||
out_list = ['']*25
|
||||
out_list[0] = str(prev_item)
|
||||
@@ -173,14 +159,13 @@ def main():
|
||||
if rank_bound == 0:
|
||||
print >>fout, '\t'.join(out_list)
|
||||
else:
|
||||
print ''.join(out_list[rank_bound:24])
|
||||
print 'n'*( 24 - rank_bound )
|
||||
#print ''.join(out_list[rank_bound:24])
|
||||
#print 'n'*( 24 - rank_bound )
|
||||
if ''.join(out_list[rank_bound:24]) != 'n'*( 24 - rank_bound ):
|
||||
print >>fout, '\t'.join(out_list)
|
||||
|
||||
if skipped_lines > 0:
|
||||
msg= "Skipped %d invalid lines starting with line %d. Value '%s' in column %d is not numeric." % ( skipped_lines, first_invalid_line, invalid_value, invalid_column )
|
||||
print msg
|
||||
print "Skipped %d invalid lines." % ( skipped_lines )
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user