SACGF / variantgrid

VariantGrid public repo
Other
23 stars 2 forks source link

Search - HGVS locus #437

Open davmlaw opened 3 years ago

davmlaw commented 3 years ago

People often search for incomplete HGVS names which could be interpreted as a locus, eg:

NM_015120.4:c.4166 NM_016222.3:c.C1015T

Emma says people have searched for:

No idea what they expected us to do with the first two but I guess the other 2 could take us to a locus


James said:

If searching on p.hgvs or partial c.hgvs, we could always search for classifications that include those. It wont be particuluarily efficient, but it would only kick in when a certain pattern is matched. (I'd happily implement that bit when time permits), will leave locus searching to you.


DML:

If you wanted to find classifications via "c.634" - I think it might be best to have an autocomplete of the Classification HGVSs?


James:

Actually I retract my previous suggestion of searching classifications with partial c.hgvs/p.hgvs anyway. As in the case of environments that take imports p.hgvs is not always available - so there might be some classifications that should have a certain p.hgvs but instead have it blank.

If a user was then to search on the p.hgvs and not find any results that might fasly think we have no classifications for that protein.

Autocomplete for c.hgvs is best solution, but not an immediate priority.

davmlaw commented 3 years ago

NM_004991.3:c.1174 - could just resolve to coordinates then look up what we have...

View details in Rollbar: https://rollbar.com/jimmy.andrews/VariantGrid/items/3223/

Traceback (most recent call last):
  File "/mnt/variantgrid/variantopedia/search.py", line 378, in search_within
    build_results = get_results_func(self.search_string,
  File "/mnt/variantgrid/variantopedia/search.py", line 608, in search_hgvs
    raise original_error  # cleaning didn't work don't tell anyone
  File "/mnt/variantgrid/variantopedia/search.py", line 579, in search_hgvs
    if fixed_hgvs := HGVSMatcher.fix_swapped_gene_transcript(hgvs_string):
  File "/mnt/variantgrid/genes/hgvs.py", line 579, in fix_swapped_gene_transcript
    hgvs = HGVSName(hgvs_name)
  File "/usr/local/lib/python3.8/dist-packages/pyhgvs/__init__.py", line 758, in __init__
    self.parse(name)
  File "/usr/local/lib/python3.8/dist-packages/pyhgvs/__init__.py", line 772, in parse
    self.parse_allele(allele)
  File "/usr/local/lib/python3.8/dist-packages/pyhgvs/__init__.py", line 853, in parse_allele
    self.parse_cdna(details)
  File "/usr/local/lib/python3.8/dist-packages/pyhgvs/__init__.py", line 906, in parse_cdna
    raise InvalidHGVSName(details, 'cDNA allele')
InvalidHGVSName: Invalid HGVS cDNA allele "1174"Traceback (most recent call last):
  File "/mnt/variantgrid/variantopedia/search.py", line 594, in search_hgvs
    variant_tuple = hgvs_matcher.get_variant_tuple(hgvs_string)
  File "/mnt/variantgrid/genes/hgvs.py", line 411, in get_variant_tuple
    variant_tuple = pyhgvs.parse_hgvs_name(lookup_hgvs_name, self.genome_build.genome_fasta.fasta,
  File "/usr/local/lib/python3.8/dist-packages/pyhgvs/__init__.py", line 1384, in parse_hgvs_name
    hgvs = HGVSName(hgvs_name)
  File "/usr/local/lib/python3.8/dist-packages/pyhgvs/__init__.py", line 758, in __init__
    self.parse(name)
  File "/usr/local/lib/python3.8/dist-packages/pyhgvs/__init__.py", line 772, in parse
    self.parse_allele(allele)
  File "/usr/local/lib/python3.8/dist-packages/pyhgvs/__init__.py", line 853, in parse_allele
    self.parse_cdna(details)
  File "/usr/local/lib/python3.8/dist-packages/pyhgvs/__init__.py", line 906, in parse_cdna
    raise InvalidHGVSName(details, 'cDNA allele')
InvalidHGVSName: Invalid HGVS cDNA allele "1174"