PharmGKB / PharmCAT

The Pharmacogenomic Clinical Annotation Tool
Mozilla Public License 2.0
120 stars 39 forks source link

Add parameter so that wild type positions don't need to included in the VCF #21

Closed rhdolin closed 5 years ago

rhdolin commented 5 years ago
markwoon commented 5 years ago

PharmCAT will not be supporting this.

We want people to be 100% clear on how PharmCAT works and what happens with the data you provide to it. It does not accept arbitrary VCF for many reasons (see VCF Requirements for the full list of requirements), but the main one is that we will not make any assumptions on the input you provide. We have already encountered users making assumptions on how PharmCAT works or should work which has led to confusion down the line.

For one thing, we do not know what "wild type" is because it can vary based on your reference sequence. Did you convert it from GRCh37 to GRCh38? If so, the "wild types" from the two could have changed and your VCF would not provide any indications that this is the case. Secondly, a missing entry can mean that the reference base was detected OR it can mean the base was not assayed or has no call. We cannot distinguish between uncalled positions and reference in a VCF file. So we ask that you declare each required position for PharmCAT to be clear about the input.

You have to decide on how accurate you want the data you provide to PharmCAT should be, especially if you're making any clinical decisions based on PharmCAT's results. If you wish to make assumptions of your data, you are welcome to do so. Instructions on how to do this can be found here.

rhdolin commented 5 years ago

Hi Mark,

Thanks for your response. I understand your reasoning.

That said, I still feel that it can be tricky to implement PharmCAT, and that there might be some room for Postel's Law (https://en.wikipedia.org/wiki/Robustness_principle) here...

Consider this:

Are there other options that can make it easier for us to experiment with PharmCAT, while minimizing the risk of inappropriate use?

markwoon commented 5 years ago

it can be tricky to implement PharmCAT...

I think that's an understatement. :) PharmCAT comes with a whole host of caveats, both in using it and understanding the reports it produces.

PharmCAT should be one part of your pgx pipeline. It is not meant to be a plug and play type tool.

"PharmCAT will not make assumptions about your input" is a hard rule and will not change.

That's not to say you don't have a point. We have talked about adding other tools to flush out the pipeline to make it easy to massage VCF files to be PharmCAT-ready. These would be completely separate tools and not flags on PharmCAT.

Unfortunately we do not have the bandwidth to do so at this time. If you would be willing to contribute code to do this, we would be more than happy to either include it or link to it.