SPACER
FinderSequencesJobsDocsContact

Search documentation

Search all SPACER documentation pages

GitHub
IntroductionQuick Start
OverviewEnzyme FamiliesPAM SequencesNomenclature
Cas12 FinderCas13 FinderMSA Guide DesignBADGERS OptimizerOptimizer Configuration
Assay ScoreHeuristic QualityML ActivitySpacer StructurePrimer ScoringCoverage & SpecificityTier SystemFlags Reference
spacer-webv0.1.0
Scoring & Quality›Assay Score

Assay Score

A 9-component weighted composite score for ranking complete CRISPR diagnostic assay designs.

Overview

The assay score is SPACER's primary ranking metric. It combines ML activity prediction, sequence heuristics, RNA structure analysis, primer thermodynamics, amplicon fit, variant coverage, and specificity into a single normalized score on a 0.0–1.0 scale (higher is better).

Each of the 9 components is independently normalized to the [0, 1] range, then multiplied by its weight. The final score is the sum of all weighted components, re-normalized so that only active components contribute. This ensures the score always uses the full range regardless of which pipeline stages are enabled.

Score Interpretation

RangeTierInterpretation
> 0.8ExcellentStrong assay candidate across all active components
0.6 – 0.8GoodSolid candidate, may have minor trade-offs in one area
0.4 – 0.6AcceptableReview individual component scores for weak spots
< 0.4PoorLikely has significant issues in one or more components

Components

All 9 components follow the "higher is better" convention. Components that were not computed (e.g., no primer design, no genome index) are set to 0.0 and their weights are redistributed to active components.

ComponentDefault WeightDescriptionWhen Active
ml_activity0.30ML-predicted on-target activity, normalized via ml_activity_rangeML predictor enabled (EasyDesign or ADAPT)
heuristic_quality0.10GC content + homopolymer + PFS preference (enzyme-specific weighting)Always active
spacer_structure0.10RNA structure freedom: 1.0 − MFE penalty, blended with seed accessibilityStructure predictor enabled
primer_thermo0.10Primer thermodynamic quality: inverted pair penalty, min-max normalized across batchPrimer design enabled
primer_structure0.10Primer secondary structure freedom: 1.0 − worst ΔG penalty (hairpin/dimer)Primer design enabled + ntthal ΔG data available
amplicon_fit0.05Proximity to optimal amplicon size (1.0 at optimal, ≥0.5 within valid range)Primer design enabled
coverage0.25Fraction of target variants the guide hits (from MSA alignment)MSA target data provided
genome_specificity0.001 − hit ratio against host genome indexGenome screening index provided
msa_specificity0.00Cross-reactivity specificity against non-target MSANon-target MSA alignments provided

Weight Presets

SPACER provides three built-in weight presets. All presets sum to 1.0.

default()

The standard preset for CRISPR diagnostic assay design. Balances ML activity (0.30) and variant coverage (0.25) as the strongest signals, with moderate weight on primers, structure, and heuristics. Specificity components are zeroed by default and must be activated explicitly.

ml_activityheuristicstructureprimer_thermoprimer_structampliconcoveragegenome_specmsa_spec
0.300.100.100.100.100.050.250.000.00

with_specificity()

Rebalances weights to accommodate genome and MSA specificity. Use this preset when you have a host genome index and/or non-target alignments and want off-target risk factored into ranking.

ml_activityheuristicstructureprimer_thermoprimer_structampliconcoveragegenome_specmsa_spec
0.250.080.080.100.100.040.200.080.07

for_optimizer()

Tuned for BADGERS optimizer spacers. The optimizer's fitness already incorporates ML predictions across all target variants, so ml_activity gets higher weight (0.35) while heuristic_quality is reduced (0.05) since the optimizer implicitly penalizes poor-quality sequences. Uses a narrower ml_activity_range of (2.0, 4.0) because optimizer fitness values cluster in that band.

ml_activityheuristicstructureprimer_thermoprimer_structampliconcoveragegenome_specmsa_spec
0.350.050.100.100.100.050.250.000.00

Inactive Components & Weight Redistribution

When a component is absent (its data source was not provided), its weight is set to 0.0. The remaining active weights are then scaled proportionally so they sum to 1.0:

effective_weight = original_weight / sum(active_weights)

For example, with only ml_activity (0.30) and heuristic_quality (0.10) active, the effective weights become 0.75 and 0.25 respectively. This ensures guides are always scored on a full 0–1 scale regardless of pipeline configuration.

ML Activity Penalty

After the weighted sum, a multiplicative penalty is applied when the ML model predicts near-zero activity. A guide the model predicts won't cleave is experimentally useless regardless of primer, coverage, or structure quality.

  • Raw activity ≥ 0.5: no penalty applied
  • Raw activity 0.0: score multiplied by 0.25 (75% reduction)
  • Linear ramp between these thresholds
  • No penalty when ML prediction is absent
Info
The assay score replaces the older additive composite score system (0–100 scale). The new system uses normalized components with proportional weight redistribution, providing more consistent ranking across different pipeline configurations. See Heuristic Quality, AI Activity Prediction, Spacer Structure, Primer Scoring, and Coverage & Specificity for details on individual components.
Guide Design
Optimizer Configuration
Scoring & Quality
Heuristic Quality
ATCG GCTA TACG CGAT ATCG TAGC GCTA ATCG TACG CGAT ATCG GCTA TACG CGAT ATCG TAGC GCTA ATCG TACG CGAT ATCG GCTA TACG CGAT ATCG TAGC GCTA ATCG TACG CGAT ATCG GCTA TACG CGAT ATCG TAGC GCTA ATCG TACG CGAT ATCG GCTA TACG CGAT ATCG TAGC GCTA ATCG TACG CGAT ATCG GCTA TACG CGAT ATCG TAGC GCTA ATCG TACG CGAT ATCG GCTA TACG CGAT ATCG TAGC GCTA ATCG TACG CGAT ATCG GCTA TACG CGAT ATCG TAGC GCTA ATCG TACG CGAT
SPACER

Open-source CRISPR guide RNA design and scoring for Cas12 and Cas13 diagnostic systems.

Resources
FinderDocumentationChangelogContactGitHub
Developed atFiocruz Parana — Instituto Carlos Chagas

Fundacao Oswaldo Cruz - Parana

Instituto Carlos Chagas

© 2026 SPACER·v0.1.0
hwalflorGitHub