SNPAssayR provides offline R functions and an optional local Shiny interface for CAPS, single-substitution dCAPS, conventional ARMS-PCR and tetra-primer ARMS-PCR.
library(SNPAssayR)
# Requires already installed optional shiny and bslib packages.
# Launch interactively; no remote analysis service is used.
SNPAssayR::run_app()In the application: import a sequence or FASTA text/file, select an exact FASTA record, provide a one-based biallelic SNP, choose a method, configure constraints, and click Analyze. Inspect candidate evidence and linked plots before export. Changing analytical inputs invalidates the old analysis; restoring an input does not restore an old result. Analyze again. Supplied copies are screened locally; genome-wide specificity remains unassessed.
Core functions need only R. The interface needs shiny >=1.8.0 and bslib >=0.6.1; testthat is optional for installed tests. No automatic dependency installation, mandatory remote server, GPU, large reference genome or external binary is used.
# Artificial coordinate fixture, not biological data or laboratory primer advice.
s <- validate_snp(read_locus("ACGTTGAATTCAAAAAAGTC", "fixture"), 6, "G", "A")
x <- design_caps(s, restriction_enzymes()[1, , drop = FALSE],
primer_lengths = 3, product_min = 20, product_max = 20,
gc_range = c(0, 1), tm_range = c(-250, 100),
max_tm_difference = 100, screening_mismatches = 0)
x$summary
rank_assays(x)$componentsThe main teaching example uses one 550 bp synthetic locus, SNP C275G, and 22 nt primers for all four workflows, with normal quality filters:
source(system.file("examples", "tutorial_550bp.R", package = "SNPAssayR"))
tutorial_primers[, c("method", "role", "sequence_5prime_to_3prime", "tm_celsius")]
tutorial_assays$tetra$candidates[[1]]$intended_products
draw_scene(assay_scene(tutorial_assays$tetra))
draw_scene(band_scene(tutorial_assays$caps))The FASTA is installed at
system.file("extdata", "tutorial_550bp.fasta", package = "SNPAssayR").
Shiny provides the same four 550 bp teaching presets. The locus and SNP
are synthetic, and the assays have no laboratory validation. CAPS with
MfeI-HF gives an uncut 120 bp reference and 18 + 102 bp alternative;
dCAPS with EcoRI reverses these patterns through an intentional C270G
edit. Conventional ARMS uses separate 120 bp reactions; tetra-primer
ARMS has modeled 180 bp control, 100 bp reference and 123 bp alternative
products. Small-fragment visibility and gel separation require
experimental assessment. The bounded tutorial returns one candidate per
method; inspect search truncation and warnings. Use
primer_lengths = 20:22 for a broader length search.
restriction_enzymes() supplies 20 independently curated
distinct recognition motifs, with both strand cuts and dated source
links. User tables must follow its schema and the supported
palindromic/internal-cut model; no online import occurs. Known
homeologs/paralogs can be supplied as named DNA strings through
read_locus(..., comparison_sequences = c(copy1 = "...")).
Replace the placeholder with actual sequences. Genome-wide specificity
remains unassessed.
Use citation("SNPAssayR") for the software citation,
including version 1.0.1.
For tetra-primer designs, product-size bounds apply to the outer control and both diagnostic products. Its six pairwise risk screens separately cover 1-10,000 bp.
Read
vignette("SNPAssayR-workflows", package = "SNPAssayR") for
tested examples of all four workflows, prediction boundaries and
reproducible exports. Full methods are installed under
system.file("methods", package = "SNPAssayR"). All exported
functions have R help pages.
Only case and whitespace are normalized and recorded. Ambiguous IUPAC bases are retained. SNP alleles must be distinct uppercase A/C/G/T and match the reference coordinate. Limits: 10,000 bases per sequence, 50 FASTA records, 50 named copies. No indels, multiallelic variants or concatenation of FASTA records is supported.
Predicted amplification is conditional sequence compatibility, not experimental validation. Target specificity and allele specificity are separate. Complete digest fragments are theoretical; digestion efficiency is unknown. Plots have no validated intensity/detection model. Ranking scores express explicit laboratory preferences, not success probabilities. Search truncation and missing evidence are retained. No KASP design is included.
Authors: Prashant Yadav, Vinod Kumar and Vijay Veer Singh. Maintainer: Prashant Yadav prashantnduat@gmail.com. All authors are affiliated with the ICAR-Indian Institute of Rapeseed-Mustard Research, Bharatpur, Rajasthan, India. Copyright holder: ICAR-Indian Institute of Rapeseed-Mustard Research (ICAR-IIRMR). License: GPL-3. Contributions are recorded in DESCRIPTION and installed COPYRIGHTS. Predictions require independent laboratory validation.