| Title: | Multiplexed Primer Design by Linear Set Coverage Approximation |
|---|---|
| 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>. |
| Authors: | Manu Tamminen [aut, cre] (ORCID: <https://orcid.org/0000-0001-5891-7653>), Niina Smolander [aut] (ORCID: <https://orcid.org/0000-0003-4329-4785>) |
| Maintainer: | Manu Tamminen <[email protected]> |
| License: | BSD_3_clause + file LICENSE |
| Version: | 1.0.6 |
| Built: | 2026-06-04 07:12:51 UTC |
| Source: | https://github.com/tamminenlab/prider |
Creates all primer candidates for a group of sequences using a sliding window.
chunker(seq_table, window_size = 20L)chunker(seq_table, window_size = 20L)
seq_table |
A DataFrame containing a column for sequence ids (Id) and sequences (Seq). |
window_size |
An integer. Set the sliding window width. |
Sliding window to create chunks of DNA sequences
A DataFrame containing columns for the sequence ids (Id), indexes (Ix), joined ids and indexes (Id_Ix), and the primer sequences (Seq).
test_csv <- system.file("extdata", "test.csv", package = "prider") test_csv <- read.csv(test_csv) chunks <- chunker(test_csv)test_csv <- system.file("extdata", "test.csv", package = "prider") test_csv <- read.csv(test_csv) chunks <- chunker(test_csv)
new_prider
new_prider(x = list())new_prider(x = list())
x |
A list |
A prider object
Primers object constructor
new_primers(x)new_primers(x)
x |
A tibble |
A primers object
Sequences object constructor
new_sequences(x)new_sequences(x)
x |
A tibble |
A sequences object
Prepare a primer table for downstream analyses
prepare_primer_df( input_fasta, primer_length = 20, NTkeep = "basic", GCcheck = FALSE, GCmin = 0.4, GCmax = 0.6, GChalves = FALSE, GCsimilarity = 0.1 )prepare_primer_df( input_fasta, primer_length = 20, NTkeep = "basic", GCcheck = FALSE, GCmin = 0.4, GCmax = 0.6, GChalves = FALSE, GCsimilarity = 0.1 )
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. |
A list containing sequence id conversions, primer matrix and a list of primers with their target sequences.
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.
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, ...)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, ...)
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. |
A list containing a sequence conversion table, primer candidates table, excluded sequences table and a primer coverage table.
Manu Tamminen <[email protected]>, Niina Smolander <[email protected]>
Useful links:
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)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)
Definitions for the S3 methods for the primers classes
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]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]
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. |
primer_obj
test_fasta <- system.file('extdata', 'test.fasta', package = 'prider') primer_designs <- prider(test_fasta) primers(primer_designs) primers(primer_designs)[1]test_fasta <- system.file('extdata', 'test.fasta', package = 'prider') primer_designs <- prider(test_fasta) primers(primer_designs) primers(primer_designs)[1]
Definitions for the S3 methods for the sequences classes
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]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]
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. |
sequence_obj
test_fasta <- system.file('extdata', 'test.fasta', package = 'prider') primer_designs <- prider(test_fasta) sequences(primer_designs) sequences(primer_designs)[1]test_fasta <- system.file('extdata', 'test.fasta', package = 'prider') primer_designs <- prider(test_fasta) sequences(primer_designs) sequences(primer_designs)[1]