3e70e7601a08e28667531d5abe3fe8b04ee95ded chmalee Fri Jul 16 11:23:58 2021 -0700 Return multiple transcripts for pseudo hgvs search, refs #15554 diff --git src/hg/inc/hgHgvs.h src/hg/inc/hgHgvs.h index 2314781..1c43023 100644 --- src/hg/inc/hgHgvs.h +++ src/hg/inc/hgHgvs.h @@ -167,31 +167,33 @@ #define HGVS_OUT_P 0x04 // Add parentheses around predicted protein (p.) changes e.g. p.(Arg159del): #define HGVS_OUT_P_ADD_PARENS 0x10 // Add deleted sequence to delins changes (e.g. show 'delAGinsTT' instead of 'delinsTT'): #define HGVS_OUT_BREAK_DELINS 0x20 void hgvsVariantFree(struct hgvsVariant **pHgvs); // Free *pHgvs and its contents, and set *pHgvs to NULL. struct hgvsVariant *hgvsParseTerm(char *term); /* If term is a parseable form of HGVS, return the parsed representation, otherwise NULL. * This does not check validity of accessions or alleles. */ struct hgvsVariant *hgvsParsePseudoHgvs(char *db, char *term); -/* Attempt to parse things that are not strict HGVS, but that people might intend as HGVS. */ +/* Attempt to parse things that are not strict HGVS, but that people might intend as HGVS: + * Return a list of struct hgvsVariant that may be what was intended */ +// Note: this doesn't support non-coding gene symbol terms (which should have nt alleles) boolean hgvsValidate(char *db, struct hgvsVariant *hgvs, char **retFoundAcc, int *retFoundVersion, char **retDiffRefAllele); /* Return TRUE if hgvs coords are within the bounds of the sequence for hgvs->seqAcc. * Note: Transcript terms may contain coords outside the bounds (upstream, intron, downstream) so * those can't be checked without mapping the term to the genome; this returns TRUE if seq is found. * If retFoundAcc is not NULL, set it to our local accession (which may be missing the .version * of hgvs->seqAcc) or NULL if we can't find any match. * If retFoundVersion is not NULL and hgvs->seqAcc has a version number (e.g. NM_005957.4), * set retFoundVersion to our version from latest GenBank, otherwise 0 (no version for LRG). * If coords are OK and retDiffRefAllele is not NULL: if our sequence at the coords * matches hgvs->refAllele then set it to NULL; if mismatch then set it to our sequence. */ struct bed *hgvsMapToGenome(char *db, struct hgvsVariant *hgvs, char **retPslTable); /* Return a bed6 with the variant's span on the genome and strand, or NULL if unable to map.