Skip to content

Parse uncertain c.HGVS names #801

@davmlaw

Description

@davmlaw

Looking in the parser syntax (hgvs.pymeta) most of the uncertainty is only applied for g. ie uncertain_g_interval - hopefully we just need to copy it for c. but here's what's currently happening:

C_UNCERTAIN_EXAMPLES = [
    "NM_000333.3:c.(4_246)del",
    "NM_000333.3:c.(4_6)_246del",
    "NM_000333.3:c.4_(245_246)del",
    "NM_000333.3:c.(4_6)_(245_246)del",
    "NM_000333.3:c.(?_6)_245del",
    "NM_000333.3:c.4_(245_?)del",
    "NM_000333.3:c.(?_6)_(245_?)del",
]
for hgvs_name in C_UNCERTAIN_EXAMPLES:
    try:
        parse(hgvs_name)
        print(f"{hgvs_name} -> OK")
    except Exception as e:
        print(f"{hgvs_name} -> {e}")
NM_000333.3:c.(4_246)del -> OK
NM_000333.3:c.(4_6)_246del -> NM_000333.3:c.(4_6)_246del: char 19: expected one of '=', 'con', 'copy', 'del', 'dup', 'ins', or 'inv'
NM_000333.3:c.4_(245_246)del -> NM_000333.3:c.4_(245_246)del: char 16: expected one of '*', or a digit
NM_000333.3:c.(4_6)_(245_246)del -> NM_000333.3:c.(4_6)_(245_246)del: char 19: expected one of '=', 'con', 'copy', 'del', 'dup', 'ins', or 'inv'
NM_000333.3:c.(?_6)_245del -> NM_000333.3:c.(?_6)_245del: char 15: expected one of '*', or a digit
NM_000333.3:c.4_(245_?)del -> NM_000333.3:c.4_(245_?)del: char 16: expected one of '*', or a digit
NM_000333.3:c.(?_6)_(245_?)del -> NM_000333.3:c.(?_6)_(245_?)del: char 15: expected one of '*', or a digit

There are some c.HGVS examples from ClinVar here

Metadata

Metadata

Assignees

No one assigned

    Labels

    keep aliveexempt issue from staleness checks

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions