view igblastmerge.py @ 0:4e3df2384422 draft

Uploaded
author davidvanzessen
date Wed, 20 Nov 2013 10:00:28 -0500
parents
children 8d83319a0f3d
line wrap: on
line source

import argparse
import sys
# error
def stop_err( msg ):
	sys.stderr.write( "%s\n" % msg )
	sys.exit()

# main
def main():
	parser = argparse.ArgumentParser() #docs.python.org/dev/library/argparse.html
	parser.add_argument("--input", help="Input file(s)", nargs="+")
	parser.add_argument("--id", help="Input file(s) id's", nargs="+")
	parser.add_argument("--output", help="Output file")
	
	args = parser.parse_args()
	try:
		o = open(args.output, 'w')
		i = open(args.input[-1], 'r')
		separator = "\t"
		newline = "\n"
		header = "Sample"
		line = i.readline()
		o.write(line[:line.rfind(newline)] + separator + header + newline) #write the header
		i.close()
		
		for cf,i in zip(args.input,args.id):
			f = open(cf, 'r')
			line = f.readline()
			line = f.readline() #skip header
			while line:
				o.write(line[:line.rfind(newline)] + separator + i + newline)
				line = f.readline()
			f.close()
		o.close()
    
	except Exception, ex:
		stop_err('Error running new_column.py\n' + str(ex))
	sys.exit(0)

if __name__ == "__main__":
	print sys.argv
	main()