| clean | Yes | the oligos that broke no limit of their own AND appear in no flagged pair — the ones to order. An oligo is dropped from here for a partner's sake, which is the point of screening a POOL | |
| pairs | Yes | every unordered pair INCLUDING the self diagonal, with the any-position and 3'-end cross-dimer and which oligo's 3' end the reported end measure belongs to | |
| limits | Yes | the five primer3 cutoffs every verdict here was made against, and the settings file they come from — a verdict whose threshold is not stated is not checkable (§10a) | |
| flagged | Yes | only the oligos and pairs that broke a limit, with which limit — the list to act on. Empty is a real result and means every measure sat under primer3's cutoffs | |
| perOligo | Yes | per oligo: its hairpin, its self-dimer anywhere and its 3'-end self-dimer, each with ΔG, ΔH, ΔS, Tm, the limit it was graded against and whether it exceeds it — plus primer3's own drawing of the pairing, so a number can be checked rather than trusted | |
| conditions | Yes | the buffer every number here was computed in, including the values left at their default — so a result carries its own reaction rather than an unstated one | |
| provenance | Yes | which primer3 this engine IS, and which one a user comparing against primer3web or bioconda `ntthal` is holding. The two generations disagree on about 3% of primer-length oligos | |
| worstAnyTmC | Yes | the highest any-position dimer melting temperature in the set, self-dimers included | |
| worstEndTmC | Yes | the highest 3'-end dimer melting temperature in the set — the single number that predicts a primer-dimer band. Self-dimers count, because an oligo dimerising with itself makes a band too. 0 means no 3'-anchored alignment was found at all, not that the set is safe | |
| worstHairpinTmC | Yes | the highest hairpin melting temperature across the oligos — a hairpin melting above the annealing temperature competes with the template | |
| incompatibleCount | Yes | how many DISTINCT pairs broke a limit — the self diagonal excluded, because a single oligo's self-dimer is not a pair problem and counting it makes a one-oligo run report an incompatibility. Branch a workflow on this rather than re-deriving it from `pairs`; read `flagged` for the self-structures | |