| Title: | Multiplexed Primer Design by Linear Set Coverage Approximation |
| Version: | 1.0.6 |
| Date: | 2026-04-21 |
| Maintainer: | Manu Tamminen <mavatam@utu.fi> |
| Description: | Implementation of an oligonucleotide primer and probe design algorithm using a linearly scaling approximation of set coverage. A detailed description available at Smolander and Tamminen, 2021; <doi:10.1101/2021.09.06.459073>. |
| License: | BSD_3_clause + file LICENSE |
| URL: | https://github.com/tamminenlab/prider |
| Imports: | Rcpp (≥ 1.0.5), dplyr, tidyr, purrr, stringr, magrittr, tibble, gplots |
| LinkingTo: | Rcpp |
| RoxygenNote: | 7.3.3 |
| Encoding: | UTF-8 |
| NeedsCompilation: | yes |
| Packaged: | 2026-04-22 08:45:24 UTC; mavatam |
| Author: | Manu Tamminen |
| Repository: | CRAN |
| Date/Publication: | 2026-04-28 18:40:02 UTC |
Prider
Description
Implementation of an oligonucleotide primer and probe design algorithm using a linearly scaling approximation of set coverage. A detailed description available at Smolander and Tamminen, 2021; doi:10.1101/2021.09.06.459073.
Prepare a nearly optimal primer coverage for an input FASTA file.
Usage
prider(
fasta_file,
primer_length = 20,
minimum_primer_group_size = 10,
minimum_seq_group_size = 2,
cum_cov_decimals = 2,
NTkeep = "basic",
GCcheck = FALSE,
GCmin = 0.4,
GCmax = 0.6,
GChalves = FALSE,
GCsimilarity = 0.1
)
## S3 method for class 'prider'
print(x, ...)
## S3 method for class 'prider'
plot(x, ...)
Arguments
fasta_file |
A string. Name or filepath of the input FASTA file. |
primer_length |
A number. Sets the primer length. For applications involving two adjacent probes, the value should be set to two-fold the length of a single probe. |
minimum_primer_group_size |
A number. Sets the minimum number of primers per primer cluster; smaller primer clusters will be discarded. |
minimum_seq_group_size |
A number. Sets the minimum number of sequences each primer cluster has to cover. |
cum_cov_decimals |
A number. Sets the number of decimals for cumulative coverage of primer clusters. Generally, lower value corresponds to less clusters and higher value to more clusters in the output. If the clusters do not cover the input sequences sufficiently, increasing this value may increase the coverage. If the clusters overlap too much, lowering the value may reduce this effect. Recommended range 1-4. |
NTkeep |
A string. Filters the primers based on the nucleotides. |
GCcheck |
A logical. If TRUE, checks the GC contents of the primers and filters based on GCmin and GCmax. |
GCmin |
A decimal. If GCcheck is performed, this parameter determines the minimum proportional GC content. |
GCmax |
A decimal. If GCcheck is performed, this parameter determines the maximum proportional GC content. |
GChalves |
A logical. If TRUE, checks the GC contents separately for both halves of the primers and filters based on GCsimilarity. Used for example for applications involving two adjacent probes. |
GCsimilarity |
A decimal. If GChalves is performed, this parameter determines the maximum proportional GC content difference between the primer halves. |
x |
An object from prider function. |
... |
Other arguments. |
Value
A list containing a sequence conversion table, primer candidates table, excluded sequences table and a primer coverage table.
Author(s)
Manu Tamminen <mavatam@utu.fi>, Niina Smolander <nijasm@utu.fi>
See Also
Useful links:
Examples
test_fasta <- system.file('extdata', 'test.fasta', package = 'prider')
# Runs Prider with the default values:
primer_designs <- prider(test_fasta)
# Returns all the primers:
primers(primer_designs)
# Returns the primers of a specific primer group:
primers(primer_designs)[1]
# Returns all the sequences:
sequences(primer_designs)
# Returns the sequence of a specific Id:
sequences(primer_designs)[1]
# Plots the primers groups and the target sequences as a heatmap:
plot(primer_designs)
chunker
Description
Creates all primer candidates for a group of sequences using a sliding window.
Usage
chunker(seq_table, window_size = 20L)
Arguments
seq_table |
A DataFrame containing a column for sequence ids (Id) and sequences (Seq). |
window_size |
An integer. Set the sliding window width. |
Details
Sliding window to create chunks of DNA sequences
Value
A DataFrame containing columns for the sequence ids (Id), indexes (Ix), joined ids and indexes (Id_Ix), and the primer sequences (Seq).
Examples
test_csv <- system.file("extdata", "test.csv", package = "prider")
test_csv <- read.csv(test_csv)
chunks <- chunker(test_csv)
new_prider
Description
new_prider
Usage
new_prider(x = list())
Arguments
x |
A list |
Value
A prider object
new_primers
Description
Primers object constructor
Usage
new_primers(x)
Arguments
x |
A tibble |
Value
A primers object
new_sequences
Description
Sequences object constructor
Usage
new_sequences(x)
Arguments
x |
A tibble |
Value
A sequences object
Prepare a primer table for downstream analyses
Description
Prepare a primer table for downstream analyses
Usage
prepare_primer_df(
input_fasta,
primer_length = 20,
NTkeep = "basic",
GCcheck = FALSE,
GCmin = 0.4,
GCmax = 0.6,
GChalves = FALSE,
GCsimilarity = 0.1
)
Arguments
input_fasta |
A string. Name or filepath of the input FASTA file. |
primer_length |
A number. Sets the primer length. For applications involving two adjacent probes, the value should be set to two-fold the length of a single probe. |
NTkeep |
A string. Filters the primers based on the nucleotides. |
GCcheck |
A logical. If TRUE, checks the GC contents of the primers and filters based on GCmin and GCmax. |
GCmin |
A decimal. If GCcheck is performed, this parameter determines the minimum proportional GC content. |
GCmax |
A decimal. If GCcheck is performed, this parameter determines the maximum proportional GC content. |
GChalves |
A logical. If TRUE, checks the GC contents separately for both halves of the primers and filters based on GCsimilarity. For example for applications involving two adjacent probes. |
GCsimilarity |
A number. If GChalves is performed, this parameter determines the maximum proportional GC content difference between the primer halves. |
Value
A list containing sequence id conversions, primer matrix and a list of primers with their target sequences.
primers
Description
Definitions for the S3 methods for the primers classes
Usage
primers(prider_obj)
## Default S3 method:
primers(prider_obj)
## S3 method for class 'prider'
primers(prider_obj)
## S3 method for class 'primers'
print(x, ...)
## S3 method for class 'primers'
primer_obj[ix]
Arguments
prider_obj |
An object from prider function. |
x |
An object from sequence function. |
... |
Other arguments. |
primer_obj |
An object from sequence function. |
ix |
A number. The number of the primer cluster. |
Value
primer_obj
Examples
test_fasta <- system.file('extdata', 'test.fasta', package = 'prider')
primer_designs <- prider(test_fasta)
primers(primer_designs)
primers(primer_designs)[1]
sequences
Description
Definitions for the S3 methods for the sequences classes
Usage
sequences(prider_obj)
## Default S3 method:
sequences(prider_obj)
## S3 method for class 'prider'
sequences(prider_obj)
## S3 method for class 'sequences'
print(x, ...)
## S3 method for class 'sequences'
sequence_obj[ix]
Arguments
prider_obj |
An object from prider function. |
x |
An object from sequence function. |
... |
Other arguments. |
sequence_obj |
An object from sequence function. |
ix |
A number. The number of the primer cluster. |
Value
sequence_obj
Examples
test_fasta <- system.file('extdata', 'test.fasta', package = 'prider')
primer_designs <- prider(test_fasta)
sequences(primer_designs)
sequences(primer_designs)[1]