Learn R Programming

DECIPHER (version 2.0.2)

DesignPrimers: Design PCR Primers Targeting a Specific Group of Sequences

Description

Assists in the design of primer sets targeting a specific group of sequences while minimizing the potential to cross-amplify other groups of sequences.

Usage

DesignPrimers(tiles, identifier = "", start = 1, end = NULL, minLength = 17, maxLength = 26, maxPermutations = 4, minCoverage = 0.9, minGroupCoverage = 0.2, annealingTemp = 64, P = 4e-07, monovalent = 0.07, divalent = 0.003, dNTPs = 8e-04, minEfficiency = 0.8, worstScore = -Inf, numPrimerSets = 0, minProductSize = 75, maxProductSize = 1200, maxSearchSize = 1500, batchSize = 1000, maxDistance = 0.4, primerDimer = 1e-07, ragged5Prime = TRUE, taqEfficiency = TRUE, induceMismatch = FALSE, processors = 1, verbose = TRUE)

Arguments

tiles
A set of tiles representing each group of sequences, as in the format created by the function TileSeqs.
identifier
Optional character string used to narrow the search results to those matching a specific identifier. Determines the target group(s) for which primers will be designed. If "" then all identifiers are selected.
start
Integer specifying the starting position in the alignment where potential forward primer target sites begin. Preferably a position that is included in most sequences in the alignment.
end
Integer specifying the ending position in the alignment where potential reverse primer target sites end. Preferably a position that is included in most sequences in the alignment.
minLength
Integer providing the minimum length of primers to consider in the design.
maxLength
Integer providing the maximum length of primers to consider in the design, which must be less than or equal to the maxLength of tiles.
maxPermutations
Integer providing the maximum number of permutations considered as part of a forward or reverse primer set.
minCoverage
Numeric giving the minimum fraction of the target group's sequences that must be covered with the primer set.
minGroupCoverage
Numeric giving the minimum fraction of the target group that must have sequence information (not terminal gaps) in the region covered by the primer set.
annealingTemp
Numeric indicating the desired annealing temperature that will be used in the PCR experiment.
P
Numeric giving the molar concentration of primers in the reaction.
monovalent
The molar concentration of monovalent ([Na] and [K]) ions in solution that will be used to determine a sodium equivalent concentration.
divalent
The molar concentration of divalent ([Mg]) ions in solution that will be used to determine a sodium equivalent concentration.
dNTPs
Numeric giving the molar concentration of free nucleotides added to the solution that will be used to determine a sodium equivalent concentration.
minEfficiency
Numeric giving the minimum efficiency of hybridization desired for the primer set. Note that an efficiency of 99% (0.99) will greatly lower predicted specificity of the primer set, however an efficiency of 50% (0.5) may be too low in actuality to amplify the target group due to error in melt temperature predictions.
worstScore
Numeric specifying the score cutoff to remove target sites from consideration. For example, a worstScore of -5 will remove all primer sets scoring below -5, although this may eventually result in no primer sets meeting the design criteria.
numPrimerSets
Integer giving the optimal number of primer sets (forward and reverse primer sets) to design. If set to zero then all possible forward and reverse primers are returned, but the primer sets minimizing potential cross-amplifications are not chosen.
minProductSize
Integer giving the minimum number of nucleotides desired in the PCR product.
maxProductSize
Integer giving the maximum number of nucleotides desired in the PCR product.
maxSearchSize
Integer giving the maximum number of nucleotides to search for false priming upstream and downstream of the expected binding site.
batchSize
Integer specifying the number of primers to simulate hybridization per batch that is passed to CalculateEfficiencyPCR.
maxDistance
Numeric specifying the maximal fraction of mismatched base pairings on a rolling basis beginning from the 3' end of the primer.
primerDimer
Numeric giving the maximum amplification efficiency of potential primer-dimer products.
ragged5Prime
Logical specifying whether the 5' end or 3' end of primer permutations targeting the same site should be varying lengths.
taqEfficiency
Logical determining whether to make use of elongation efficiency and maxDistance to increase predictive accuracy for Taq DNA Polymerase amplifying primers with mismatches near the 3' terminus. Note that this should be set to FALSE if using a high-fidelity polymerase with 3' to 5' exonuclease activity.
induceMismatch
Logical or integer specifying whether to induce a mismatch in the primer with the template DNA. If TRUE then a mismatch is induced at the 6th primer position. If an integer value is provided between 2 and 6 then a mismatch is induced in that primer position, where the 3'-end is defined as position 1.
processors
The number of processors to use, or NULL to automatically detect and use all available processors.
verbose
Logical indicating whether to display progress.

Value

A different data.frame will be returned depending on number of primer sets requested. If no primer sets are required then columns contain the forward and reverse primers for every possible position scored by their potential to amplify other identified groups. If one or more primer sets are requested then columns contain information for the optimal set of forward and reverse primers that could be used in combination to give the fewest potential cross-amplifications.

Details

Primers are designed for use with Taq DNA Polymerase to maximize sensitivity and specificity for the target group of sequences. The design makes use of Taq's bias against certain 3' terminal mismatch types in order to increase specificity further than can be achieve with hybridization efficiency alone.

Primers are designed from a set of tiles to target each identifier while minimizing affinity for all other tiled groups. Arguments provide constraints that ensure the designed primer sets meet the specified criteria as well as being optimized for the particular experimental conditions. A search is conducted through all tiles in the same alignment position to estimate the chance of cross-amplification with a non-target group.

If numPrimers is greater than or equal to one then the set of forward and reverse primers that minimizes potential false positive overlap is returned. This will also initiate a thorough search through all target sites upstream and downstream of the expected binding sites to ensure that the primers do not bind to nearby positions. Lowering the maxSearchSize will speed up the thorough search at the expense of potentially missing an unexpected target site. The number of possible primer sets assessed is increased with the size of numPrimers.

References

ES Wright et al. (2013) "Exploiting Extension Bias in PCR to Improve Primer Specificity in Ensembles of Nearly Identical DNA Templates." Environmental Microbiology, doi:10.1111/1462-2920.12259.

See Also

AmplifyDNA, CalculateEfficiencyPCR, DesignSignatures, TileSeqs

Examples

Run this code
db <- system.file("extdata", "Bacteria_175seqs.sqlite", package="DECIPHER")
# not run (must have OligoArrayAux installed first):
## Not run: tiles <- TileSeqs(db, identifier=c("Enterobacteriales","Pseudomonadales"))
## Not run: primers <- DesignPrimers(tiles, identifier="Enterobacteriales", start=280, end=420,
#            minProductSize=50, numPrimerSets=1)## End(Not run)

Run the code above in your browser using DataLab