Mosquito rearing and DENV2 infections
All experiments were performed under biosafety level 3 (BSL-3) conditions in the insectary at the Australian Centre of Disease Preparedness (ACDP). Aedes aegypti mosquitos were reared at 27.0°C with 70% relative humidity and a 12-hr light/dark cycle. Adults were fed 10% sucrose solution ad libitum. DENV-2 (isolate ET300, GenBank EF440433) was used to perform all infection experiments. The virus was passaged in Vero cell monolayer cultures before use for mosquito infections. Ae. aegypti mosquitoes were exposed to DENV, as described previously [25]. Briefly, female mosquitoes were challenged with an infected blood meal through membrane feeding using chicken blood and skin. Uninfected control mosquitoes were fed with blood alone. Engorged females were selected for experimental use.
Experimental setup:
Infected and uninfected Ae. aegypti mosquitoes were isolated using custom-made (25 cm x 25 cm x 40 cm) rectangular plexiglass cages with a movable solid white plexiglass wall on one side to ablate any background abortion introduced by the standard netting sleeve. By placing the white wall between the net and the cage's recording area, we obtained clear and unobstructed footage for precise observation and analysis of flight behaviour. Briefly, 12 days post blood feeding, 5 infected or noninfected mosquitoes were separately placed into each cage for observation and recording. Two cameras equipped with infrared capture capabilities (Flea3, Point Grey Research, Canada) were employed to collect three-dimensional data from two sides of the cage (Fig. 1a; Supplementary Video 1, 2).
Data collection:
Data collection occurred twelve days post-infection (dpi) in the form of video sequences at a frame rate of 60 frames per second. Three samples each of five infected and five noninfected mosquitoes, were collected for data recording. The frame sizes of video sequences from both cameras were 1040 width and 1024 pixels height. Each sample's recording duration was 40 minutes.
Data Processing:
In order to conduct analyses such as Euclidean distance, speed, volume (space) covered during flights, and flight patterns, it was necessary to examine individual flights of each mosquito. Therefore, the recorded video samples were trimmed into smaller video segments, each segment representing a single flight of a mosquito. Since there were a total of 114 flights from infected and noninfected mosquitoes, the recorded data was divided into 114 segments using WinX HD Video Converter Deluxe software [26].
Mosquito detection and tracking:
We adopted the Mask RCNN-based methodology outlined previously [27] to obtain the trajectory points of mosquito flights. However, as we had a different background compared to the previously used fabric net background [27], we decided to enhance the performance by conducting custom training on the MASK RCNN model. Mask RCNN is an advanced deep-learning model for object detection and segmentation in computer vision applications [28]. It follows a two-stage process to accomplish these tasks effectively. Firstly, the region proposal network (RPN) analyses the input image and identifies possible object regions by creating rectangular bounding boxes. In the second stage, Mask R-CNN utilises two subnetworks simultaneously: object detection and mask prediction networks. The object detection network operates on each potential object region the RPN identifies. It uses convolutional and fully connected layers to analyse these regions. By examining the proposed regions, the network generates probabilities for object classes and refines the coordinates of the bounding boxes. Meanwhile, the mask prediction network takes in the potential object regions and the corresponding class probabilities. Then it produces binary masks for each potential object region, providing detailed segmentations of the objects (Fig. 1b; Supplementary Video 3, 4).
Training and validation:
To perform the customised training of the Mask RCNN model, we selected ten random video segments with shorter durations ranging from 3 to 9 seconds for training and validation purposes. The videos of longer durations ranging between 12 to 127 seconds were used to calculate Euclidean distance, speed, and volume (space) covered during flights. To use the videos for training and validation, we converted them into images at a rate of 60 frames per second using the Python OpenCV library. From these images, we randomly chose 500 images for training and 50 images for validation. The model was trained for 30 epochs, with each epoch consisting of 500 steps. We set the detection threshold at 70% to ensure accurate detection, eliminating proposals with confidence levels below 0.7 out of 1.0. For the training and validation data annotations, we employed the Makesense web tool [29], generating .json files.
Programming and computational system:
Data was processed using an AMD Ryzen 9 5900HX processor with Radeon Graphics (3.30 GHz) and 2x16GB SO-DIMM DDR4-3200 RAM, operating within a Windows 11 Pro 64-bit system. Python 3.8, Tensorflow 2.40, Numpy 1.20.3, Scipy 1.7.3, and OpenCV 4.6.0.66 were employed for mosquito tracking and volume (space) calculations.
Interpolation:
We applied the cubic spline interpolation method to address the flight points the mask RCNN model did not detect. For this purpose, we utilised the SRS1 Cubic Spline function (Version 2.5) [30], a Microsoft Excel Add-in, for its simplicity and performance [27]. The cubic spline interpolation method generated a smooth curve that accurately passed through all the points in the flight data set. This approach helped us to fill in the gaps and ensure a more complete representation of the flight trajectory (Fig. 2b; Supplementary Fig. 1).
Flight duration and number of flights calculation:
Flight duration and number of flights of infected and noninfected mosquitoes were determined by analysing all video segments. Manual tracking and analysis enabled the calculation of individual flight durations, while the number of flights was determined by counting every mosquito's flight events. For flight durations analysis, initially, we examined the flight durations at the sample level to assess the extent of variation between infected and noninfected mosquitoes. This analysis allowed us to understand whether there were any significant differences in flight durations across the samples. Furthermore, we went into a more detailed examination of individual flight durations to ensure that a few mosquitoes with notably longer flight durations were not disproportionately influencing the overall data. This approach enabled us to validate the reliability and representativeness of the flight duration data, ensuring that outliers did not affect any observed differences between the infected and noninfected mosquitoes.
Volume (space) calculation:
Special consideration was taken in the volume (space) calculation process to ensure fairness when dealing with flight points from infected and noninfected mosquitoes. Since flight durations varied between the mosquitoes, it might have impacted the analysis to directly compare the complete flights of each mosquito, as the one with a longer flight duration may have covered a greater volume. To address this, the flight points of all mosquitoes were divided into batches, each consisting of 500 frames (Fig. 2a). Using batches of 500 frames was determined based on empirical observations of mosquito flights. It was found that in the majority of cases, mosquitoes exhibited sufficient flight activity within this timeframe to form tetrahedrons for volume calculations. These batches of 500 frames contained 500 flight points from the x-axis, y-axis, and z-axis each. In case if remaining points in a flight after making a batch were less than 500 points. Then those remaining points were excluded. Python libraries, specifically Scipy and Numpy, were utilised to facilitate the volume calculations. The Delaunay method from Scipy enabled the triangulation of the flight points, generating triangles represented by simplices, which are the indices of the points forming each tetrahedron. By utilising Numpy, the code extracted the vertices of each tetrahedron and applied mathematical operations to calculate their respective volumes. This approach ensured an unbiased volume assessment by accounting for the different flight durations among the mosquitoes. In addition to volume calculations, standard deviations for the x, y, and z-axis data points were also calculated. The purpose of standard deviation calculations was to complement the volume results, as there is the possibility that if mosquitoes exhibit greater variability across the x, y, and z-axis, they could cover more volume (Fig. 2c).
Euclidean distance and flight speed:
Euclidean distance and flight speed analysis were performed using the flights of six mosquitoes. The number six was carefully chosen based on specific criteria: we selected mosquitoes with flight durations exceeding 20 seconds, and among selected mosquitoes excluded those exhibiting mere wall-bouncing behaviour. By adhering to these selection criteria, our study focused on capturing meaningful flight patterns, enabling the inclusion of valuable data to explore the study of Euclidean distance and speed in mosquito flights. The Euclidean distance calculations considered the three-dimensional positions of mosquitoes. Euclidean distance was calculated using Eq. 1. Where \({d}_{E}\) presents Euclidean distance, and \(f\) shows the frame number. The parameters \({(x}_{f+1}\), \({x}_{f}\)),\({ (y}_{f+1}\), \({y}_{f}\)), \({(z}_{f+1}\), \({z}_{f}\)) are the positions of mosquitoes in successive frames on the x, y, and z-axis, respectively. The calculations involved calculating distance by subtracting the positions of mosquitoes in successive frames. The average Euclidean distance was calculated using Eq. 2. The value of \(n\) shows the total number of frames, as we subtract the values between successive frames; therefore, the maximum value of \(f\) goes to \(n-1\). The frames considered spanned the period from when the mosquito initiated its locomotion to when it stopped moving.
$${d}_{E}= \sqrt{{{{(x}_{f+1}-{x}_{f})}^{2}{ +{ (y}_{f+1}-{y}_{f})}^{2}+{(z}_{f+1}-{z}_{f})}^{2}}$$
1
$$Average Euclidean Distance=\frac{1}{n-1}\sum _{f=1}^{n-1}{ d}_{E}$$
2
The camera was capturing 60 frames per second. Therefore, to calculate the speed and average speed in pixels per second, the Euclidean distance and average Euclidean distance were divided by 0.01667, respectively (Equations 3, 4).
$$Speed=\frac{{d}_{E}}{0.01667}$$
3
$$Average Speed=\frac{Average Euclidean Distance}{0.01667}$$
4
Statistical Analysis:
To compare the volumes of infected and noninfected mosquitoes, statistical analysis was employed, utilising the Mann-Whitney p-value due to the non-normal distribution of the volume data. Statistical analysis was performed using the Python library SciPy.