Skip to main content

A bioinformatic pipeline for identifying intron length variation across species to design diagnostic multiplex PCR primers.

Project description

 ███████████             ███████████             ███                                    
░░███░░░░░███           ░░███░░░░░███           ░░░                                     
 ░███    ░███ █████ ████ ░███    ░███ ████████  ████  █████████████    ██████  ████████ 
 ░██████████ ░░███ ░███  ░██████████ ░░███░░███░░███ ░░███░░███░░███  ███░░███░░███░░███
 ░███░░░░░░   ░███ ░███  ░███░░░░░░   ░███ ░░░  ░███  ░███ ░███ ░███ ░███████  ░███ ░░░ 
 ░███         ░███ ░███  ░███         ░███      ░███  ░███ ░███ ░███ ░███░░░   ░███     
 █████        ░░███████  █████        █████     █████ █████░███ █████░░██████  █████    
░░░░░          ░░░░░███ ░░░░░        ░░░░░     ░░░░░ ░░░░░ ░░░ ░░░░░  ░░░░░░  ░░░░░     
               ███ ░███                                                                 
              ░░██████                                                                  
               ░░░░░░                                                                   

Anaconda.org Anaconda.org Anaconda.org

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 runs as a command-line-interface application, requiring 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)

PyPrimer can be run as a tutorial using files from the example_file directory on GitHub. Compressed NCBI feature tables and GFF files for four Neodiprion and one Diprion species are provided along with a file to implment the optional FST filtering between N. lecontei and N. pinetum.

Installation

pip install pyprimer-ilps
conda install bioconda::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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyprimer_ilps-0.1.2.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyprimer_ilps-0.1.2-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

Details for the file pyprimer_ilps-0.1.2.tar.gz.

File metadata

  • Download URL: pyprimer_ilps-0.1.2.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5rc1

File hashes

Hashes for pyprimer_ilps-0.1.2.tar.gz
Algorithm Hash digest
SHA256 b58f0e7ffe2cc1776c74b9a55b9c7b8034ee8ba2a33f9eb854008116b38ad9f3
MD5 93f901e04e3ac03d1bd1b34ccae3cab5
BLAKE2b-256 78b4c5d639a907f1bd0bcf1a8d0b410260a3bc984d3a9441ff913c1dc698211d

See more details on using hashes here.

File details

Details for the file pyprimer_ilps-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: pyprimer_ilps-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 13.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5rc1

File hashes

Hashes for pyprimer_ilps-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f689cb68a5a4741833809e6d92704e03eeb6aaf47c02f02a0bca78a74c504742
MD5 a137f52df13aeaa9301f59fcff596254
BLAKE2b-256 30ffa45b57073159590632f9651f58b12720d7bbad2c64e59d6e48d2950071fe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page