Mercurial > repos > davidvanzessen > ig_blast_merge
comparison igblastmerge.py @ 0:1f6de7db44b6 draft
Uploaded
author | davidvanzessen |
---|---|
date | Mon, 23 Sep 2013 05:42:54 -0400 |
parents | |
children | 39ff573fed64 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:1f6de7db44b6 |
---|---|
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() |