Skip to contents

Match exact STR profiles between bloodmeals and humans. Note that bloodmeal peak height threshold is optional here because it is only used for filtering. Also note that if rm_twins = FALSE, then a match to a twin will result in multiple rows returned for that bloodmeal.

Usage

match_exact(
  bloodmeal_profiles,
  human_profiles,
  bloodmeal_ids = NULL,
  human_ids = NULL,
  peak_thresh = NULL,
  rm_twins = TRUE,
  rm_markers = NULL
)

Arguments

bloodmeal_profiles

Tibble or data frame with alleles for all bloodmeals in reference database including 4 columns: SampleName, Marker, Allele, Height. Height must be numeric or coercible to numeric.

human_profiles

Tibble or data frame with alleles for all humans in reference database including three columns: SampleName, Marker, Allele.

bloodmeal_ids

Vector of bloodmeal ids from the SampleName column in bloodmeal_profiles for which to compute log10_lrs. If NULL, all ids in the input dataframe will be used. Default: NULL

human_ids

Vector of human ids from the SampleName column in human_profiles for which to compute log10_lrs. If NULL, all ids in the input dataframe will be used. Default: NULL

peak_thresh

Allele peak height threshold in RFUs. All peaks under this threshold will be filtered out. If prior filtering was performed, this number should be equal to or greater than that number. Also used for threshT argument in euroformix::contLikSearch().

rm_twins

A boolean indicating whether or not to remove likely twins (identical STR profiles) from the human database prior to identifying matches. Default: TRUE

rm_markers

A vector indicating what markers should be removed prior to calculating log10LRs. NULL to include all markers. By default, for the bistro function AMEL is removed as it is not standard to include it in LR calculations.

Value

Dataframe with three columns:

  • bloodmeal_id: bloodmeal ID

  • human_id: human ID of match (or NA)

  • match: whether or not a match was identified (yes or no)

Examples

match_exact(bloodmeal_profiles, human_profiles)
#> # A tibble: 4 × 3
#>   bloodmeal_id human_id match
#>   <chr>        <chr>    <chr>
#> 1 evid1        NA       no   
#> 2 evid2        NA       no   
#> 3 evid3        NA       no   
#> 4 evid4        NA       no