Pure. One row per requested variant, in the order asked.
Arguments
- body
A parsed VEP response, an array of elements.
- keys
Variant keys from
vep_key(), in the order asked.
Value
A tibble with one row per entry in keys: a key column, the
columns of vep_parse_element(), then those of vep_parse_colocated().
Matched by identity, not by position
VEP does not promise that results come back in the order they were sent.
Zipping the response onto the input by index therefore assigns consequences
to the wrong variants, silently. Elements are matched on the key built from
the echoed input line, which is the exact string that was sent.
Indels are renumbered
VEP left-trims and renumbers an indel, so the start and allele_string it
reports do not rebuild the key the caller asked with. An insertion sent as
1 55516888 . T TA . . . comes back as start 55516889 and -/A, and a
delins can come back re-anchored in vcf_string too. The echoed input is
the identity that survives, so it is matched first, then vcf_string, and
the rebuilt key only for a response carrying neither.
References
McLaren et al. (2016). The Ensembl Variant Effect Predictor. Genome Biology 17, 122. doi:10.1186/s13059-016-0974-4
Service documentation: https://rest.ensembl.org/