PharmGKB / PharmCAT

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

Further modularize PharmCAT functions #39

Closed whaleyr closed 3 years ago

whaleyr commented 3 years ago

Currently, PharmCAT is split into two modules: 1) the NamedAlleleMatcher and 2) the Reporter. We'd like to further modularize it to separate separate tasks.

  1. A more well-defined module for VCF pre-processing and QC checking. This will feed directly into the NamedAlleleMatcher
  2. A module between the curent NamedAlleleMatcher and the Reporter which will apply PharmCAT specific diplotype calling rules and match diplotypes to phenotypes and metabolizer status. Currently, this is being done inside the Reporter
  3. Add support for different modules that can be used after the Reporter for formatting output data. This will be: a. An HTML/PDF report generator. This is currently in the Reporter and will be moved out. b. A FHIR report genearator. This is brand new and may or may not make it into the v1.0 release

Separate issues related to specific development of each module may be created and will be added here when ready.

PharmCAT_workflow
whaleyr commented 3 years ago

The VCF pre-processing tool in Module 1 is up and working so I'll call that sufficient for v1.0. There will definitely be ongoing work with this module but the current working version is sufficient for v1.0 (with, perhaps, a few more commits before release).

The structural variant module (Module 1A) will not be part of v1.0. I will split this into a separate tracking issue that can be placed into a future milestone/release when we get some initial work done on it.

We have split the Phenotyper (Module 3) out into its own module so that's sufficient for v1.0 release.

The FHIR support feature (Module 6) will not be part of v1.0. I will also split that into a separate tracking issue so we can make it part of a future milestone/release.

All the other modules currently exist and work as expected. I'm closing this issue to indicate it's sufficiently working for v1.0.