Home

Awesome

primalscheme

License: GPL v3 Build Quality Gate Status


about

primalscheme is a tool for designing primer panels for multiplex PCR. It uses a greedy algorithm to find primers for tiling amplicon generation for multiple reference genomes. It works best on viral isolates of known lineages e.g. outbreak strains.

web interface

a web interface is available at primalscheme.com, although it does not currently support all available options.

requirements

installation from PyPI using pip

Create & activate a virtual environment (recommended):

python3 -m venv /path/to/primal-venv
source /path/to/primal-venv/bin/activate

or on Windows:

python -m venv c:\path\to\primal-venv
c:\path\to\primal-venv\Scripts\activate.bat

Install primalscheme with pip:

pip install primalscheme

installation from source

git clone https://github.com/aresti/primalscheme.git primalscheme
cd primalscheme
python3 -m venv venv
source venv/bin/activate
pip install .

Note: if you'd like your installation to be editable, use:

pip install flit
flit install --pth-file

(--pth-file vs --symlink: maintains module visibility for IDE debuggers, and works on Windows.)

command line interface

To design a multiplex scheme run primalscheme multiplex <FASTA>.

If you're looking for test inputs you can try CHIKV_demo.fa, Ebov-10-Pan.fasta or nCov-2019.fasta

optional arguments

modifying config

Many parameters are not directly exposed in the CLI as we believe they are necessary for successful multiplex PCR. However, most values can be modified in config.py if you install the package from source in editable mode with flit install --pth-file (see above).

output

how to design a scheme

  1. Download complete genomes from GenBank and concatenate into a single FASTA file.
    • e.g. cat "sequence (1).fasta" "sequence (2).fasta" > input.fasta
  2. Align all sequences using Clustal Omega.
  3. The genomes should be complete and roughly the same length.
    • Primers are only designed within the limits of the alignment.
    • The first reference will be used for the coordinate system in the output scheme.
  4. Check the 'Result Summary' tab then the 'Percent Identity Matrix' link to check the identity matrix of all sequences.
    • Check that the maximum sequence divergence is not more than 5%.
    • If your sequences are more divergent, it may be necessary to separate them into multiple independent schemes; the 'Phylogenetic Tree' tab may be useful for this.
  5. Remove sequences with 99-100% identity to other genomes in the file as these will bias the primer selection
  6. Run primalscheme on your FASTA file.
    • Optionally, set amplicon min/max length as required by your sequencing technology.

protocol

We strongly recommend using the PCR conditions outlined in the Nature Protocols paper.

description of the algorithm

citing

If you use primalscheme please cite:

Quick J et al. Multiplex PCR method for MinION and Illumina sequencing of Zika and other virus genomes directly from clinical samples. Nat Protoc. 2017 Jun;12(6):1261-1276.