Batch In-Silico (q)PCR Made Easy with run_epcr.py

🔍 What Is run_epcr.py?

run_epcr.py is a powerful Python script designed for batch in-silico PCR and probe finding.
Created by Steve Baeyen from ILVO (BE) and Dr. Tom Raaymakers from NIVIP (NL) and released in 2025 under the MIT license, this tool streamlines the process of scanning genome FASTA files and identifying amplicons and probe matches—all in parallel. The idea was based on the in_silico_pcr Perl script from Github link and extended for qPCR applications and automated scoring of multiple primersets and genomes.

Whether you’re a molecular biologist, bioinformatician, or just someone working with genomic data, run_epcr.py offers a fast, flexible, and user-friendly way to simulate conventional and realtime PCR reactions across multiple genomes.


🌟 Why Is It Novel?

Here’s what makes run_epcr.py stand out:

  • Batch Processing: Unlike many tools that handle one genome at a time, run_epcr.py processes entire folders of genome files in parallel.
  • Fuzzy Matching: It supports mismatches and indels, making it robust against sequence variability.
  • IUPAC Code Support: Handles ambiguity codes in primers and probes, which is crucial for real-world applications.
  • Multi-threading: Uses all available CPU cores for fast execution.
  • Rich Output: Generates TSV tables, FASTA files, and count matrices for easy downstream analysis.
  • Simple CLI Interface: Easy to use with clear input/output options and logging.

🧪 Why Is It Important?

For general users, especially those in research or diagnostics, run_epcr.py offers:

  • Time Efficiency: Automates what would otherwise be a manual, repetitive task.
  • Scalability: Works on large datasets without compromising speed.
  • Reproducibility: Standardized output formats and logging ensure traceability.
  • Accessibility: Requires only Python 3.6+ and the regex library—no complex dependencies.

🛠️ How to Use It

Example with test data:

python run_epcr.py -i ./genomes/ -p primers.tsv -o results/ -t 4 -m 1

📁 Output Files

  • all_amplicons_results.tsv: All detected amplicons
  • all_amplicons.fasta: Amplicon sequences in FASTA format
  • amplicon_count_matrix.tsv: Amplicon counts per sample and assay
  • Log file with timestamp (e.g., run_epcr_YYYYMMDD_HHMMSS.log)

📫 Contact

For questions or feedback, reach out to Steve Baeyen at
📧 email

💻 Clone from my repository on ILVO Gitlab




Enjoy Reading This Article?

Here are some more articles you might like to read next:

  • From Bash to Copilot: My Bioinformatics Terminal Workflow