hgvs_variant: c_variant r_variant gmn_variant p_variant

g_variant: gmn_variant

m_variant: gmn_variant

n_variant: gmn_variant

gmn_variant: accn : gmn_type . gmn_posedit

c_variant: accn : c . c_posedit

p_variant: accn : p . p_posedit

r_variant: accn : r . r_posedit

any_variant: accn : letter . anything

g_edit: gmn_edit

m_edit: gmn_edit

n_edit: gmn_edit

gmn_edit: g . gmn_posedit

c_edit: c . c_posedit

p_edit: p . p_posedit

r_edit: r . r_posedit

hgvs_position: gmn_hgvs_position r_hgvs_position c_hgvs_position p_hgvs_position

g_hgvs_position: gmn_hgvs_position

m_hgvs_position: gmn_hgvs_position

n_hgvs_position: gmn_hgvs_position

gmn_hgvs_position: accn : gmn_type . gmn_interval

c_hgvs_position: accn : c . c_interval

p_hgvs_position: accn : p . p_interval

r_hgvs_position: accn : r . r_interval

g_posedit: gmn_posedit

m_posedit: gmn_posedit

n_posedit: gmn_posedit

gmn_posedit: gmn_interval dna_edit

c_posedit: c_interval dna_edit

p_posedit: p_interval pro_edit

r_posedit: r_interval rna_edit

dna_edit_mu: dna_edit ( dna_edit )

dna_edit: dna_subst dna_delins dna_ins dna_del dna_dup

dna_subst: dna > dna

dna_delins: del num dna ins dna

dna_del: del num dna

dna_ins: ins dna

dna_dup: dup dna

rna_edit_mu: rna_edit ( rna_edit )

rna_edit: rna_subst rna_delins rna_ins rna_del rna_dup

rna_subst: rna > rna

rna_delins: del num rna ins rna

rna_del: del num rna

rna_ins: ins rna

rna_dup: dup rna

pro_edit_mu: pro_edit ( pro_edit )

pro_edit: pro_subst pro_delins pro_ins pro_del pro_dup pro_special

pro_subst: aat13 aa13_fs

pro_delins: delins aat_seq aa13_fs

pro_del: del

pro_ins: ins aat_seq aa13_fs

pro_dup: dup

pro_special: = ? 0

g_interval: gmn_interval

m_interval: gmn_interval

n_interval: gmn_interval

gmn_interval: def_gmn_interval ( def_gmn_interval )

r_interval: def_r_interval ( def_r_interval )

c_interval: def_c_interval ( def_c_interval )

p_interval: def_p_interval ( def_p_interval )

def_g_interval: def_gmn_interval

def_m_interval: def_gmn_interval

def_n_interval: def_gmn_interval

def_gmn_interval: gmn_pos _ gmn_pos gmn_pos

def_r_interval: r_pos _ r_pos r_pos

def_c_interval: c_pos _ c_pos c_pos

def_p_interval: p_pos _ p_pos p_pos

g_pos: gmn_pos

m_pos: gmn_pos

n_pos: gmn_pos

gmn_pos: def_gmn_pos

r_pos: def_r_pos

c_pos: def_c_pos

p_pos: def_p_pos

def_g_pos: def_gmn_pos

def_m_pos: def_gmn_pos

def_n_pos: def_gmn_pos

def_gmn_pos: num ?

def_r_pos: base offset

def_c_pos: base offset * num offset

def_p_pos: aa13 num

gmn_type: g m n

dna_seq: dna

rna_seq: rna

aat13_seq: aa3t_seq aa1t_seq

aa1t_seq: aa1_seq aa1_term

aa3t_seq: aa3_seq aa3_term

aa13_fs: fs fs aa13_term fs aa13_term num fs aa13_term ?

aa13_seq: aa3_seq aa1_seq

aa1_seq: aa1

aa3_seq: aa3

dna: A C G T a c g t

rna: A C G U a c g u

aat13: aa13_term aa13

aa13: aa3 aa1

aa1: A C D E F G H I K L M N P Q R S T V W Y

aa3: Ala Cys Asp Glu Phe Gly His Ile Lys Leu Met Asn Pro Gln Arg Ser Thr Val Trp Tyr

aa13_term: aa3_term aa1_term

aa1_term: X *

aa3_term: Ter

base: snum ?

offset: snum ?

snum: pm num

num: digit

pm: - +

accn: letter letterOrDigit letter letterOrDigit _ letterOrDigit letter letterOrDigit _ letterOrDigit . digit

Not_Yet_Implemented: NOT YET IMPLEMENTED