# primex

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