a high-throughput primer design and specificity-checking platform


Keywords
primer, bioinformatics, PCR, blast, d3js, html5, primer-design, specific-primers, thermodynamics, throughput-primer
License
MIT
Install
pip install primerserver2==2.0.0b20

Documentation

PrimerServer2

PrimerServer2: a high-throughput primer design and specificity-checking platform

screenshot

Description

PrimerServer was proposed to design genome-wide specific PCR primers. It uses candidate primers produced by Primer3, uses BLAST and nucleotide thermodynamics to search for possible amplicons and filters out specific primers for each site. By using multiple threads, it runs very fast, ~0.4s per site in our case study for more than 10000 sites.

This repository is based on Python3 and acts as the successor of legacy PrimerServer.

External Dependencies

Add these two softwares to your system PATH

Install

Don't use Python 3.9 or above since the primer3-py module hasn't supported Python 3.9 yet.

conda create -n primer python=3.8
conda activate primer

Via PIP (release only)

$ pip3 install primerserver2

Via Github

$ git clone https://github.com/billzt/PrimerServer2.git
$ cd PrimerServer2
$ python3 setup.py install

Run testing commands

** (if installed from pip,) tests/query_design_multiple and tests/example.fa can be obtained from this github repository.

** full mode: design primers and check specificity
$ primertool full tests/query_design_multiple tests/example.fa

** design mode: design primers only
$ primertool design tests/query_design_multiple tests/example.fa

** check mode: check specificity only
$ primertool check tests/query_check_multiple tests/example.fa

Need to run the Web UI?

Please refer to the wiki.

Warning: About the reference genome

If you use reference genomes with many unplaced scaffolds, be caution since such scaffolds with great homology with main chromosomes might influence your results. If possible, delete (some or all of ) these unplaced scaffolds. For the human genome, we recommend the no_alt_analysis_set, which has all the PAR regions marked with N, to be used.

Comparison of the CLI and Web version

CLI Web UI
Design primers ✔️ ✔️
Checking specificity ✔️ ✔️
Progress monitor ✔️ ✔️
Number of tasks High Low
Alternative isoforms ✔️
Exon-exon junction ✔️
Pick internal oligos ✔️
Custom Tm temperature ✔️
Custom max amplicons ✔️
Visualization ✔️