in src/main/python/vcf_snpeff_annotation.py [0:0]
def parse_arguments(argv):
sample,srcfile,annofile,tool,canonical_transcripts,snpsift,snpsift_db,transvar = None,None,None,None,None,None,None,None
dbsnp,dbnsfp,coding,pass_status = False,False,False,False
refversion = 'hg19'
try:
opts, args = getopt.getopt(argv[1:], "s:i:o:t:r:h", \
["sample=","input=", "output=", "tool=", "refversion=", "canonical=","snpsift=","transvar=","snpsift_db=", \
"dbsnp","dbnsfp","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 ("-t", "--tool"):
tool = 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 ("--snpsift"):
snpsift = arg
if not os.path.exists(snpsift):
raise ArgumentError("Argument Error: Invalid snpsift executable 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 ("--snpsift_db"):
snpsift_db = arg
if not os.path.exists(snpsift_db):
raise ArgumentError("Argument Error: Invalid snpsift database directory passed.")
elif opt in ("--dbnsfp"):
dbnsfp = True
elif opt in ("--dbsnp"):
dbsnp = 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 snpsift is None or transvar is None:
raise ArgumentError("You need to supply an input vcf, a canonical transcript list, an snpeff directory and a transvar executable!")
# return argument values
return sample,srcfile,annofile,tool,refversion,canonical_transcripts,dbsnp,dbnsfp,snpsift,snpsift_db,transvar,coding,pass_status