Electric stealth through bidirectional signal suppression in electric eels and their knifefish prey
Data files
Mar 06, 2026 version files 10.86 MB
-
dataset_1_eel_swim_speed.csv
225 B
-
dataset_10_bursts_EOD_count_distribution.csv
1.97 KB
-
dataset_11_burst_emission_structure.csv
11.08 KB
-
dataset_2_e_loretana_movement.csv
4.44 MB
-
dataset_3_g_rondoni_movement.csv
5.83 MB
-
dataset_4_nightly_detection_total.csv
3.66 KB
-
dataset_5_wild_g_rondoni_switchoff_probability.csv
175.22 KB
-
dataset_6_wild_g_rondoni_switchoff_duration.csv
2.43 KB
-
dataset_7_playback_PSD.csv
183.20 KB
-
dataset_8_lab_g_rondoni_playback_experiment.csv
17.14 KB
-
dataset_9_electrolocation_occurance.csv
29.34 KB
-
README.md
11.51 KB
-
script_1_EOD_logger_detection.R
88.47 KB
-
script_2_knifefish_transit_rate.R
11.37 KB
-
script_3_eel_high_low_EOD_discrimination.R
22.53 KB
-
script_4_burst_structure.R
20.03 KB
-
script_5_playback_assembly.R
3.20 KB
-
script_6_PSD.R
3.95 KB
Abstract
Animals that use signal-based active location systems—electrolocation and echolocation—emit self-generated signals during foraging to sample their surroundings, but these signals are conspicuous to predators and prey. How such signals are modulated to balance sensory sampling against detection risk remains poorly understood. Both electric eels (Electrophorus) and their weakly electric knifefish prey are electroreceptive and generate electric organ discharges (EODs) that are essential for nocturnal foraging, yet mutually detectable. Using autonomous electric-signal loggers in an Amazonian stream, we recorded signaling interactions between wild electric eels and knifefish. We found that both predator and prey temporarily reduce detectability by pausing electric signaling. Knifefish respond to eel EODs by evasive movements or by switching off their own EODs until the threat subsides. Laboratory-based playback experiments showed that EOD switch-off behavior is phylogenetically widespread among knifefish with pulse-type discharges and driven primarily by the low-frequency energy of eel EODs. In turn, electric eels frequently pause low-voltage electrolocation EODs during hunting, allowing them to approach electroreceptive prey with reduced detectability. During these silent intervals, eels forgo active electrolocation, likely relying instead on mechanoreception and passive electroreception. Electrolocation resumes immediately after emitting a high-voltage predatory burst—used for attack or probing—when prey localization outweighs the benefits of concealment. This bidirectional suppression of electric signaling parallels acoustic stealth dynamics in killer whales and their echolocating odontocete prey, and mirrors alternating active–passive strategies used by human sonar and radar operators—revealing convergent solutions to the challenge of signals that are essential yet intrinsically conspicuous.
Dataset DOI: 10.5061/dryad.1ns1rn95w
Description of the data and file structure
This repository includes R scripts (.R files) for analyzing electric signal recordings from passive electric signal loggers, performing power spectral density (PSD) analyses of electric fish signals, and processing data from controlled playback experiments. Data files are provided in .csv format and consist of:
- Measurements of swim speed in foraging electric eels.
- Transit rates (i.e., movements past loggers) for two electric knifefish species, Eigenmannia loretana and Gymnorhamphichthys rondoni.
- Electric organ discharge (EOD) switch-offs in G. rondoni recorded by loggers.
- Power spectral density data for signals used in playback experiments.
- Responses of G. rondoni to playback stimuli in laboratory experiments.
- Temporal occurrence of electrolocation EOD pulses from electric eels in logger recordings.
- Structure of high-voltage EOD bursts from electric eels in logger recordings.
Files and variables
File: script_1_EOD_logger_detection.R
Description: R-script for detecting eel and knifefish occurrences in logger recordings.
File: script_2_knifefish_transit_rate.R
Description: R-script for calculating knifefish transit rates in logger recordings.
File: script_3_eel_high_low_EOD_discrimination.R
Description: R-script for discriminating high-voltage from low-voltage electric eel EODs in logger recordings.
File: script_4_burst_structure.R
Description: R-script for analyzing the structure of high-voltage electric eel bursts.
File: script_5_playback_assembly.R
Description: R-script for EOD playback sequence assembly.
File: script_6_PSD.R
Description: R-script for power spectral density (PSD) analyses.
File: dataset_1_eel_swim_speed.csv
Description: Dataset of electric eel swim speed.
Variables:
- observation_id = Identification number of the observation.
- distance_traversed (m) = Distance the eel traversed during the observation, in meters.
- duration (s) = Time taken for the eel to traverse the corresponding distance, in seconds.
- swim_speed (m/s) = Swim speed of the eel, calculated from distance_traversed and duration, in meters per second.
File: dataset_2_e_loretana_movement.csv
Description: Eigenmannia loretana transit data (analyzed in GLMM 1A).
Variables:
- datetime = Time stamp (date and time) of the observation in one-minute intervals, in MM/DD/YY hh:mm format.
- logger_id = Identity of the logger (1–6).
- loretana_transit = Number of Eigenmannia loretana transits within the time-stamped one-minute interval. Typically ranges from 1 to 3, occasionally 4 due to rounding.
- eel_EOD_presence_instant = Presence or absence of eel EODs within the time-stamped one-minute interval, without time shift. 0 = no eel EODs; 1 = eel EODs present.
- eel_EOD_presence_lead1 = Values from eel_EOD_presence_instant shifted one minute into the past (one row up).
- eel_EOD_presence_lead2 = Values from eel_EOD_presence_instant shifted two minutes into the past (two rows up).
- eel_EOD_presence_lead15 = Values from eel_EOD_presence_instant shifted 15 minutes into the past (15 rows up).
- eel_EOD_presence_lag1 = Values from eel_EOD_presence_instant shifted one minute into the future (one row down).
- eel_EOD_presence_lag2 = Values from eel_EOD_presence_instant shifted two minutes into the future (two rows down).
- eel_EOD_presence_lag15 = Values from eel_EOD_presence_instant shifted 15 minutes into the future (15 rows down).
File: dataset_3_g_rondoni_movement.csv
Description: Gymnorhamphichthys rondoni transit data (analyzed in GLMM 1B).
Variables:
- datetime = Time stamp (date and time) of the observation in one-minute intervals, in MM/DD/YY hh:mm format.
- timestamp = Sequence number of the observation, ranging from 1 to 17,820. The sequence is continuous within each logger but separate between loggers.
- logger_id = Identity of the logger (1–6).
rondoni_transit = Number of Gymnorhamphichthys rondoni transits within the time-stamped one - minute interval. Typically ranges from 1 to 3, occasionally 4 due to rounding.
- eel_EOD_presence_instant = Presence or absence of eel EODs within the time-stamped one-minute interval, without time shift. 0 = no eel EODs; 1 = eel EODs present.
- eel_EOD_presence_lead1 = Values from eel_EOD_presence_instant shifted one minute into the past (one row up).
- eel_EOD_presence_lead2 = Values from eel_EOD_presence_instant shifted two minutes into the past (two rows up).
- eel_EOD_presence_lead15 = Values from eel_EOD_presence_instant shifted 15 minutes into the past (15 rows up).
- eel_EOD_presence_lag1 = Values from eel_EOD_presence_instant shifted one minute into the future (one row down).
- eel_EOD_presence_lag2 = Values from eel_EOD_presence_instant shifted two minutes into the future (two rows down).
- eel_EOD_presence_lag15 = Values from eel_EOD_presence_instant shifted 15 minutes into the future (15 rows down).
- measured_moonlight_(lux)_natural_log = Measured moonlight illuminance in lux, with the natural logarithm applied.
File: dataset_4_nightly_detection_total.csv
Description: Number of knifefish (all species combined) and electric eel transits per night per logger.
Variables:
- logger_id = Identity of the logger (1–6).
- date = The day when nightly recordings began, in MM/DD/YY format.
- nightly_minutes_with_knifefish_detected = Number of minutes during the night containing knifefish EODs.
- nightly_minutes_with_eel_detected = Number of minutes during the night containing electric eel EODs.
File: dataset_5_wild_g_rondoni_switchoff_probability.csv
Description: Gymnorhamphichthys rondoni switch-offs (presence/absence) in logger recordings (analyzed in GLMM 2).
Variables
- datetime = Date and time of the observation in one-minute intervals, in MM/DD/YY hh:mm format.
- timestamp = Sequence number of the observation. The sequence is continuous within each G. rondoni individual but separate between individuals.
- logger_id = Identity of the logger (1–6).
- individual_id = Identity of the individual (fish_001 to fish_008).
- eel_EOD_presence = Presence or absence of eel EODs within the same one-minute interval. 0 = no eel EODs; 1 = eel EODs present.
- switch_off_presence = Presence or absence of G. rondoni EOD switch-offs within the same one-minute interval. 0 = no switch-offs; 1 = switch-offs present.
- switch_off_duration (s) = Duration of switch-offs in seconds, recorded only when EOD switch-offs are present.
File: dataset_6_wild_g_rondoni_switchoff_duration.csv
Description: Gymnorhamphichthys rondoni switch-offs (duration) in logger recordings (analyzed in GLMM 3).
Variables:
- eel_amplitude_normalized = Peak-to-peak amplitude of the eel EOD immediately preceding the G. rondoni switch-off, measured from logger .wav recordings and normalized between 0 and 1, where 1 represents the clipping level.
- switch_off_duration (s) = Duration of the G. rondoni EOD switch-off, in seconds.
- individual_id = Identity of the G. rondoni, defined by a unique combination of date and logger number (e.g., Aug_14_logger2).
File: dataset_7_playback_PSD.csv
Description: Power spectral density data for six playback EODs presented to Gymnorhamphichthys rondoni.
Variables:
- frequency (Hz) = Frequency in hertz.
- manipulated_eel_power (dB) = Power of a single manipulated eel EOD, in decibels.
- unmanipulated_eel_power (dB) = Power of a single unmanipulated eel EOD, in decibels.
- super_b_brevirostris_power (dB) = Power of a single super stimulus Brachyhypopomus brevirostris EOD, in decibels.
- super_g_rondoni_power (dB) = Power of a single super stimulus Gymnorhamphichthys rondoni EOD, in decibels.
- natural_b_brevirostris_power (dB) = Power of a single natural-amplitude Brachyhypopomus brevirostris EOD, in decibels.
- natural_g_rondoni_power (dB) = Power of a single natural-amplitude Gymnorhamphichthys rondoni EOD, in decibels.
File: dataset_8_lab_g_rondoni_playback_experiment.csv
Description: Gymnorhamphichthys rondoni switch-offs in response to seven playback sequences (analyzed in GLMM 4, 5, and 6). Each row represents one experimental trial.
Variables:
- individual_id = Identity of the G. rondoni individual (1 to 13).
- playback_type = Type of playback stimulus (7 types: unmanipulated_eel, manipulated_eel, b_brev_super, b_brev_natural, g_ron_super, g_ron_natural, silence) (see description for File: dataset_7_playback_PSD.csv for full description of the 7 playback stimulus types).
- switch_off_response = Presence or absence of EOD switch-off (yes or no).
- switch_off_duration (s) = Duration of the switch-off, if present, in seconds.
- switch_off_playback_amplitude = Playback amplitude at the beginning of the switch-off, if present. Amplitude is normalized between 0 and 1, where 1 represents the maximum amplitude at the end of the 30-second playback ramp.
File: dataset_9_electrolocation_occurance.csv
Description: Occurrence of electric eel electrolocation EODs in 15 s period before and after newly initiated high-voltage eel bursts.
Variables:
- file_name = The file name of the one-minute logger recording in which the newly initiated burst occurred.
- lead_15 to lead_1 = The 15-second period before the newly initiated burst, analyzed in individual 1-second bins. lead_1 corresponds to the 1-second bin immediately before the burst, while lead_15 corresponds to the 1-second bin 15 seconds before the burst. "n" indicates no eel electrolocation EODs emitted within that 1-second bin; "y" indicates at least one electrolocation EOD emitted within that bin.
- lag_1 to lag_15 = The 15-second period after the newly initiated burst, analyzed in individual 1-second bins. lag_1 corresponds to the 1-second bin immediately after the burst, while lag_15 corresponds to the 1-second bin 15 seconds after the burst. "n" indicates no eel electrolocation EODs emitted within that 1-second bin; "y" indicates at least one electrolocation EOD emitted within that bin.
File: dataset_10_bursts_EOD_count_distribution.csv
Description: Structure of high-voltage electric eel bursts: number of EODs per burst (all bursts considered). Each row represents a separate burst.
Variables:
- burst_EOD_count = Number of EODs constituting the burst.
File: dataset_11_burst_emission_structure.csv
Description: Structure of high-voltage electric eel bursts: Number of follow-up bursts in 30s after a newly initiated burst.
Variables:
- file_name = File name of the one-minute logger recording in which the newly initiated burst occurred.
- EOD_count_in_newly_initiated_burst = Number of EODs constituting the newly initiated burst.
- total_number_of_bursts = Total number of bursts within 30 seconds after a newly initiated burst, including the newly initiated burst and any follow-up bursts. If there are no follow-up bursts, the value is 1, corresponding to only the newly initiated burst.
Note: NA = Not applicable or missing data
