Mercurial > repos > davidvanzessen > combined_immune_repertoire_pipeline
comparison igblastmerge.py @ 9:8d83319a0f3d draft
Uploaded
author | davidvanzessen |
---|---|
date | Tue, 10 Dec 2013 05:53:08 -0500 |
parents | 4e3df2384422 |
children |
comparison
equal
deleted
inserted
replaced
8:00d432c66fb8 | 9:8d83319a0f3d |
---|---|
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[1:-2] |
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 | 10 |
36 except Exception, ex: | 11 try: |
37 stop_err('Error running new_column.py\n' + str(ex)) | 12 o = open(sys.argv[-1], 'w') |
38 sys.exit(0) | 13 i = open(args[1], 'r') |
14 separator = "\t" | |
15 newline = "\n" | |
16 line = i.readline() | |
17 #write the header | |
18 o.write(line[:line.rfind(newline)] + separator + "Sample" + separator + "Replicate" + newline) | |
19 i.close() | |
20 | |
21 current = 1 | |
22 sampleID = args[0] | |
23 count = 1 | |
24 | |
25 while True: | |
26 f = open(args[current], 'r') | |
27 line = f.readline() | |
28 line = f.readline() | |
29 while line: | |
30 o.write(line[:line.rfind(newline)] + separator + sampleID + separator + str(count) + newline) | |
31 line = f.readline() | |
32 f.close() | |
33 | |
34 if current >= (len(args) - 1): | |
35 break | |
36 if args[current + 1].find("/") is -1: | |
37 sampleID = args[current + 1] | |
38 current += 1 | |
39 count = 1 | |
40 else: | |
41 count += 1 | |
42 current += 1 | |
43 o.close() | |
44 | |
45 except Exception, ex: | |
46 stop_err('Error running new_column.py\n' + str(ex)) | |
47 sys.exit(0) | |
39 | 48 |
40 if __name__ == "__main__": | 49 if __name__ == "__main__": |
41 print sys.argv | 50 print sys.argv |
42 main() | 51 main() |