40b4fc89ec72c22cae51bf9a8b9a7e8dd887eebf chmalee Thu Jun 4 15:34:16 2026 -0700 Show MANE-relative HGVS terms on myVariants SNV detail pages, refs #33808 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> diff --git src/hg/inc/hgHgvs.h src/hg/inc/hgHgvs.h index 752cb06b495..79eab3351a1 100644 --- src/hg/inc/hgHgvs.h +++ src/hg/inc/hgHgvs.h @@ -1,28 +1,30 @@ /* hgHgvs - support for a subset of the Human Genome Variation Society's (HGVS) nomenclature * for describing variants with respect to a specific gene sequence (or genome assembly). * See http://www.hgvs.org/mutnomen/ */ /* Copyright (C) 2016 The Regents of the University of California * See kent/LICENSE or http://genome.ucsc.edu/license/ for licensing information. */ #ifndef HGHGVS_H #define HGHGVS_H #include "bed.h" #include "dnaseq.h" +#include "genePred.h" #include "seqWindow.h" +#include "trackDb.h" #include "variantProjector.h" /* The full nomenclature is extremely complicated, able to encode things such as gene fusions and * advanced clinical info (e.g. "=/" for somatic mosaicism, "=//" for chimerism). UCSC supports * substitutions, insertions, deletions, duplications and inversions. Conversions are parsed out * of HGVS terms but not detected in genomic variants when generating HGVS terms. * UCSC does not fully support repeated sequences because in practice they seem to be frequently * incorrect and inherently error-prone. * * At the same time, since the spec has repeatedly changed, we will need to be flexible in our * parsing in order to support previously published HGVS (or HGVS-like) terms. */ enum hgvsSeqType // HGVS describes changes relative to several types of sequence: genomic, coding, protein, etc { @@ -270,16 +272,23 @@ * gSeqWin must already have at least the correct seqName if not the surrounding sequence. * If breakDelIns, then show deleted bases (eg show 'delAGinsTT' instead of 'delinsTT'). */ char *hgvsCFromVpTx(struct vpTx *vpTx, struct seqWindow *gSeqWin, struct psl *txAli, struct genbankCds *cds, struct dnaSeq *txSeq, boolean breakDelIns); /* Return an HGVS c. (coding transcript) term for a variant projected onto a transcript w/cds. * gSeqWin must already have at least the correct seqName (chrom) if not the surrounding sequence. * If breakDelIns, then show deleted bases (eg show 'delAGinsTT' instead of 'delinsTT'). */ char *hgvsPFromVpPep(struct vpPep *vpPep, struct dnaSeq *protSeq, boolean addParens); /* Return an HGVS p. (protein) term for a variant projected into protein space. * Strict HGVS compliance requires parentheses around predicted protein changes (addParens=TRUE), * but nobody seems to do that in practice. * Return NULL if an input is NULL. */ +char *txSeqFromGp(char *db, struct genePred *gp); +/* Return transcribed-from-genome sequence for gp */ + +struct trackDb *hgvsDefaultGeneTrack(char *db); +/* Return trackDb for the assembly's preferred gene-model track (MANE first), or NULL + * if none is present. Caller checks tdb->type for genePred vs bigGenePred. */ + #endif /* HGHGVS_H */