An R package to ease primer design using Primer3.

Installation

You can install primex from github with:

# install.packages("devtools")
devtools::install_github("dieterich-lab/primex")

Quick start

library(primex)

exonSeqs <- c(
  exon1 = paste0(
    "CTCACCATGGATGATGATATCGCCGCGCTCGTCGTCGACAACGGCTCCGGCATGTGCAAG",
    "GCCGGCTTCGCGGGCGACGATGCCCCCCGGGCCGTCTTCCCCTCCATCGTGGC",
    "AGGCACCAG"
    ), 
  exon2 = paste0(
    "GGCGTGATGGTGGGCATGGGTCAGAAGGATTCCTATGTGGGCGACGAGGCCCAGAGCAAG",
    "AGAGGCATCCTCACCCTGAAGTACCCCATCGAGCACGGCATCGTCACCAACTGGGACGAC",
    "ATGGAGAAAATCTGGCACCACACCTTCTACAATGAGCTGCGTGTGGCTCCCGAGGAGCAC",
    "CCCGTGCTGCTGACCGAGGCCCCCCTGAACCCCAAGGCCAACCGCGAGAAGATGACCCAG"
  )
)

seqOpts <- seqSettings(seqId = "transcript2", seq = exonSeqs) 

p3Opts  <- p3Settings() %>%  
  primerTm(min = 58, optimal = 63, max = 67)

primers <- design(seqOpts, p3Opts)

First two candidate pairs:

first second
PRIMER_PAIR_PENALTY 4.488355 4.494866
PRIMER_LEFT_PENALTY 4.462257 0.032609
PRIMER_RIGHT_PENALTY 0.026098 4.462257
PRIMER_LEFT_SEQUENCE ACCAGGGCGTGATGGTGG ATGGATGATGATATCGCCGC
PRIMER_RIGHT_SEQUENCE CATGTCGTCCCAGTTGGTGA CCACCATCACGCCCTGGT
PRIMER_LEFT 117,18 6,20
PRIMER_RIGHT 244,20 134,18
PRIMER_LEFT_TM 65.462 63.033
PRIMER_RIGHT_TM 63.026 65.462
PRIMER_LEFT_GC_PERCENT 66.667 50.000
PRIMER_RIGHT_GC_PERCENT 55.000 66.667
PRIMER_LEFT_SELF_ANY_TH 6.11 0.00
PRIMER_RIGHT_SELF_ANY_TH 0.00 0.00
PRIMER_LEFT_SELF_END_TH 0.00 0.00
PRIMER_RIGHT_SELF_END_TH 0.00 0.00
PRIMER_LEFT_HAIRPIN_TH 43.01 27.69
PRIMER_RIGHT_HAIRPIN_TH 32.56 43.06
PRIMER_LEFT_END_STABILITY 9.4000 12.9000
PRIMER_RIGHT_END_STABILITY 7.9000 7.9000
PRIMER_PAIR_COMPL_ANY_TH 0.00 0.62
PRIMER_PAIR_COMPL_END_TH 5.31 0.00
PRIMER_PAIR_PRODUCT_SIZE 128 129