def variantType()

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


def variantType(region,dna,cdna,pro,info):
	variant_type = 'unknown'
	if pro.endswith('*'):
		variant_type = 'nonsense'
	elif 'nonsense' in info or 'stopgain' in info or 'Nonsense' in info or 'Stopgain' in info:
		variant_type = 'nonsense'
	elif 'stop_loss' in info or 'Stop_loss' in info:
		variant_type = 'nonstop'
	elif 'start_loss' in info or 'Start_loss' in info:
		variant_type = 'start_codon_loss'
	elif 'missense' in info or 'Missense' in info:
		variant_type = 'missense'
	elif 'fs*' in pro:
		if 'ins' in dna or 'ins' in cdna:
			variant_type = 'frame_shift_insertion'
		elif 'del' in dna or 'del' in cdna:
			variant_type = 'frame_shift_deletion'
		elif 'dup' in dna or 'dup' in cdna:
			variant_type = 'frame_shift_insertion'
	elif 'ins' in pro:
		variant_type = 'in_frame_insertion'
	elif 'del' in pro:
		variant_type = 'in_frame_deletion'
	elif 'dup' in pro:
		variant_type = 'in_frame_insertion'
	elif 'splice' in info or 'Splice' in info:
		variant_type = 'splice_site'
	elif 'silent' in info or 'synonymous' in info or 'Silent' in info or 'Synonymous' in info:
		variant_type = 'silent'
	elif '3-UTR' in info or '3-UTR' in region:
		variant_type = '3-UTR'
	elif '5-UTR' in info or '5-UTR' in region:
		variant_type = '5-UTR'
	elif 'intron' in info or 'intron' in region:
		variant_type = 'intron'
	elif 'noncoding' in info or 'noncoding' in region:
		variant_type = 'non-coding'
	
	return variant_type