HGVS c., g. and p. Variant Nomenclature Explained
11 min read · Updated September 11, 2026
An HGVS description is not just a coordinate and two alleles. Its prefix chooses a reference sequence, its accession and version identify the exact sequence being counted, and its edit syntax states what changed. The same biological allele can therefore have a c. description on a transcript, a g. description on a chromosome and a p. consequence on a protein without sharing either the same position or the same written bases.
This guide explains those coordinate systems, the 3′ rule and minus-strand complement changes, then converts NM_000546.6:c.215C>G step by step. It also marks the boundary between describing a sequence change and interpreting its clinical significance.
Every complete HGVS description needs a reference sequence
The text before the colon identifies the sequence on which positions and alleles are written. NM_000546.6:c.215C>G uses RefSeq transcript NM_000546.6; NC_000017.11:g.7676154G>C uses RefSeq chromosome 17. The version after the decimal is part of the identifier because later sequence versions can alter bases, exon boundaries or coordinate mappings.
A gene symbol alone is convenient but incomplete. TP53 has multiple transcripts, and different transcripts can give different c. positions or protein effects for one genomic allele. A resolver may choose a MANE Select transcript, but the resulting accession should be carried into the final description so another person can reproduce the mapping.
The genome assembly is encoded indirectly by the genomic accession version. NC_000017.11 is the GRCh38 chromosome 17 reference; a coordinate copied from GRCh37 cannot be relabelled with that accession without a liftover and reference-allele check.
These conventions follow the HGVS sequence-variant nomenclature recommendations described by den Dunnen et al. (Hum Mutat 2016;37:564–569, doi:10.1002/humu.22981). The recommendations evolve, so long-lived clinical or database workflows should also record the nomenclature version or validation service used.
c. counts relative to the coding sequence, not the chromosome
In a coding-DNA description, the A of the translation-initiation ATG is c.1. The next coding base is c.2. Bases in the 5′ UTR are numbered backwards as c.-1, c.-2 and so on, while bases after the translation stop use c.*1, c.*2 and so on. This makes coding positions comparable across genomic loci, but only within the stated transcript.
Intronic positions are anchored to the nearest exon boundary. For example, c.88+1 is the first intronic base after coding base 88, while c.89-1 is the last intronic base before coding base 89. The plus or minus in that syntax is an offset from an exon coordinate, not the genomic strand.
Because introns are skipped in the transcript, consecutive c. bases can be separated by thousands of genomic bases. A c.-to-g conversion needs the transcript's ordered exon map, CDS start and strand; adding one offset to a chromosome coordinate cannot perform the mapping.
g. is written on the genomic reference's forward strand
A g. description counts bases on the stated genomic reference sequence. Chromosome accessions are written in their reference orientation even when the gene is transcribed from the minus strand. The coordinate direction and allele letters can therefore appear reversed relative to the transcript.
On a minus-strand gene, a transcript-sense C is paired with a forward-genomic G, and a transcript-sense G is paired with a forward-genomic C. Thus a c. C>G substitution can map to a g. G>C substitution. That is a complement operation, not evidence that the converter swapped reference and alternate alleles.
Always verify the reference base at the destination coordinate. If the accession says the genomic base is A but a proposed g. description says G>T, at least one of the transcript, assembly, coordinate, strand or allele fields is wrong.
p. describes a consequence, not another coordinate conversion
A protein description counts amino acids on a stated protein reference. p.Pro72Arg says proline at residue 72 is replaced by arginine. Three-letter amino-acid codes make the reference and alternate states explicit and avoid ambiguity with nucleotide letters.
When the protein consequence is inferred from DNA rather than measured at the RNA or protein level, strict HGVS presentation places it in parentheses: p.(Pro72Arg). Parentheses mean predicted consequence; they do not mean that the underlying DNA variant is uncertain. Conversely, omitting parentheses asserts that the protein change was experimentally demonstrated.
A complete protein-level description also identifies the protein reference, for example NP_000537.3:p.(Pro72Arg); p.(Pro72Arg) alone is shorthand. SeqBench's current converter returns a bare computational p. string without that protein accession or prediction parentheses, so add both before using it as strict external-reporting nomenclature.
A coding change does not always permit a reliable p. description. Variants at splice junctions can alter transcripts in ways a genomic-to-codon translation cannot know; start-loss, stop-loss and frameshift effects may depend on downstream sequence or evidence. It is better to return no protein prediction than to attach a confident amino-acid label to the wrong transcript product.
Read the edit operator literally
Coordinates and stated reference letters are internal checks. A parser should reject a substitution whose written reference base disagrees with the resolved sequence and an insertion whose two flanking positions are not adjacent. Quietly accepting either error produces a syntactically polished description of a different allele.
- Substitution — c.215C>G replaces the stated reference C with G at one position.
- Deletion — c.2235_2249del removes the inclusive range; the deleted sequence may be appended only when it matches the reference.
- Duplication — dup means an adjacent copy of reference sequence, not an arbitrary insertion with the same length.
- Insertion — two adjacent flanking positions identify a boundary, followed by ins and the inserted sequence.
- delins — one inclusive reference interval is replaced by a stated sequence; this covers block substitutions as well as unequal replacement.
- Inversion — inv reverses and complements an interval at DNA level, but HGVS does not use inversion syntax as a protein-level consequence.
The 3′ rule chooses one description among equivalent ones
In a repeated sequence, the same deletion, duplication or insertion outcome can often be written at more than one position. HGVS places the change as far toward the 3′ end of the relevant reference sequence as possible. This normalization prevents equivalent alleles from being stored under several coordinate spellings.
The relevant reference sequence matters. A c. description is normalized in transcript orientation, while a g. description is normalized on the genomic reference orientation. On a minus-strand transcript those directions oppose each other, so the normalized c. and g. coordinates may refer to different positions within the same repeat while still describing the same resulting molecules.
The rule is not a request to slide through an exon junction without checking sequence context. Complex delins, uncertain breakpoints and splice-spanning events need specialized validation rather than an automatic repeat shift.
Worked example: NM_000546.6:c.215C>G
NM_000546.6 is a TP53 coding transcript on the minus strand. Its c.215 reference base is C. Mapping that transcript position through the GRCh38 exon structure reaches chromosome 17 position 7,676,154 on NC_000017.11, where the forward-genomic reference base is G.
Because the transcript is reverse-complementary to the chromosome, transcript C>G becomes genomic G>C. The paired descriptions are NM_000546.6:c.215C>G and NC_000017.11:g.7676154G>C. The reference codon is CCC and the alternate codon is CGC, so the complete computational protein consequence is NP_000537.3:p.(Pro72Arg).
This rs1042522 polymorphism is frequently called “codon 72,” “P72R” or “R72P” in prose. Those shorthand labels can reverse direction depending on which allele is treated as the starting state. The full HGVS description avoids that ambiguity by naming the reference sequence, reference residue and alternate residue.
The example establishes coordinate and codon arithmetic only. It does not say whether the allele is pathogenic, protective, common in a particular population or relevant to a patient's phenotype.
Conversion should refuse cases it cannot establish
A c.-to-g converter needs a resolvable transcript and a genome mapping. SeqBench accepts gene symbols covered by its human MANE crosswalk, RefSeq NM_ accessions covered by that crosswalk, or Ensembl ENST accessions it can resolve live. A symbol shortcut is therefore not a promise to choose among every isoform of every species.
The current converter starts from c. input; it does not take a bare g. variant and guess which transcript the user intended. It also refuses uncertain or mosaic syntax, RNA-level input, most mitochondrial and circular references, and protein predictions too close to splice junctions or across exons. Those are scope boundaries, not malformed biology.
Live exon and CDS data can change as references are corrected. Keep the returned transcript accession, genomic accession and date or software version with any converted result that will be used in a report or database.
Nomenclature is not clinical interpretation
HGVS answers “what sequence change is being described on which reference?” It does not answer whether the change causes disease. A perfectly normalized variant can be benign, pathogenic, drug-responsive, uncertain or absent from clinical databases.
Clinical interpretation needs evidence such as population frequency, segregation, functional studies, case data, computational evidence and expert classification under an appropriate framework. Database records can also conflict or lag behind the current literature. Do not turn a successful coordinate conversion into a pathogenicity claim.
The practical workflow is to normalize and verify the allele first, then query evidence sources using the genomic and transcript identifiers, and finally preserve both the nomenclature and the evidence provenance in the interpretation.
HGVS audit checklist
- Record the reference accession and its version; do not report only a gene symbol.
- Confirm the transcript is the intended isoform and note the genome assembly behind any g. coordinate.
- Verify the stated reference nucleotide or amino acid against that exact sequence.
- Check strand complementation when c. and g. alleles appear different.
- Apply the 3′ rule separately on each reference sequence for repeat-ambiguous edits.
- Use parentheses for a predicted protein consequence and abstain when splicing or transcript structure makes it uncertain.
- Keep nomenclature separate from clinical significance and preserve the sources used for both.
Frequently asked questions
What do c., g. and p. mean in HGVS?
c. uses coding-DNA coordinates on a transcript, g. uses coordinates on a genomic reference sequence, and p. describes a protein consequence. They count different reference sequences, so their positions and even their written allele letters need not match.
Why must an HGVS accession include a version?
The version identifies the exact reference sequence and annotation being counted. Transcript or chromosome updates can change bases, exon boundaries and mappings. A coordinate without the version may not be reproducible after a reference update.
Why does c.215C>G become g.7676154G>C for TP53?
TP53 is transcribed from the minus strand at this locus. Transcript-sense C pairs with forward-genomic G, and transcript-sense G pairs with forward-genomic C. The c. and g. descriptions therefore use complementary allele letters.
What is the HGVS 3′ rule?
When a deletion, duplication or insertion has several equivalent positions in a repeat, describe it at the most 3′ possible position on the stated reference sequence. Transcript and genomic references have opposite 3′ directions for a minus-strand gene, so c. and g. normalize separately.
Why is a predicted protein change written in parentheses?
HGVS uses parentheses to mark a protein consequence inferred from DNA or RNA rather than demonstrated experimentally. p.(Pro72Arg) is a prediction; p.Pro72Arg without parentheses asserts evidence at protein level.
Can a gene symbol replace a transcript accession?
It can be a search shortcut, but it is not a complete final description. Genes can have several transcripts with different c. coordinates and consequences. Resolve the intended isoform and preserve its accession and version in the result.
Can HGVS conversion tell me whether a variant is pathogenic?
No. Conversion establishes a sequence description and coordinate mapping. Pathogenicity requires separate population, clinical, functional and segregation evidence interpreted under an appropriate framework.
Why might a converter omit the p. consequence?
The variant may be outside the CDS, near a splice junction, cross exons, affect initiation or termination, use an unsupported transcript, or otherwise have a consequence that cannot be derived safely from a simple codon edit. Abstention is safer than a wrong protein label.
Related references
Related tools
Convert an HGVS c. variant to genomic (g.) coordinates and predict its protein (p.) effect, via a real, live Ensembl exon map.
Look up a variant by rsID, chrom:pos:ref:alt, or HGVS and get its ClinVar significance, gnomAD allele frequencies, and CADD/SIFT/PolyPhen2/REVEL scores in one card.
Align a query to a reference and list substitutions, insertions and deletions with effects.
Paste a GenBank, RefSeq or UniProt accession and get the FASTA or GenBank record.
Translate a nucleotide sequence to protein in any or all six reading frames.