Skip to content

Commit 6f23c5f

Browse files
authored
Merge pull request #69 from sbslee/0.18.0-dev
0.18.0 dev
2 parents 79ec441 + c997c60 commit 6f23c5f

17 files changed

+862
-457
lines changed

CHANGELOG.rst

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,23 @@
11
Changelog
22
*********
33

4+
0.18.0 (2022-08-12)
5+
-------------------
6+
7+
* PyPGx now has a citation! Please refer to the publication "`ClinPharmSeq: A targeted sequencing panel for clinical pharmacogenetics implementation <https://doi.org/10.1371/journal.pone.0272129>`__" by Lee et al., 2022 (Steven is the first author). Fore more details, see the Citation section in README.
8+
* Update phenotype data and star allele nomenclature for SLCO1B1 in accordance with the latest PharmVar version (v5.2.1). Note that SLCO1B1 was first formally added to PharmVar v5.1 on October 14, 2021. For more details, please refer to the publication "`PharmVar GeneFocus: SLCO1B1 <https://doi.org/10.1002/cpt.2705>`__" by Ramsey et al., 2022 (Steven is a co-author of this paper by the way) and the change log in `the PharmVar SLCO1B1 page <https://www.pharmvar.org/gene/SLCO1B1>`__. The PharmVar-developed SLCO1B1 nomenclature has been incorporated by CPIC 2022 guideline on statin-associated musculoskeletal symptoms.
9+
* Remove duplicate DYPD entry from ``phenotype-table.csv`` file (i.e. Poor Metabolizer).
10+
* Fix major bug in :command:`run-chip-pipeline` command where ``--impute`` argument is essentially ignored.
11+
* :issue:`68`: Fix bug in :meth:`api.utils.estimate_phase_beagle` method when there are no overlapping variants between input VCF and reference panel.
12+
* :issue:`68`: Update :meth:`api.utils.estimate_phase_beagle` method to warn when statistical phasing is skipped.
13+
* :issue:`68`: Upgrade Beagle version from v5.2 (beagle.28Jun21.220.jar) to v5.4 (beagle.22Jul22.46e.jar) due to a bug in v5.2.
14+
* :issue:`68`: Update :meth:`api.utils.estimate_phase_beagle` method to filter out variants with improper allele ('I', 'D', 'N', '.'). Note that this issue is specific to chip data.
15+
* :issue:`68`: Update :meth:`api.utils.import_variants` method to handle input VCF with duplicate variants. Basically, it will warn the user about it and and only keep the first record. This issue seems to occur frequently with chip data.
16+
417
0.17.0 (2022-07-12)
518
-------------------
619

7-
* :issue:`63`: Fix bug in :meth:`api.utils.estimate_phase_beagle` when there is only one variant in input VCF and Beagle throws an error.
20+
* :issue:`63`: Fix bug in :meth:`api.utils.estimate_phase_beagle` method when there is only one variant in input VCF and Beagle throws an error.
821
* Update :command:`compare-genotypes` command to print the entire discordant calls when ``--verbose`` is used.
922
* Update :command:`compute-copy-number` command to ensure that the samples in CovFrame[ReadDepth] and SampleTable[Statistics] are in the same order.
1023
* :issue:`64`: Update :meth:`api.utils.import_variants` method to 'diploidize' the input VCF when the target gene is G6PD. This is because some variant callers output haploid genotypes for males for the X chromosome, interfering with downstream analyses.

README.rst

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,34 @@ Your contributions (e.g. feature ideas, pull requests) are most welcome.
126126
| Email: sbstevenlee@gmail.com
127127
| License: MIT License
128128
129+
Citation
130+
========
131+
132+
If you use PyPGx in a published analysis, please report the program version
133+
and cite the following article:
134+
135+
- Lee et al., 2022. `ClinPharmSeq: A targeted sequencing panel for clinical pharmacogenetics implementation <https://doi.org/10.1371/journal.pone.0272129>`__. PLOS ONE.
136+
137+
In this article, PyPGx was used to call star alleles for genomic DNA
138+
reference materials from the Centers for Disease Control and Prevention–based
139+
`Genetic Testing Reference Materials Coordination Program (GeT-RM)
140+
<https://pypgx.readthedocs.io/en/latest/glossary.html#
141+
genetic-testing-reference-materials-coordination-program-get-rm>`__, where it
142+
showed almost 100% concordance with genotype results from previous works.
143+
144+
The development of PyPGx was heavily inspired by `Stargazer <https://
145+
stargazer.gs.washington.edu/stargazerweb/>`__, another star-allele calling
146+
tool developed by Steven when he was in his PhD program at the University of
147+
Washington. Therefore, please also cite the following articles:
148+
149+
- Lee et al., 2019. `Calling star alleles with Stargazer in 28 pharmacogenes with whole genome sequences <https://doi.org/10.1002/cpt.1552>`__. Clinical Pharmacology & Therapeutics.
150+
- Lee et al., 2018. `Stargazer: a software tool for calling star alleles from next-generation sequencing data using CYP2D6 as a model <https://doi.org/10.1038/s41436-018-0054-0>`__. Genetics in Medicine.
151+
152+
Below is an incomplete list of publications which have used PyPGx:
153+
154+
- Wroblewski et al., 2022. `Pharmacogenetic variation in Neanderthals and Denisovans and implications for human health and response to medications <https://doi.org/10.1101/2021.11.27.470071>`__. bioRxiv.
155+
- Botton et al., 2020. `Phased Haplotype Resolution of the SLC6A4 Promoter Using Long-Read Single Molecule Real-Time (SMRT) Sequencing <https://doi.org/10.3390/genes11111333>`__. Genes.
156+
129157
Installation
130158
============
131159

@@ -183,7 +211,7 @@ dependencies installed.
183211
SNVs and indels. The program is freely available and published under the
184212
`GNU General Public License <https://faculty.washington.edu/browning/
185213
beagle/gpl_license>`__. Users do not need to download Beagle separately
186-
because a copy of the software (``beagle.28Jun21.220.jar``) is already
214+
because a copy of the software (``beagle.22Jul22.46e.jar``) is already
187215
included in PyPGx.
188216

189217
.. warning::
@@ -541,7 +569,7 @@ Implemented as ``pypgx run-ngs-pipeline`` in CLI and
541569
``pypgx.pipeline.run_ngs_pipeline`` in API, this pipeline is designed for
542570
processing short-read data (e.g. Illumina). Users must specify whether the
543571
input data is from whole genome sequencing (WGS) or targeted sequencing
544-
(custome targeted panel sequencing or whole exome sequencing).
572+
(custom targeted panel sequencing or whole exome sequencing).
545573

546574
This pipeline supports SV detection based on copy number analysis for genes
547575
that are known to have SV. Therefore, if the target gene is associated with

docs/create.py

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,34 @@
153153
| Email: sbstevenlee@gmail.com
154154
| License: MIT License
155155
156+
Citation
157+
========
158+
159+
If you use PyPGx in a published analysis, please report the program version
160+
and cite the following article:
161+
162+
- Lee et al., 2022. `ClinPharmSeq: A targeted sequencing panel for clinical pharmacogenetics implementation <https://doi.org/10.1371/journal.pone.0272129>`__. PLOS ONE.
163+
164+
In this article, PyPGx was used to call star alleles for genomic DNA
165+
reference materials from the Centers for Disease Control and Prevention–based
166+
`Genetic Testing Reference Materials Coordination Program (GeT-RM)
167+
<https://pypgx.readthedocs.io/en/latest/glossary.html#
168+
genetic-testing-reference-materials-coordination-program-get-rm>`__, where it
169+
showed almost 100% concordance with genotype results from previous works.
170+
171+
The development of PyPGx was heavily inspired by `Stargazer <https://
172+
stargazer.gs.washington.edu/stargazerweb/>`__, another star-allele calling
173+
tool developed by Steven when he was in his PhD program at the University of
174+
Washington. Therefore, please also cite the following articles:
175+
176+
- Lee et al., 2019. `Calling star alleles with Stargazer in 28 pharmacogenes with whole genome sequences <https://doi.org/10.1002/cpt.1552>`__. Clinical Pharmacology & Therapeutics.
177+
- Lee et al., 2018. `Stargazer: a software tool for calling star alleles from next-generation sequencing data using CYP2D6 as a model <https://doi.org/10.1038/s41436-018-0054-0>`__. Genetics in Medicine.
178+
179+
Below is an incomplete list of publications which have used PyPGx:
180+
181+
- Wroblewski et al., 2022. `Pharmacogenetic variation in Neanderthals and Denisovans and implications for human health and response to medications <https://doi.org/10.1101/2021.11.27.470071>`__. bioRxiv.
182+
- Botton et al., 2020. `Phased Haplotype Resolution of the SLC6A4 Promoter Using Long-Read Single Molecule Real-Time (SMRT) Sequencing <https://doi.org/10.3390/genes11111333>`__. Genes.
183+
156184
Installation
157185
============
158186
@@ -210,7 +238,7 @@
210238
SNVs and indels. The program is freely available and published under the
211239
`GNU General Public License <https://faculty.washington.edu/browning/
212240
beagle/gpl_license>`__. Users do not need to download Beagle separately
213-
because a copy of the software (``beagle.28Jun21.220.jar``) is already
241+
because a copy of the software (``beagle.22Jul22.46e.jar``) is already
214242
included in PyPGx.
215243
216244
.. warning::
@@ -568,7 +596,7 @@
568596
``pypgx.pipeline.run_ngs_pipeline`` in API, this pipeline is designed for
569597
processing short-read data (e.g. Illumina). Users must specify whether the
570598
input data is from whole genome sequencing (WGS) or targeted sequencing
571-
(custome targeted panel sequencing or whole exome sequencing).
599+
(custom targeted panel sequencing or whole exome sequencing).
572600
573601
This pipeline supports SV detection based on copy number analysis for genes
574602
that are known to have SV. Therefore, if the target gene is associated with

docs/faq.rst

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,3 +123,23 @@ by excluding GSTT1 from your analysis:
123123
For more details, please see the following articles:
124124
:ref:`readme:GRCh37 vs. GRCh38` and :ref:`genes:GRCh38 data for GSTT1`.
125125
Related GitHub issues: :issue:`65`.
126+
127+
Phase-by-extension algorithm
128+
============================
129+
130+
This algorithm is used for haplotype phasing rare variants that are not
131+
present in the reference haplotype panel (i.e. cannot be phased
132+
statistically). The algorithm does not replace statistical phasing; it’s only
133+
supplementary. The algorithm utilizes haplotype information obtained by
134+
statistical phasing and a scoring system to determine which of the two
135+
haplotypes is more likely to carry the rare variant of interest, based on
136+
the total number of 'tag' SNPs related to that particular variant and also
137+
matching the observed haplotype, hence the algorithm’s name 'phasing by
138+
haplotype extension.' Take CYP2D6*21 as an example, which is defined by
139+
2580_2581insC (core), 2851C>T (tag), and 4181G>C (tag). Both 2851C>T and
140+
4181G>C are present in the 1KGP panel and thus statistically phasable, while
141+
2580_2581insC is not. In order to call a sample with 2580_2581insC as having
142+
CYP2D6*21, PyPGx will first check which of the two haplotypes contains
143+
2851C>T and 4181G>C and then assign 2580_2581insC to that haplotype. Note
144+
that the phase-by-extension algorithm can handle multiallelic sites in
145+
addition to biallelic sites.

docs/genes.rst

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -644,6 +644,7 @@ Resources for ABCG2
644644
-------------------
645645

646646
- `CPIC® guideline for statins and SLCO1B1, ABCG2, and CYP2C9 <https://cpicpgx.org/guidelines/cpic-guideline-for-statins/>`__
647+
- `The Clinical Pharmacogenetics Implementation Consortium Guideline for SLCO1B1, ABCG2, and CYP2C9 genotypes and Statin-Associated Musculoskeletal Symptoms <https://ascpt.onlinelibrary.wiley.com/doi/10.1002/cpt.2557>`__
647648

648649
CACNA1S
649650
=======
@@ -668,6 +669,7 @@ Resources for CACNA1S
668669

669670
- `Annotation of CPIC Guideline for desflurane and CACNA1S, RYR1 <https://www.pharmgkb.org/chemical/PA164749136/guidelineAnnotation/PA166180457>`__
670671
- `CPIC® Guideline for Potent Volatile Anesthetic Agents and Succinylcholine and RYR1 and CACNA1S <https://cpicpgx.org/guidelines/cpic-guideline-for-ryr1-and-cacna1s/>`__
672+
- `Clinical Pharmacogenetics Implementation Consortium (CPIC) Guideline for the Use of Potent Volatile Anesthetic Agents and Succinylcholine in the Context of RYR1 or CACNA1S Genotypes <https://doi.org/10.1002/cpt.1319>`__
671673

672674
CFTR
673675
====
@@ -694,6 +696,7 @@ Resources for CFTR
694696

695697
- `Annotation of CPIC Guideline for ivacaftor and CFTR <https://www.pharmgkb.org/chemical/PA165950341/guidelineAnnotation/PA166114461>`__
696698
- `CPIC® Guideline for Ivacaftor and CFTR <https://cpicpgx.org/guidelines/guideline-for-ivacaftor-and-cftr/>`__
699+
- `Clinical Pharmacogenetics Implementation Consortium (CPIC) Guidelines for Ivacaftor Therapy in the Context of CFTR Genotype <https://doi.org/10.1038/clpt.2014.54>`__
697700

698701
CYP1A1
699702
======
@@ -1222,6 +1225,7 @@ Resources for CYP2C9
12221225

12231226
- `PharmVar CYP2C9 page <https://www.pharmvar.org/gene/CYP2C9>`__
12241227
- `CPIC® Guideline for NSAIDs based on CYP2C9 genotype <https://cpicpgx.org/guidelines/cpic-guideline-for-nsaids-based-on-cyp2c9-genotype/>`__
1228+
- `The Clinical Pharmacogenetics Implementation Consortium Guideline for SLCO1B1, ABCG2, and CYP2C9 genotypes and Statin-Associated Musculoskeletal Symptoms <https://ascpt.onlinelibrary.wiley.com/doi/10.1002/cpt.2557>`__
12251229

12261230
CYP2C19
12271231
=======
@@ -2292,6 +2296,7 @@ Resources for IFNL3
22922296
-------------------
22932297

22942298
- `Annotation of CPIC Guideline for peginterferon alfa-2a,peginterferon alfa-2b,ribavirin and IFNL3 <https://www.pharmgkb.org/guidelineAnnotation/PA166110235>`__
2299+
- `CPIC® Guideline for PEG Interferon-Alpha-Based Regimens and IFNL3 <https://cpicpgx.org/guidelines/guideline-for-peg-interferon-alpha-based-regimens-and-ifnl3/>`__
22952300

22962301
NUDT15
22972302
======
@@ -2362,6 +2367,7 @@ Resources for RYR1
23622367

23632368
- `Annotation of CPIC Guideline for desflurane and CACNA1S, RYR1 <https://www.pharmgkb.org/chemical/PA164749136/guidelineAnnotation/PA166180457>`__
23642369
- `CPIC® Guideline for Potent Volatile Anesthetic Agents and Succinylcholine and RYR1 and CACNA1S <https://cpicpgx.org/guidelines/cpic-guideline-for-ryr1-and-cacna1s/>`__
2370+
- `Clinical Pharmacogenetics Implementation Consortium (CPIC) Guideline for the Use of Potent Volatile Anesthetic Agents and Succinylcholine in the Context of RYR1 or CACNA1S Genotypes <https://doi.org/10.1002/cpt.1319>`__
23652371

23662372
SLC22A2
23672373
=======
@@ -2477,26 +2483,25 @@ Diplotype-phenotype mapping is used for phenotype prediction.
24772483

24782484
* - Phenotype
24792485
- Example
2480-
* - Possible Increased Function
2481-
- \*1A/\*35
2486+
* - Increased Function
2487+
- \*14/\*14
24822488
* - Normal Function
2483-
- \*1A/\*1A
2489+
- \*1/\*1
24842490
* - Possible Decreased Function
2485-
- \*1A/\*2
2491+
- \*2/\*15
24862492
* - Decreased Function
2487-
- \*1A/\*5
2488-
* - Possible Poor Function
2489-
- \*2/\*2
2493+
- \*1/\*5
24902494
* - Poor Function
24912495
- \*5/\*5
24922496
* - Indeterminate
2493-
- \*1A/\*7
2497+
- \*2/\*38
24942498

24952499
Resources for SLCO1B1
24962500
---------------------
24972501

24982502
- `PharmVar SLCO1B1 page <https://www.pharmvar.org/gene/SLCO1B1>`__
24992503
- `CPIC® Guideline for Simvastatin and SLCO1B1 <https://cpicpgx.org/guidelines/guideline-for-simvastatin-and-slco1b1/>`__
2504+
- `The Clinical Pharmacogenetics Implementation Consortium Guideline for SLCO1B1, ABCG2, and CYP2C9 genotypes and Statin-Associated Musculoskeletal Symptoms <https://ascpt.onlinelibrary.wiley.com/doi/10.1002/cpt.2557>`__
25002505

25012506
SULT1A1
25022507
=======

pypgx/api/beagle.22Jul22.46e.jar

294 KB
Binary file not shown.

pypgx/api/beagle.28Jun21.220.jar

-294 KB
Binary file not shown.

0 commit comments

Comments
 (0)