
Orchestrate the full curation pipeline: dedup -> search -> map -> consensus -> resolution
Source:R/curation.R
run_curation_pipeline.RdOrchestrate the full curation pipeline: dedup -> search -> map -> consensus -> resolution
Usage
run_curation_pipeline(
clean_data,
column_tags,
progress_callback = NULL,
dedup_only = FALSE,
wqx_threshold = 0.85,
starts_with = FALSE,
pubchem = FALSE,
original_data = NULL,
desalt = FALSE,
ignored_identifier_cols = character(),
source_lookup_fn = source_identifier_lookup,
wqx_cas_lookup_fn = validate_and_lookup_cas
)Arguments
- clean_data
The cleaned data frame (data_store$clean)
Named list (col_name -> "Name"|"CASRN"|"Other")
- progress_callback
Optional function(stage, message) for reporting progress to Shiny
- dedup_only
If TRUE, return after dedup stage with just counts (for preview)
- wqx_threshold
Numeric WQX fuzzy matching threshold.
- starts_with
Logical. If TRUE, enables CompTox starts-with fallback search for names unresolved by exact, CAS, and WQX matching.
- pubchem
Logical. If TRUE, add exact-name PubChem candidates for unresolved rows without assigning DTXSIDs.
- original_data
Optional input rows used for the original name lookup.
- desalt
Logical. If TRUE, suggest parent names and DTXSIDs for unresolved salt names without assigning them. Independent of
pubchem.- ignored_identifier_cols
Deliberately unused identifier metadata columns.
- source_lookup_fn
Injectable authoritative source DTXSID details lookup.
- wqx_cas_lookup_fn
Injectable CAS lookup for canonical WQX dictionary evidence. Receives deduplicated valid CAS values and returns original_cas (or validated_cas), dtxsid, preferredName, and optional lookup_status. All hits remain review candidates; no candidate is selected or accepted. Statuses distinguish candidate, not_found, unavailable, missing, invalid, and ambiguous dictionary evidence. Independent of
pubchem. Mappedwqx_match_distanceis lossless 17-digit decimal text for portable evidence fingerprints; the matcher'smatch_distanceremains numeric.