PharmCAT uses different algorithms to match allele definitions to variant call data.
By default, we use the algorithm in this codebase called NamedAlleleMatcher. The
NamedAlleleMatcher was written specifically for use in PharmCAT.
PharmCAT can also use an external matching algorithm named Astrolabe that was developed outside of the PharmCAT project by Children's Mercy Kansas City. This tool is run separately from PharmCAT but the results of the Astrolabe algorithm can be fed into PharmCAT to help supplement the final report.
Currently, Astrolabe is used for matching the CYP2D6 diplotypes and the
NamedAlleleMatcher is used for all other gene diplotype matching.