Tag Predation

Tag predation is the transferal of an active tag from a tagged study fish to a predator. Tag predation is problematic when consumed tags continue to be detected and the movements of the predator are included in the detection history, providing misleading information on the state and behavior of the study subject. Methods are needed to filter the telemetry data set to remove predator detections (“predator filter”).

This project developed a Standard Operating Procedure (SOP) for diagnosing and handling tag predation in acoustic telemetry studies of emigrating juvenile salmonids. The focus is on studies in the Sacramento–San Joaquin River Delta of California, but the methods developed are adaptable to other systems.

Several resources are provided below:

  • a resource guide on tag predation (Kelley et al. 2022), including a literature review, annotated bibliography, and glossary,
  • a Standard Operating Procedure (Buchanan et al. 2025), and
  • the "Delta Predator Filter" (aka "DPF") R Package, which implements the recommended methods and includes sample smolt data and predator reference data.

More information is available at: Tag Predation SOP for the Sacramento–San Joaquin River Delta.

Users may also refer to this presentation: Standard Operating Procedure for Diagnosing and Addressing Predator Detections in Salmon Telemetry Data (May 7, 2025 – Delta Research Awards Seminar: Migratory Fishes).

Instructions on installing the 'DPF' R Package

  1. Download the binary version of the package - it will be downloaded as a .zip file.
  2. Open a new R session.
  3. Enter the command utils:::menuInstallLocal() into the R console and then navigate to the file that was downloaded (Note: do not unzip the file beforehand).
  4. Ensure that all the CRAN packages on which 'DPF' depends are installed by entering the following lines of code:

    req_pkgs <- c('dplyr', 'eulerr', 'ggplot2', 'lubridate', 'magrittr', 'mclust', 'plyr', 'riverdist','rospca', 'rrapply', 'reshape2', 'rlang', 'sf', 'sp', 'tidyverse', 'tidyr', 'terra')

    missing_pkgs <- req_pkgs[!req_pkgs %in% installed.packages()]

    install.packages(missing_pkgs,quiet=TRUE)

    rm(list = c("req_pkgs","missing_pkgs"))

  5. Load the 'DPF' package into the R environment by entering: library(DPF)
  6. At this point, users can access a list of instructional vignettes by entering: browseVignettes(“DPF”)