def parse_arguments()

in src/main/python/vcf_annovar_annotation.py [0:0]


def parse_arguments(argv):
	sample,srcfile,annofile,tool,canonical_transcripts,annovar,transvar = None,None,None,None,None,None,None
	genome,esp6500,dbsnp,clinvar,cosmic,multiscore=False,False,False,False,False,False
	coding,pass_status = False,False
	refversion = 'hg19'

	try:
		opts, args = getopt.getopt(argv[1:], "s:i:o:r:h", \
			["sample=","input=", "output=", "refversion=", "canonical=","annovar=","transvar=", \
			"genome","esp6500","dbsnp","clinvar","cosmic","multiscore","coding_only","pass_only"])
	except getopt.GetoptError as err:
		# print help information and exit:
		print str(err)  # will print something like "option -a not recognized"
		usage()

	for opt, arg in opts:
		if opt == '-h':
			usage()
			sys.exit()
		
		elif opt in ("-s", "--sample"):
			sample = arg
			
		elif opt in ("-i", "--input"):
			srcfile = arg
			if not os.path.isfile(srcfile):
				raise ArgumentError("Argument Error: Invalid variant vcf file passed.")
			if annofile == None:
				annofile = srcfile+".annotation"
				
		elif opt in ("-o", "--output"):
			annofile = arg
			
		elif opt in ("-r", "--refversion"):
			refversion = arg
			
		elif opt in ("--canonical"):
			canonical_transcripts = arg
			if not os.path.isfile(canonical_transcripts):
				raise ArgumentError("Argument Error: Invalid canonical transcript passed.")
		
		elif opt in ("--annovar"):
			annovar = arg
			if not os.path.exists(annovar):
				raise ArgumentError("Argument Error: Invalid annovar directory passed.")
		
		elif opt in ("--transvar"):
			transvar = arg
			if not os.access(transvar, os.X_OK):
				raise ArgumentError("Argument Error: Invalid transvar executable passed.")
				
		elif opt in ("--genome"):
			genome = True
			
		elif opt in ("--esp6500"):
			esp6500 = True
			
		elif opt in ("--dbsnp"):
			dbsnp = True
		
		elif opt in ("--clinvar"):
			clinvar = True
			
		elif opt in ("--cosmic"):
			cosmic = True
			
		elif opt in ("--multiscore"):
			multiscore = True
		
		elif opt in ("--coding_only"):
			coding = True
		
		elif opt in ("--pass_only"):
			pass_status = True
			
		else:
			raise ArgumentError("Bad argument: I don't know what %s is" % arg)

	if sample is None or srcfile is None or canonical_transcripts is None or annovar is None or transvar is None:
		raise ArgumentError("You need to supply an input vcf, a canonical transcript list, an annovar directory and a transvar executable!") 
		
    # return argument values
	return sample,srcfile,annofile,refversion,canonical_transcripts,genome,esp6500,dbsnp,clinvar,cosmic,multiscore,annovar,transvar,coding,pass_status