Releases: PharmGKB/PharmCAT
Releases · PharmGKB/PharmCAT
v3.1.1
v3.1.0
3.1.0 (2025-11-11)
Highlights of this release:
- Consistently using CPIC function and phenotype assignments for all guidelines.
- Latest data from PharmVar.
- The preprocessor now supports BCF files, although PharmCAT still only supports VCF.
- Ability to call a single gene with the
-gflag. - PharmCAT is now a part of ClinPGx and has a new logo.
- Squashed many bugs, big and small.
Features
- adjust DPYD recommendations for DPWG guidelines (3d7c4a8)
- removal of DPWG-specific phenotypes and functions (bd22137)
- namedAlleleMatcher: support suballeles to work around ambiguous core alleles (6d6f272)
Bug Fixes
- fix class import (e3b0f04)
- fix failing tests (3843d8d)
- fix unit test for checking DPWG phenotype assignment (dfdfc3e)
- update DPYD unit tests for new DPWG function assignment (3a99eb5)
- update for ClinPGx (652a5b8)
- update for ClinPGx (5c9e65a)
- data: update data (8c85b47)
- data: update data from PharmVar and ClinPGx (27bceed)
- data: update to latest CPIC data (7767b0a)
- namedAlleleMatcher: add flag (-g) to only call specified genes (3e8f042)
- namedAlleleMatcher: fix bug with calling combinations related to removing subsets (bf70e9f)
- namedAlleleMatcher: fix DPYD calling when data is effectively phased or has phase sets (cf75f24), closes #209
- namedAlleleMatcher: fix handling of -bf in BatchPharmCAT (f082289)
- namedAlleleMatcher: fix how partials are added to combinations (fe927f2)
- namedAlleleMatcher: fix partials handling in DPYD (15dd9f1)
- namedAlleleMatcher: fixed regression in scoring (0c6d59e)
- preprocessor: add back accidentally deleted function (74c4098)
- preprocessor: add support for BCF (abebc39), closes #212
- preprocessor: BCF files cannot be gVCF (628a964)
- preprocessor: improve error message (cc117c6)
- reporter: add "Section IV" label to disclaimer section (d6b3e5b)
- reporter: add drug tags to Section I (881b416), closes #213
- reporter: correctly print allele (d3c48b9)
- reporter: expose inferredSourceDiplotypes (aea6cd9)
- reporter: fix wrapping in section 2 to keep table within bounds (f21fc78)
- reporter: more fine grained controls for what metadata to export (a97375a)
- reporter: tweak report title to include sample id (39db498)
- tools: add pivot column hint (2d563a1)
- tools: add support for calculating phenotype stats (989f420)
- tools: add tool to merge reports (8c3e25a)
- tools: handle blank lines gracefully (c09c811)
- tools: improve support for compressed files (1f0c693)
- tools: support mixing results with and without sample id (7b36957)
v3.0.1
3.0.1 (2025-05-16)
This updates PharmCAT to use PharmVar 6.2.5.
If you use multisample VCF (aka pVCF) files and also include AD data, then upgading to this release is highly recommended.
Bug Fixes
v3.0.0
3.0.0 (2025-04-17)
This release brings significant changes to PharmCAT. The documentation has also had a major revamp.
Key New Features
- Phase Set Support - Addresses issue [#175], enabling support for phase sets in VCF (the
PSgenotype field). - New TSV Reports - Produce focused reports on allele calls that that eliminates the complexity and verbosity of PharmCAT's JSON reports. Learn more in the TSV Reports documentation.
- Allele Frequency Analysis - Leverage the new TSV reports to run frequency analysis, with support for arbitrary sample metadata to enable pivot column analysis as well. Instructions are available in the allele frequency analysis documentation.
- NAT2 Alelle Calling - Enable calling NAT2 alleles with a new mechanism that uses frequency analysis to help call unphased data. See the NAT2 for details. NAT2 allele function, phenotypes, and recommendations will be included when available through CPIC.
- Required Positions - PharmCAT can now enforce minimum data requirements for calling some genes. For example, NAT2 requires data for 5 key variants before it can be called.
⚠ BREAKING CHANGES
VCF Preprocessor
- The preprocessor script name has been updated to
pharmcat_vcf_preprocessor(.py extension removed). - The Python package name has been changed from
preprocessortopcat. If you directly use the PharmCAT Python code in your scripts, update your imports to use the new package name.
PharmCAT
- If any reporter output format is requested, all desired formats must be specified. Before 3.0, the PharmCAT reporter would always produce HTML format in addition to any requested formats (e.g. JSON format). Now, if any format is specified, it will only produce the requested formats. To get the same output as before, use the
-reporterJson -reporterHtmlflags. If no format is specified, the behavior remains the same - the HTML output will be produced by default. - JSON data file format has been updated. Many new properties have been added, but the breaking change is renaming the
wildtypeAlleleproperty toreferenceAllelein both *.phenotype.json and *.report.json files. - Combination calls (a research mode flag) will now always return all possible diplotypes
Features
- namedAlleleMatcher: add support for Phased Sets (e731aaf), closes #175
- namedAlleleMatcher: add support for specifying diplotype priority for unphased data and required positions (c29b2ad)
- reporter: add support for passing sample metadata to reporter (1e000ed)
- reporter: finalize call-only tsv reporter (a2d20f9)
Bug Fixes
- default to one CPU core if -cp is not specified (23fc729)
- data: update data (453a009)
- namedAlleleMatcher: add GSON tags to SampleAllele (e6797b6)
- namedAlleleMatcher: add more metadata to definition files (36d60a3)
- namedAlleleMatcher: add warning if AMP Tier 1 requirements are not met (6d187fa)
- namedAlleleMatcher: don't print duplication warnings for cases dealt by preprocessor (5ff5649)
- namedAlleleMatcher: don't transform combination calls from outside calls (8a6263f)
- namedAlleleMatcher: fix how effectively phased is calculated for PS alleles (db2e10a)
- namedAlleleMatcher: improve combination calling (c16fd5c)
- namedAlleleMatcher: improve handling of partial missing allele in VCF (fe67d80)
- namedAlleleMatcher: improve support for finding partials in unphased data (402a670)
- namedAlleleMatcher: update unphased diplotype priority behavior to handle missing positions (32e474e)
- pharmcat: add -sm parameter to pipeline (851cfd6)
- pharmcat: convert relative paths to absolute paths to make sure we can get parent directory (cf3bf7e), closes #202
- pharmcat: support phase sets in lowest function genes (7e9cf0c)
- preprocessor: fix region handling for multisample vcf (4510b7c)
- preprocessor: reorganize preprocessor, rename package (eb6ffca)
- reporter: add call-only tsv reporter (420b48a)
- reporter: add debug support to tsv report (1436926)
- reporter: add phase set info to output (ee4613b)
- reporter: change "n/a" phenotype for unknown activity score diplotypes to "Indeterminate" (65d9661)
- reporter: don't display phenotype for collapsed lowest function genes (4c5a693)
- reporter: fix test case that splits strings with trailing whitespace (4763c94)
- reporter: rename wild-type allele to reference allele (a77fb38)
- reporter: update wording in report for genotypes that have no recommendation (ec43af7)
- utils: add utils for generating frequency stats (2b8815b)
- utils: add wrapper for, and rename allele frequency tool (d19608d)
- utils: improve json2tsv_pharmcat.py (37accc8)
Performance Improvements
- utils: cache version lookup (7966dea)
v2.15.5
2.15.5 (2024-11-13)
Bug Fixes
- update pharmcat_regions.bed on data update (8911fa1)
- data: update data (f429762)
- preprocessor: add a check and test on the GVCFBlock comment in the gVCF header lines (76b31dd)
- preprocessor: add a function to fill up homozygous reference genotypes (f302af6)
- preprocessor: add back --missing-to-ref (fad76c9)
- preprocessor: check whether the index file exists before indexing the uniallelic position VCF (d2078f0)
- preprocessor: improve the check on the gVCF END block (6854ec3), closes #199
- preprocessor: make search path precedence count (1b5754d)
- preprocessor: matching pattern for GVCFBlock in the header (6509882)
- preprocessor: only retrieve regions to extract once (3964b13)
- preprocessor: remove -refRegion argument from preprocessor (5331c2b)
- preprocessor: replace the "--missing-to-ref" functionality with two separate functions, --absent-to-ref and --unspecified-to-ref. (98f7559)
- preprocessor: simplifies the check on sex chromosome haploidy (90a0306)
v2.15.4
v2.15.3
2.15.3 (2024-08-28)
Bug Fixes
- data: track singular variants (fb1ebbd)
- data: update data (c8100ec)
- namedallelematcher: fix permutation generation with mix of phased/unphased data (2146db0)
- phenotyper: improve support for combinations in outside calls (b1a6deb)
- reporter: fix limiting reports by source (ac0c52e)
- reporter: fix matching diplotype-specific recommendations (11fc7b4)
- reporter: take subsetting into account when calculating total genes (6ef47cc)
v2.15.2
v2.15.1
v2.15.0
2.15.0 (2024-08-06)
Features
- json2tsv: report error when no allele definition json can be found (03a8b1f)
- phenotyper: generate diplotype data (ed4d03f)
Bug Fixes
- fix haplotype name sorting (f9888b0)
- improve Subsetter (971ba16)
- reduce data size (5bdcc49)
- data: update data (a57b955)
- json2tsv: allow the script to find the allele definition jsons from wherever it is run (03151ba)
- namedallelematcher: avoid exceptions (f4fe35a)
- namedallelematcher: fix handling of phased DPYD HapB3 alleles (286b76d)
- namedallelematcher: make NamedAllele.structuralVariant a private property (df68105)
- namedallelematcher: make sure cached properties are updated correctly (ab1e194)
- phenotyper: fix typo in CYP2D6 activity value assignment and drug count (36cc688)
- phenotyper: fix typo in two specific CYP2D6 diplotype activity score assignment (cae0f8c)
- phenotyper: use correct comparator (4cf8cb2)
- preprocessor: resolve errors caused by similar sample names (905b2c3)
- subsetter: fix how numeric cells are handled in Excel (bbaa135)