Skip to content

Releases: PharmGKB/PharmCAT

v3.1.1

19 Nov 03:50

Choose a tag to compare

3.1.1 (2025-11-19)

This releases fixes some problems related to DPWG guidelines that came up in the previous release.

Bug Fixes

  • data: update data for DPWG recommendations (ced94ca)
  • namedAlleleMatcher: support no call from outside calls (eef9fe4), closes #204

v3.1.0

11 Nov 19:05

Choose a tag to compare

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 -g flag.
  • 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

16 May 22:43

Choose a tag to compare

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

  • data: update to PharmVar 6.2.5 (745cd9f)
  • dockstore: add absent_to_ref and unspecified_to_ref flags (0cb8e32)
  • namedAlleleMatcher: fix reading AD data in multisample files (a765e3c)

v3.0.0

17 Apr 20:37

Choose a tag to compare

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 PS genotype 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 preprocessor to pcat. 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 -reporterHtml flags. 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 wildtypeAllele property to referenceAllele in 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

13 Nov 07:46

Choose a tag to compare

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

15 Oct 23:58

Choose a tag to compare

2.15.4 (2024-10-15)

Bug Fixes

  • bump version for Dockerhub fix (3ab49f3)

v2.15.3

28 Aug 08:21

Choose a tag to compare

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

20 Aug 20:24

Choose a tag to compare

2.15.2 (2024-08-20)

Bug Fixes

  • data: fill in DPYD lookupkeys for DPWG (90d587b)
  • tools: gene regions for F5, CYP2D6, VKORC1, IFNL4 for research purposes (5f0e6dd)
  • tools: show the name of the sample whose result files are being processed (8d6d1c8)

v2.15.1

17 Aug 05:25

Choose a tag to compare

2.15.1 (2024-08-17)

Bug Fixes

  • do not require any base filename before the sample IDs (7250db4)
  • validate outside call diplotypes (9c49fbc)
  • data: include missing CPIC metoprolol guidance (b117835)
  • subsetter: fix bugs in subsetter (683a361)

v2.15.0

06 Aug 22:32

Choose a tag to compare

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)