Emergent periodical cicada nymphs use skototaxis to navigate to trees
Data files
Mar 10, 2026 version files 516.52 KB
-
cicada_bycicle_wheel_lines.py
3.05 KB
-
cicada_curve_fitting.py
30.79 KB
-
cicada_walks.py
40.27 KB
-
CicadaSkototaxis.qmd
6.30 KB
-
DirectedMovement.csv
4.16 KB
-
IndoorChoiceTest.csv
110 B
-
README.md
12.19 KB
-
RoleOfVision.csv
2.09 KB
-
SimulatedCicadaMovementTrajectories.csv
415.18 KB
-
TrajectoriesTVO.csv
2.39 KB
Abstract
After 13 or 17 years underground, fifth-instar periodical cicada nymphs must come aboveground to complete the final phase of their long life cycle: molting into adulthood. A successful molt requires each nymph to climb a vertical surface, typically at dusk or after dark, but it is unclear how the cicadas locate such surfaces. Observers have long noted the seemingly directional orientation of nymphs towards trees, and have speculated on possible mechanisms, including negative phototaxis, the use of topographic cues, random walks, or detection of mysterious ‘other waves’ emanating from trees, to account for this directed movement. Taking a hint from the behavior of tropical vine seedlings that grow towards tree trunks in the forest, we demonstrate that cicada nymphs, once above ground, quickly orient themselves towards the darkest sector of their visual environment, a movement response termed skototaxis. Cicada nymphs emerging from the rhizosphere of an isolated tree all walked more-or-less directly towards the trunk, regardless of initial compass direction or time of day, travelling a mean of only 15% further than the minimum distance required to reach the tree. In contrast, nymphs whose eyes and ocelli had been temporarily obscured wandered randomly and rarely reached the tree. In an indoor experiment, cicada nymphs in a dark room were significantly more likely to walk towards a dark target against a lighter background than a light target against a darker background. Our results demonstrate that cicada nymphs, like tropical vine seedlings, rely on movement towards darkness to quickly orient and reach their proximate destinations, a prerequisite to the well-studied adult phase of their life cycle.
Dataset DOI: 10.5061/dryad.fqz612k4x
Description of the data and file structure
- Dataset Title: Emergent periodical cicada nymphs use skototaxis to navigate to trees
Overview
- We quantified and formally described the movements of periodical cicadas (Magicicada septendecim and M. cassini) to evaluate the role of environmental stimuli on eliciting directed movement. This data set includes a) data gathered during the 2024 emergence of Brood XIII periodical cicadas in Northern Illinois, USA b) a null model of periodical cicada movement we parameterized using live cicada movement patterns, c) data generated by this model, and d) a script documenting statistical analyses.
Table of contents
Data files
- DirectedMovement.csv
- RoleOfVision.csv
- IndoorChoiceTest.csv
- SimulatedCicadaMovementTrajectories.csv
- TrajectoriesTVO.csv
Scripts
- cicada_walks.py (Phyton script)
- cicada_bycicle_wheel_lines.py (Phyton script)
- cicada_curve_fitting.py (Phyton script)
- CicadaSkototaxis.qmd (R script)
Files and variable
File: DirectedMovement.csv
Description: Movement paths of cicadas observed behind the Lilliard Science Complex on the Lake Forest College campus (Lake County, Illinois, USA; 42.2503° N, 87.8286° W).
Variables
- cicada_id (numeric): unique identifier (ID) of each cicada included in this study. ID's are consistent across all data tables in this dataset.
- date (time): Date (month/day/year) when observation occurred
- start (time): Time of day when observation started. Hours:minutes
- stop (time): Time of day when observation stopped. Hours:minutes
- duration (numeric): Number of minutes it took for the cicada to reach a tree. This is the difference between Start and Stop.
- sunset_time (numeric): Number of minutes before (negative values) or after (positive values) sunset.
- distance (numeric): Distance in centimeters travelled by each cicada from the starting point to a tree.
- speed (numeric): Cicada speed (cm/min). Ratio of duration and distance.
- direct_distance (numeric): Linear distance (cm) between the cicada starting point and the tree (end point).
- ratio (numeric): distance divided by stragiht_distance.
- location (factor): values: "original"- the starting point is where the cicada was originally found, "relocated"- the cicada was manually relocated to a starting point different from where it was found, we did this to make sure we had cicadas in all quadrants surrounding the tree. "experimental"- These cicadas were manually relocated and are the "sighted" treatment in the "role of vision" dataset.
- compass_direction (numeric): compass reading (angle) from the starting stake to the center of the tree.
- quadrant (numeric): values 1 to 4 represent each of the four 90 degree possible quadrants surrounding the tree.
File: IndoorChoiceTest.csv
Description:To isolate the role of vision in directed movement, apart from other environmental cues, we conducted a series of indoor arena trials in which we assessed the orientation choices of newly emerged nymphs provided with dark vs. light targets. In six separate bouts (from 2200 to 2400 hours in early June 2024), we placed cohorts of cicada nymphs in the center of a 1.8 x 3.1 m arena located in a fully darkened room. At one end of the arena was a 0.6 x 0.6 x 1 m rectangular vertical surface covered with a white cloth, situated against a dark wooden background; at the other end of the arena was an equally sized target covered with a dark blue cloth, backlit against a large window screened with opaque blinds penetrated by weak ambient nighttime sky light. The central release point, halfway between the two targets, was situated in the center of a 0.6 m wide ‘no-choice’ buffer zone. To begin each bout, we randomly selected 10-12 cicada nymphs (N = 70 total) from an outdoor holding pen, where they had been kept in ambient darkness, and placed them in a small plastic tub, which was immediately brought into the darkened arena
Variables
- trial (numeric): Unique identifier of each of the six trials
- sample_size (numeric): Number of individuals in each trial
- no_choice (numeric): Number of individuals that did not make a choice
- dark (numeric): Number of individuals that moved towards the dark
- light(numeric): Number of individuals that moved towards the light
File: RoleOfVision.csv
Description:Data generated through 16 trials to assess the role of vision in cicada nymph orientation.Each trial includes two live cicada nymphs that had recently emerged from their underground tunnels.For each pair, we used ink from a white gel pen to completely obscure the two compound eyes and three ocelli of one cicada (Temporary Visual Obstruction treatment; TVO), and applied the same amount of white ink to the thoracic cuticle of the other (sighted cicada), as a sham control. We let the ink dry for 60 seconds, and then placed the cicada nymphs on bare soil, ~ 10 cm apart from one another, at a distance of 75 cm from the base of an isolated focal tree; both cicadas were initially oriented facing the tree, and the starting position of each nymph was marked with a stake.
Variables
- cicada_id (numeric): unique identifier (ID) of each cicada included in this study. ID's are consistent across all data tables in this dataset.
- pair (numeric): number identifying the two cicadas that belong to each of the 16 pairs.
- date (time): Date (month/day/year) when observation occurred
- treatment (factor): "Sighted" corresponds to the control cicadas (ink on their thoracic cuticle) and "Blinded" corresponds to the TVO cicadas.
- start (time): Time of day when observation started. Hours:minutes
- stop (time): Time of day when observation stopped. Hours:minutes
- duration (time):Time in minutes it took for the cicada to reach the tree. Difference between start and stop.
- speed (numeric): Cicada speed (cm/min). Ratio of duration and distance
- distance (numeric): Distance in centimeters travelled by each cicada from the starting point to a tree.
- reach_tree (factor): binary factor variable, "yes" indicates a cicada reached the tree, "no" indicates the cicada did not reach the tree.
- direct_distance: (numeric): Linear distance (cm) between the cicada starting point and the tree (end point).
- ratio (numeric): distance divided by direct_distance.
File: TrajectoriesTVO.csv
Description:Breakdown of photographed complete movement trajectories of five TVO cicadas (from the role_of_vision.csv file above) were decomposed into a series of straight-line ‘movement segments’ that were carefully measured. Each segment was followed by a turn (left or right) at a specific measured angle.
Variables
- id (factor): Each value (A,B,C,D,E) corresponds to a unique TVO individual (cicada nymph)
- segment_distance (numeric): linear distance between the origin and end of each segment
- turn (factor): Indicates whether the cicada nymph turned "left" or "right"
- angle (numeric): Angle (degrees) of the cicada turn
- travelled_distance (numeric): Distance (cm) travelled by the cicada from the origin to the end of each segment
- steps (numeric): number of steps (each step is a cicada length, see manuscript) taken by the cicada from the origin to the end of each segment
File: SimulatedCicadaMovementTrajectories.csv
Description:Trajectories of simulated cicadas using the model in cicada_walks.py
Variables
- n_steps (numeric): Number of steps the simulated cicada took
- total_distances (numeric): Total distance (cm) travelled by the simulated cicada
- straight_distances (numeric): Linear distance (cm) between the simulated cicada starting point and the tree (end point).
- reach_tree (binary): 0 corresponds to cicadas that did not reach the tree and 1 to those that did.
File: CicadaSkototaxis.qmd
Description: Code for statistical analyses
File: cicada_bycicle_wheel_lines.py
Description: Code to generate an image that shows the original starting positions for the Cicada TVO trial.
- Input: None
- Output: image file plotcircles.png
File: cicada_curve_fitting.py
Description:Code to analyze the distribution of the data parameters.
- Inputs: None
- Outputs: None (but shows fitting figures and goodness of fit)
File: cicada_walks.py
Description:Null model of cicada movement that was parameterized with data from five cicadas that were temporarily visually obstructed.
- Input: The script requires no input. Instead, all the parameters and the lists of observed cicada step sizes and turn angles are hard-coded inside the script, and sampling runs generate new runs based on sampling of distributions fitted to the step and turned data.
- Output: the file all_results.csv with the by-epoch values for:
- n_steps: number of steps before epoch is ended
- total_distances: total distance traveled (in cicada legths)
- straight_distances: straight distance traveled (in cicada legths)
- distance_ratios : ratio of straight_distance / total_distance
- reach_tree: whether the epoch reached the tree or not
- Run Configuration: The script takes several optional comand-line arguments to change the run configuration.
The default call to the script uses a random seed (for repeatability), uses step and turn samples from distributions fitted to the observed data, and enforces the observed right-bias turning preferrence.
Note that plotting is done automatically (matplotlib) if the number of runs is smaller than 1000.
The followin are the possible configuration parameters.
--ns val ............. NUM_STEPS # max total number of steps. Default:160
--ne val ............. NUM_EPOCHS # number of cicadas in sim. Default: 10K
--al val ............. ALPHA # plotting transparency value. Default: 0.05
--dp val ............. DEBUG_PRINT # Flag, debug printing. Default: False
--pt val ............. PLOT_EXAMPLE # Flag, plot examples. Default: False
--ph val ............. PLOT_HISTOGRAM # Flag, plot histograms. Default: False
--disable-us ......... USE_SEED # Disables use of random seed. Default: True
--disable-fd ......... FITTED_DISTRIBUTIONS # Disables fitting . Default: True
--disable-rb ......... RIGHT_BIAS # Disables use of right-bias. Default: True
--ro val ............. RUN_OBSERVED # use observed (not simulated). Default: False
--disable-rc ......... RIGHT_CENSOR_LENGTHS # disallow long first steps. Default: True
- The default call to the script uses a random seed (for repeatability), uses step and turn samples from distributions fitted to the observed data, and enforces the observed right-bias turning preference as well as preventing modeled cicadas from reaching the tree in a single step.
Examples calls:-
The basic call runs 10K cicada walks with the defaults:
python3.13 cicada_walks.py -
10K cicadas with no use of seed, does not fit distributions, does not use right-bias turns:
python3.13 cicada_walks.py --disable-us --disable-fd --disable-rb -
show 1K trajectories (red) of which 16 are (blue) high-visibility examples that end in a magenta cross (stopped) or cyan star (hit the tree). Uses all defaults except for the number of runs (epochs).
python3.13 cicada_walks.py --ne 1000 -
show 30 trajectories (red) of which 16 are (blue) high-visibility trajectories where sample ones end in a magenta cross (stopped) or cyan star (hit the tree).
python3.13 cicada_walks.py --ne 30 -
show 1 trajectory. with numbered steps and a triangle as a pose identifier.
python3.13 cicada_walks.py --pt --disable-us
-
- NOTES about step and angle fitting:
- STEPS_FIT is a list of values used to obtain simulated steps. It is obtained from a function fitted to the real world observations.
- ANGLES_FIT is a list of values used to obtain simulated turns.
It is obtained from a function fitted to the real world observations.
Code/software
R version 4.4.3 (2025-02-28) packages readxl and tydiverse
Python 3.13 with the following libraries installed: argparse, random, numpy, matplotlib's pyplot, csv, scipy.stats, seaborn
