Mercurial > repos > davidvanzessen > ig_blast_merge
comparison igblastmerge.py @ 3:39ff573fed64 draft
Uploaded
author | davidvanzessen |
---|---|
date | Mon, 02 Dec 2013 11:01:49 -0500 |
parents | 1f6de7db44b6 |
children | f0bf6e978f77 |
comparison
equal
deleted
inserted
replaced
2:591a8bc0af8e | 3:39ff573fed64 |
---|---|
1 import argparse | |
2 import sys | 1 import sys |
3 # error | 2 # error |
4 def stop_err( msg ): | 3 def stop_err( msg ): |
5 sys.stderr.write( "%s\n" % msg ) | 4 sys.stderr.write( "%s\n" % msg ) |
6 sys.exit() | 5 sys.exit() |
7 | 6 |
8 # main | 7 # main |
9 def main(): | 8 def main(): |
10 parser = argparse.ArgumentParser() #docs.python.org/dev/library/argparse.html | 9 args = sys.argv[2:-2] |
11 parser.add_argument("--input", help="Input file(s)", nargs="+") | 10 |
12 parser.add_argument("--id", help="Input file(s) id's", nargs="+") | 11 try: |
13 parser.add_argument("--output", help="Output file") | 12 o = open(sys.argv[-1], 'w') |
14 | 13 i = open(args[1], 'r') |
15 args = parser.parse_args() | 14 separator = "\t" |
16 try: | 15 newline = "\n" |
17 o = open(args.output, 'w') | 16 line = i.readline() |
18 i = open(args.input[-1], 'r') | 17 #write the header |
19 separator = "\t" | 18 o.write(line[:line.rfind(newline)] + separator + "Sample" + separator + "Replicate" + newline) |
20 newline = "\n" | 19 i.close() |
21 header = "Sample" | 20 |
22 line = i.readline() | 21 current = 1 |
23 o.write(line[:line.rfind(newline)] + separator + header + newline) #write the header | 22 sampleID = args[0] |
24 i.close() | 23 count = 1 |
25 | 24 |
26 for cf,i in zip(args.input,args.id): | 25 while True: |
27 f = open(cf, 'r') | 26 print str(o) |
28 line = f.readline() | 27 f = open(args[current], 'r') |
29 line = f.readline() #skip header | 28 line = f.readline() |
30 while line: | 29 line = f.readline() |
31 o.write(line[:line.rfind(newline)] + separator + i + newline) | 30 while line: |
32 line = f.readline() | 31 o.write(line[:line.rfind(newline)] + separator + sampleID + separator + str(count) + newline) |
33 f.close() | 32 line = f.readline() |
34 o.close() | 33 f.close() |
35 | 34 |
36 except Exception, ex: | 35 if current >= (len(args) - 1): |
37 stop_err('Error running new_column.py\n' + str(ex)) | 36 break |
38 sys.exit(0) | 37 if args[current + 1].find("/") is -1: |
38 sampleID = args[current + 1] | |
39 current += 1 | |
40 count = 1 | |
41 else: | |
42 count += 1 | |
43 current += 1 | |
44 o.close() | |
45 | |
46 except Exception, ex: | |
47 stop_err('Error running new_column.py\n' + str(ex)) | |
48 sys.exit(0) | |
39 | 49 |
40 if __name__ == "__main__": | 50 if __name__ == "__main__": |
41 print sys.argv | 51 print sys.argv |
42 main() | 52 main() |