9 data_filename = sys.argv[1]
13 for line in file(data_filename, 'r'):
14 if len(line.strip()) == 0:
16 if line.startswith('#'):
20 k,x,residual = [float(z) for z in line.split()]
21 data[(k,x)] = residual
23 ks = sorted(set([k for k,x in data.keys()]))
26 xs = sorted(set([x for k,x in data.keys()]))
29 border_xs = xs[:3] + xs[-3:]
34 best_residual = data[(k,x)]
36 residual = data[(k,x)]
37 if residual < best_residual:
39 best_residual = residual
40 if best_x in border_xs:
41 continue # don't print minimums up against the data boundaries
42 print '\t'.join([str(z) for z in [k,best_x,best_residual]])