pub struct OligoSettings {Show 26 fields
pub opt_size: usize,
pub min_size: usize,
pub max_size: usize,
pub opt_tm: f64,
pub min_tm: f64,
pub max_tm: f64,
pub opt_bound: f64,
pub min_bound: f64,
pub max_bound: f64,
pub opt_gc_content: f64,
pub min_gc: f64,
pub max_gc: f64,
pub conditions: SolutionConditions,
pub max_self_any: f64,
pub max_self_end: f64,
pub max_self_any_th: f64,
pub max_self_end_th: f64,
pub max_hairpin_th: f64,
pub max_repeat_compl: f64,
pub max_template_mispriming: f64,
pub max_template_mispriming_th: f64,
pub must_match_five_prime: Option<String>,
pub must_match_three_prime: Option<String>,
pub num_ns_accepted: usize,
pub max_poly_x: usize,
pub weights: OligoWeights,
}Expand description
Settings for an individual primer or internal oligo.
Controls constraints on size, Tm, GC content, self-complementarity, etc.
Primer-only fields (ignored for internal oligos):
max_end_stability, max_template_mispriming, max_template_mispriming_th
Internal-oligo-only fields (ignored for primers):
none currently – all fields apply to both, though some constraints may
not be meaningful for probes (e.g., max_poly_x is often relaxed).
Fields§
§opt_size: usizeOptimal primer length in bp (default: 20).
min_size: usizeMinimum primer length in bp (default: 18).
max_size: usizeMaximum primer length in bp (default: 27). Note: primer3-py defaults to 25; we follow the C library v2 default of 27.
opt_tm: f64Optimal melting temperature in Celsius (default: 60.0).
min_tm: f64Minimum melting temperature in Celsius (default: 57.0).
max_tm: f64Maximum melting temperature in Celsius (default: 63.0).
opt_bound: f64Optimal fraction of primers bound at annealing temp (default: 0.0, unset).
min_bound: f64Minimum bound fraction (default: 0.0).
max_bound: f64Maximum bound fraction (default: 0.0, unset).
opt_gc_content: f64Optimal GC content as percentage (default: 50.0).
min_gc: f64Minimum GC content as percentage (default: 20.0).
max_gc: f64Maximum GC content as percentage (default: 80.0).
conditions: SolutionConditionsSalt and buffer concentrations for Tm calculations.
max_self_any: f64Maximum self-complementarity score (default: 8.0).
max_self_end: f64Maximum 3’ self-complementarity score (default: 3.0).
max_self_any_th: f64Maximum self-complementarity (thermodynamic) in cal/mol (default: 47.0).
max_self_end_th: f64Maximum 3’ self-complementarity (thermodynamic) in cal/mol (default: 47.0).
max_hairpin_th: f64Maximum hairpin stability (thermodynamic) in cal/mol (default: 47.0).
max_repeat_compl: f64Maximum repeat library complementarity (default: 12.0).
max_template_mispriming: f64Maximum template mispriming score (default: 12.0).
max_template_mispriming_th: f64Maximum template mispriming (thermodynamic) (default: 47.0).
must_match_five_prime: Option<String>IUPAC pattern that the 5’ end of the primer must match (e.g., “NNNNN”).
Length must be exactly 5 characters. None means no constraint.
must_match_three_prime: Option<String>IUPAC pattern that the 3’ end of the primer must match.
Length must be exactly 5 characters. None means no constraint.
num_ns_accepted: usizeMaximum number of Ns accepted in a primer (default: 0).
max_poly_x: usizeMaximum homopolymer length (default: 5).
weights: OligoWeightsPenalty weights for scoring this oligo type.
Trait Implementations§
Source§impl Clone for OligoSettings
impl Clone for OligoSettings
Source§fn clone(&self) -> OligoSettings
fn clone(&self) -> OligoSettings
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more