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()