0
|
1 import argparse
|
|
2 import sys
|
|
3 # error
|
|
4 def stop_err( msg ):
|
|
5 sys.stderr.write( "%s\n" % msg )
|
|
6 sys.exit()
|
|
7
|
|
8 # main
|
|
9 def main():
|
|
10 parser = argparse.ArgumentParser() #docs.python.org/dev/library/argparse.html
|
|
11 parser.add_argument("--input", help="Input file(s)", nargs="+")
|
|
12 parser.add_argument("--id", help="Input file(s) id's", nargs="+")
|
|
13 parser.add_argument("--output", help="Output file")
|
|
14
|
|
15 args = parser.parse_args()
|
|
16 try:
|
|
17 o = open(args.output, 'w')
|
|
18 i = open(args.input[-1], 'r')
|
|
19 separator = "\t"
|
|
20 newline = "\n"
|
|
21 header = "Sample"
|
|
22 line = i.readline()
|
|
23 o.write(line[:line.rfind(newline)] + separator + header + newline) #write the header
|
|
24 i.close()
|
|
25
|
|
26 for cf,i in zip(args.input,args.id):
|
|
27 f = open(cf, 'r')
|
|
28 line = f.readline()
|
|
29 line = f.readline() #skip header
|
|
30 while line:
|
|
31 o.write(line[:line.rfind(newline)] + separator + i + newline)
|
|
32 line = f.readline()
|
|
33 f.close()
|
|
34 o.close()
|
|
35
|
|
36 except Exception, ex:
|
|
37 stop_err('Error running new_column.py\n' + str(ex))
|
|
38 sys.exit(0)
|
|
39
|
|
40 if __name__ == "__main__":
|
|
41 print sys.argv
|
|
42 main()
|