Skip to content

Navigation Menu

Sign in
Sign up

Repository files navigation

Uniqprimer (Python 3 Port)

License: GPL v3 Python 3.12+ Bioinformatics Primer Design PCR Genomics

Uniqprimer designs specific primers for bacterial sequences. It identifies genomic regions unique to a set of "include" genomes compared to a set of "exclude" genomes and designs PCR primers for those regions.

Note: This repository is a modernized port of the original Uniqprimer software (originally written in Python 2) to Python 3.


Features

  • 🐍 Python 3 compatible: Modernized for modern Python 3.12+ runtimes.
  • 📦 Conda-ready: Easy dependency management with environment.yml.
  • 🎯 Improved Primer Design: Direct primer3_core integration for precise thermodynamic & size parameters.
  • 🧩 Chunking Strategy: Efficiently handles large unique sequences by breaking them into manageable windows.
  • 🔍 Cross-Validation: Automated validation of candidate primers against include/exclude genomes with primersearch.

Installation

1. Using Conda (Recommended)

git clone https://github.com/dgutierrezcastillo/Uniqprimer-Py3.git
cd Uniqprimer-Py3
conda env create -f environment.yml
conda activate uniqprimer

2. Manual Installation

Ensure you have the following external dependencies installed and available in your PATH:

  • Python >= 3.12
  • MUMmer >= 3.23
  • Primer3 >= 2.6.1
  • EMBOSS (for primersearch)

Then install the Python package:

pip install .

Usage

Once installed, execute the uniqprimer CLI:

uniqprimer -i target_genome.fasta -x exclude_genome.fasta -o primers.txt

Advanced Options

Option Description Default
-i, --include Include FASTA file (can be specified multiple times) Required
-x, --exclude Exclude FASTA file (can be specified multiple times) Required
-o, --output Output file for candidate primers uPrimer.txt
--chunksize Maximum sequence chunk length sent to Primer3 10000
--productsizerange Target PCR amplimer product size range 200-250
--mintm, --maxtm, --opttm Melting temperature ($T_m$) constraints 57.0, 63.0, 60.0
--mingc, --maxgc GC content constraints (%) 20.0, 80.0
--crossvalidate Verify primer specificity against genomes using primersearch False

Example with custom parameters:

uniqprimer -i data/Xoo_KACC_10331.fasta -x data/XCCgenome.fasta --productsizerange 50-1000 --mintm 45 --maxtm 75 -o output.txt

Credits & Attribution

Originally developed at Colorado State University by the Jan Leach Lab.
Maintained, modernized, and ported to Python 3 by Diego Gutiérrez Castillo.


License

This project is licensed under the GNU General Public License v3.0.

About

Python 3 toolkit for designing specific, unique primer pairs across target and background genomes

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /