A bioinformatic pipeline for identifying intron length variation across species to design diagnostic multiplex PCR primers.
Project description
███████████ ███████████ ███
░░███░░░░░███ ░░███░░░░░███ ░░░
░███ ░███ █████ ████ ░███ ░███ ████████ ████ █████████████ ██████ ████████
░██████████ ░░███ ░███ ░██████████ ░░███░░███░░███ ░░███░░███░░███ ███░░███░░███░░███
░███░░░░░░ ░███ ░███ ░███░░░░░░ ░███ ░░░ ░███ ░███ ░███ ░███ ░███████ ░███ ░░░
░███ ░███ ░███ ░███ ░███ ░███ ░███ ░███ ░███ ░███░░░ ░███
█████ ░░███████ █████ █████ █████ █████░███ █████░░██████ █████
░░░░░ ░░░░░███ ░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░ ░░░░░ ░░░░░░ ░░░░░
███ ░███
░░██████
░░░░░░
PyPrimer is bioinformatic pipeline designed to identify intron length variation between multiple species for the purpose of designing diagnostic multiplex PCR primers. Originally implemented in Neodiprion sawflies, the methodology can be applied to any system with a NCBI annotated reference genome.
PyPrimer was written in Python3.8+ and requires the following input files to function:
- Orthologous groups inferred for a set of species using Broccoli (Derelle et al., 2020)
- NCBI feature tables in tab delimited format for all species within the orthologous groups.
- NCBI GFF files.
PyPrimer can optionally filter orthogroup candidates using genome wide FST population data for focal species. The original implementation focused on intron variation between N. lecontei and N. pinetum from Glover et al. (2024) using VCFtools.
PyPrimer can be run as a tutorial using files from the example_file directory on GitHub. Feature tables and GFF files will need to be downloaded from the NCBI ftp servers for each species.
Installation
pip install pyprimer-ilps
Documentation
# All genomes, no FST filter
pyprimer --genomes example_files/genomes.tsv \
--broccoli-table example_files/broccoli_gene_orthology/run1/dir_step3/table_OGs_protein_names.txt \
--annotation-type CDS \
--output-dir example_files/out/focal_pair/ \
--min-intron-diff 100 --max-intron-len 1100
# Focal pair with FST filtering
pyprimer --genomes example_files/genomes.tsv \
--broccoli-table example_files/broccoli_gene_orthology/run1/dir_step3/table_OGs_protein_names.txt \
--annotation-type CDS \
--output-dir example_files/out/focal_pair/ \
--use-fst --fst-table example_files/HighSites_FILTERED_fst_GD_GC_pi_TD_RR_dxy_50kbp.txt --fst-cutoff 0.75 \
--focal-pair pine leco \
--min-intron-diff 100 --max-intron-len 1100
Mandatory arguments:
--genomes: path to the tab-seperate value file idetifying the number of species being considered, and the paths to their respecitive feature tables and .gff files.
--broccoli-table: path to the "table_OGs_protein_names.txt" file output by broccoli in the "dir_step3" directory.
--annotation-type: CDS for designing PCR primers, mRNA for RT-qPCR primers.
--output-dir out: path to your desired output directory.
--min-intron-diff and --max-intron-len: The minumum required difference between introns and maximum intron length desired between any two species.\
Optional Arguments:
--use-fst: Arugment to enable FST filtering.
--fst-table and --fst-cutoff: path to the file containing windowed FST values, along with the minimum desired FST threshold. Used in tandem with --use-fst.
--focal-pair: Argument to only search between two focal species.\
References
- Derelle, Romain, Hervé Philippe, and John K. Colbourne. "Broccoli: combining phylogenetic and network analyses for orthology assignment." Molecular Biology and Evolution 37.11 (2020): 3389-3396.
- Glover, Ashleigh N., et al. "Recurrent selection shapes the genomic landscape of differentiation between a pair of host‐specialized haplodiploids that diverged with gene flow" Molecular Ecology 33.18 (2024): e17509.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyprimer_ilps-0.1.1.tar.gz.
File metadata
- Download URL: pyprimer_ilps-0.1.1.tar.gz
- Upload date:
- Size: 8.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aca32bfd7f58a45161fb06311ad2013e099a02d8aa574fea537827f49b553fe3
|
|
| MD5 |
f2ad74318932288323645f1e1463364a
|
|
| BLAKE2b-256 |
6a71e3ffa1c905ddd214784d5dad3f66328e1861b25a6526f865764264a8745a
|
File details
Details for the file pyprimer_ilps-0.1.1-py3-none-any.whl.
File metadata
- Download URL: pyprimer_ilps-0.1.1-py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
21dd1d4202243e75071283c69dc389feb99cc77f2f9c63664ab93392b9e4969e
|
|
| MD5 |
a54d50743d1d2c7745865149e0878ff9
|
|
| BLAKE2b-256 |
5a6c82dc4f45a19313308a0d6e4c7e5ddbe6e68cf0baaa72076ba107f8176180
|