Skip to main content

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


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.1.tar.gz (8.7 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.1-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

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

Hashes for pyprimer_ilps-0.1.1.tar.gz
Algorithm Hash digest
SHA256 aca32bfd7f58a45161fb06311ad2013e099a02d8aa574fea537827f49b553fe3
MD5 f2ad74318932288323645f1e1463364a
BLAKE2b-256 6a71e3ffa1c905ddd214784d5dad3f66328e1861b25a6526f865764264a8745a

See more details on using hashes here.

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

Hashes for pyprimer_ilps-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 21dd1d4202243e75071283c69dc389feb99cc77f2f9c63664ab93392b9e4969e
MD5 a54d50743d1d2c7745865149e0878ff9
BLAKE2b-256 5a6c82dc4f45a19313308a0d6e4c7e5ddbe6e68cf0baaa72076ba107f8176180

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