Returns x with every fixable value substituted by its suggestion: an invalid
value that maps to a successor or a well-formed alternative. Valid values,
invalid values with no suggestion, and missing values are returned unchanged,
so the result is the same length and order as x. It is designed to drop into
dplyr::mutate().
Usage
repair_id(
x,
source_db,
how = "pattern",
species = NULL,
version = NULL,
refresh = FALSE,
on_error = "raise"
)Arguments
- x
A vector of identifiers. Coerced to character.
- source_db
Source key, for example
"mondo". Seesources().- how
Checking mode:
"pattern"(offline, shape only),"cache"(offline existence against a snapshot),"remote"(live existence against the source API), or"existence"(cache when a snapshot is available forversion, otherwise remote, or pattern for a source with no resolver).- species
Optional species context, echoed in the result. A name such as
"homo_sapiens"or an NCBI taxon id such as9606. When given, an id of a different species is invalid: Ensembl is checked from its id prefix (inpatternandremotemodes), and UniProt from the entry's organism inremotemode. A species outside the source map is not checked.- version
Snapshot version. In
cachemode it selects the snapshot and defaults to the latest installed one when omitted; it selects the snapshot forexistencemode; ignored inpatternandremotemodes.- refresh
In remote checks, skip any cached response and refetch. Ignored by the offline modes.
- on_error
How a per-id remote failure is handled.
"raise"(the default) lets the failure unwind the whole call."indeterminate"leaves just that idNAwith the reason in itserrorcolumn and checks the rest of the batch, so one unreachable id does not lose the others. Ignored by the offline modes.
Examples
repair_id(c("MONDO:0005148", "mondo:5148"), "mondo")
#> [1] "MONDO:0005148" "MONDO:0005148"