charite / jannovar

Annotation of VCF variants with functional impact and from databases (executable+library)
http://jannovar.readthedocs.io/en/master/
Other
56 stars 35 forks source link

Complete support for parsing HGVS nucleotide expressions. #519

Open holtgrewe opened 3 years ago

holtgrewe commented 3 years ago

Is your feature request related to a problem? Please describe. A number of HGVS nucleotide descriptions are not described well. For example, repeat expansion descriptions (cf. #490). We should have better support for this, in particular as such variation is now within reach of NGS methods.

Describe the solution you'd like

  1. Go through updated HGVS website and collect a catalogue of cases that are not implemented yet.
  2. Create test cases for them based on examples from the website.
  3. Implement them by extending the grammar, adjusting or implementing new data types, and making the tests work.

Describe alternatives you've considered N/A

Additional context N/A

holtgrewe commented 3 years ago

@markwoon -- OK let's continue here.

We'd greatly appreciate your support on this.

Could you briefly outline your use case?

What exactly do you mean with "old" and "new"? Do you mean the "IVS ..." stuff with "old" or anything in varnomen that is not in the current spect?

Maybe we could start with a list of examples from varnomen.hgvs.org as test cases and see where the parser still breaks. We could then look into what extensions we would need where and how "painful" it would be to support the old syntax still. This would be useful in any case, even if you decided to implement your own parser.

Does that make sense?

markwoon commented 3 years ago

My use case: parsing HGVS input from curators. For the most part it's just simple SNPs, but every now and then I get something else, and that's how I'm finding the holes in jannovar.

When I used old/new before, I meant: "Old" HGVS: https://www.hgvs.org/mutnomen/ "New" HGVS: https://varnomen.hgvs.org/

But I guess these terms are relative as the spec itself is updated.

The plan sounds good. How flexible are you on renaming classes to more closely match varnomen?

And what about nt_change_ssr? I don't think this is valid HGVS?

holtgrewe commented 3 years ago

The plan sounds good. How flexible are you on renaming classes to more closely match varnomen?

100%, go for it.

And what about nt_change_ssr? I don't think this is valid HGVS?

I believe it used to be:

holtgrewe commented 3 years ago

@markwoon would you volunteer to prepare a list of categorized valid positive HGVS examples?

markwoon commented 3 years ago

And what about nt_change_ssr? I don't think this is valid HGVS?

I believe it used to be:

http://www.hgmd.cf.ac.uk/docs/mut_nom.html

But that's not official HGVS, so is the plan to continue supporting it?

I'd be interested in working on this, but I doubt I'll have the time to do so in the near future unless I find another hole in jannovar I need to plug.