DOI: 10.5061/dryad.79cnp5j3j
title: Data from: Adhesive and mechanical properties of the glue produced by 25 Drosophila species

description: Drosophila glue, a bioadhesive produced by fly larvae to attach themselves
 to a substrate for several days, has recently gained attention for its
 peculiar adhesive and mechanical properties. Although Drosophila glue
 production was described more than 50 years ago, a general survey of the
 adhesive and mechanical properties of this proteinaceous gel across
 Drosophila species is lacking. To measure adhesion, we present here a
 protocol that is robust to variations in protocol parameters, pupal age
 and calculation methods. We find that the glue, which covers the entire
 pupal surface, increases the animal rigidity and plasticity when bound to
 a glass slide. Our survey of pupal adhesion in 25 Drosophilidae species
 reveals a wide range of phenotypes, from species that produce no or little
 glue and adhere little, to species that produce high amounts of glue and
 adhere strongly. One species, D. hydei, stands out from the rest
 and emerges as a promising model for the development of future
 bioadhesives, as it has the highest detachment force per glue area and
 produces relatively large amounts of glue relative to its size. We also
 observe that species that invest more in glue tend to live in more windy
 and less rainy climates, suggesting that differences in pupal adhesion
 properties across species are shaped by ecological factors. Our present
 survey provides a basis for future biomimetic studies based on Drosophila
 glue.
description: # Dataset for "Adhesive and mechanical properties of the glue
 produced by 25 Drosophila species"
 [https://doi.org/10.5061/dryad.79cnp5j3j](https://doi.org/10.5061/dryad.79cnp5j3j) This dataset comprises all the supporting files associated with the manuscript "Adhesive and mechanical properties of the glue produced by 25 Drosophila species" by Monier et al. ## Description of the data and file structure ### File S1. FileS1\_dorsal\_views\_light\_pupae.zip (1.99 GB).Dorsal views of light pupae. Compressed zip file of 1178 pupae pictures from the dorsal view (.tiff and .jpg). This file contains pictures of pupae manually selected for their light pupal case colour. The name of each image corresponds to the single pupa id, which is the date of adhesion test in format YYYYMMDD followed by a two-digit number which corresponds to the order in which pupa were processed on a given day. To find the corresponding species and associated information, please check Table “metadata_concatenate.csv” in the **'metadata folder of file S7**, whose column Sample_ID contains these single pupa identification numbers.  ### File S2. FileS2_dorsal_views_brown_pupae.zip (903.99 MB). Dorsal views of brown pupae. Compressed zip file of 389 pupae pictures from the dorsal view (.tiff and .jpg). This file contains pictures of pupae manually selected for their brown pupal case colour. The name of each image corresponds to the single pupa id (see legend of File S1).  ### File S3. FileS3_side_views.zip (2.03 GB). Side views of all pupae. Compressed zip file of 963 pupae pictures from the side view (.tiff and .jpg). The name of each image corresponds to the single pupa id (see legend of File S1) followed by "_side" or "_profile" or "-CantonS-profile" and the file extension.  ### File S4. FileS4_ventral_views.zip (2.90 GB). Ventral views of all pupae. Compressed zip file of 1403 pupae pictures from the ventral view (.tiff and .jpg). The name of each image corresponds to the single pupa id (see legend of File S1) followed by ‘_below or \_down’ or "upsidedown' or "-CantonS-profile" and the file extension.  ### File S5. FileS5-ventral-views-measurements.zip (3.96 GB). Ventral views of all pupae with manual contours of the glue area (visible in ImageJ). Compressed zip file of 1276 pupae pictures (.tif). The name of each image is identical to the ones in File S4. ### File S6. FileS6-ImageJ-Ilastic-revised.zip (439.27 MB). Compressed zip file of a folder named "Pupa_contours" containing dorsal views with contours of the pupa area (visible in ImageJ) and ImageJ scripts (.ijm) and Ilastik training (.ilp) used to automatically measure pupa area and length on dorsal pictures. Scripts are named from 1 to 3 in the order of use. Script 1 is an ImageJ macro to convert the image files into a .tif format in order to be processed by Ilastik. Script 2 is a machine learning pixel classification made on Ilastik, respectively in the brown and light folders for dorsal pictures of brown and light pupae. Script 3 is an ImageJ macro to measure pupa area and length. ### File S7.  FileS7-csv-analyses.zip (328.63 MB). Compressed zip file of the input data, scripts (.R files) and output data (.pdf files). ‘**batch/raw**’ folder contains 20 .xlsx files. These .xlsx files were obtained from the Nexigen software after adhesion measurements. In each of these .xlsx files, the first sheet contains *n* pupae ids and their associated comments. Second sheet contains time (in s), load (in N) and extension (position, in mm) values for the *n* pupae/adhesion experiments, arranged into *3n* columns. Please note that the duration of each adhesion test for each pupa was variable (due to variation in the positioning of the sensor relative to the pupa at the beginning of the experiment and due to variation in the moment the user terminated the protocol after detachment). Still, the .xlsx files contain the same numbers of lines for each pupa because the machine was set to provide for each experiment 500 measures of time, load and extension spread evenly across time. First id in sheet 1 corresponds to the first three columns of adhesion data (load, time and position) in sheet 2. The second id in sheet 1 corresponds to the following three columns in sheet 2, and so forth for the next ids.  ’**batch/concatenate**’ folder contains two .csv files. The first one (id_concatenate.csv) compiles all pupae ids from all the .xlsx files present in ‘batch/raw' into a single column. The second one (data_concatenate.csv) compiles into a single file the load, time and position values from all the .xlsx files present in ‘batch/raw' (into *3n* columns, with* n* the total number of pupae/adhesion experiments). The third file (id_batches_error.log) lists the pupae ids that are not unique and that were not used in further analysis because experimental data could not be assigned to these ids. ’**batch/batch_by_id**’ folder contains 2308 individual .csv files with time (s), load (N) and extension (position, mm) data for each pupa. Each .csv file is named with the corresponding pupa id (legend of File S1). ‘**ecology_data**’ folder contains four files with ecological, developmental and meteorological data:\ data_fly_origin.csv. Csv file made manually containing information about the 24 studied species besides *D. melanogaster *regarding collection sites (free text, latitude, longitude GPS coordinates, altitude in m), number of cells per salivary gland (as reported in Babišová, et al., 2023, Apocrine secretion in the salivary glands of Drosophilidae and other dipterans is evolutionarily conserved), egg-to-adult duration (in days), temperature at which the egg-to-adult duration was measured (in °C), references.\ The list of the latitude and longitude of each location provided to the Open Meteo website was extracted from the data_fly_origin.csv file. open-meteo-13.04N77.55E921m.csv. Csv file obtained from OpenMeteo website with daily meteorological data, elevation, longitude and latitude for 24 collection locations over 10 years. Location_id is a number from 0 to 23 (ecology_data.csv) which is linked to the corresponding species in the script 10_ecology.R.\ ecology_data.csv. Subset of open-meteo-13.04N77.55E921m.csv. Daily meteorological data of 24 collection locations over 10 years. humidity_experiments_raw.csv. Csv file of the raw results of the humidity preference experiment. The first columns indicate the number of larvae present in each location. Humidity_bench and temp_bench are the air humidity (in %) and the temperature (in °C), respectively, measured at the bench where larvae were counted. Humidity_incubator and temp_incubator are the air humidity (in %) and the temperature (in °C), respectively, measured within the incubator where larvae were left for 15-21h. humidity_experiments.csv. Csv file, obtained from the humidity_experiments_raw.csv file, indicating the average humidity preference index for each species. ‘**imageJ/raw**’ folder contains four .csv files obtained directly from measurements of all pupae images in ImageJ using the scripts present in FileS6-ImageJ-Ilastic.zip. Pupa ids in these files correspond to the picture names in Files S1-3. Results_brown_pupa_size.csv and Results_white_pupa_size.csv. Pupa area (in square micrometres, column "Area") and pupa length (in micrometres, column "Feret") measurements.  Results_pupa_glue_incorrect.csv. Glue area measurements manually saved from ImageJ using the freehand tool (column "Area"). Pupa ids in these files correspond to the picture names in Files S1-3. Results_pupa_glue_scale_modif.csv. Same as in Results_pupa_glue.csv except that the glue area was corrected for about forty animals (quantification previously done in pixels instead of micrometres). Results_pupa_side.csv: pupal height measurements (in micrometers) manually saved from ImageJ (column "Length"). Pupa ids in these files correspond to the picture names in Files S1-3. ‘**imageJ/second_run**’ folder contains: random_names.csv. Randomised names and their corresponding pupae ids. second_run.csv. Second measure of 66 pupa glue area (column "Area_random") using the randomised names. This file was manually saved from ImageJ. ‘**index**’ folder contains: index.csv: .csv file containing the landmarks determined for each pupa as explained in the Materials and Methods section "Analysis of adhesion tests data". Note that column "index_1" corresponds to landmark B. index_id_not_running.log. list (.log) of landmarks that could not be determined. For each id and each landmark, the corresponding line number in the id.csv file located in the /batch/batch_by_id folder is indicated. ‘**integral**’ folder contains: integral.csv: file of integration results for each pupa. Column "id" corresponds to the pupa id (as defined in Files S1-3). The column "integrale_compression" corresponds to the integral of the force from landmark B (index_1) to landmark C (index_2). It is always positive. The columns "integrale_decompression_negative" corresponds to the integral of the force from landmark G (index_5) to landmark F. It is generally negative. One-way detachment energy (DE1) is equal to the absolute value of integrale_decompression_negative. The column "sum_decompression_negative_and_positive" is equal to abs(vect_decompression_negative) +vect_decompression_positive and corresponds to the integral of the force from landmark G (index_5) to landmark C (index_2). Two-way detachment energy (DE2) is then calculated in data_figure.csv as the sum of sum_decompression_negative_and_positive and integrale_compression. “sum deux lignes précédentes” means the sum of the last two lines and “différence deux lignes précédentes” means the difference of the last two lines. integral_id_not_running.log. Text file listing the pupae id for which the integrals could not be calculated. log_file.txt.Text file listing the pupae id for which the detachment peak is not negative. ’**metadata/raw**’ folder contains: 20220921_20221103.xlsx; Control.xlsx; species_sticky.xlsx: adhesion test results files directly obtained from Nexigen software with sample id and information relative to species. The name of the protocol used was manually added on each line in these files. Manon_results_file.xlsx. Concatenate file of 20220921_20221103.xlsx; Control.xlsx; species_sticky.xlsx without information about protocol used. It is directly obtained from Nexigen software. Pupa_adhesion_print.xlsx. Adhesion test results file directly obtained from Nexigen software with sample id and information relative to species for experiments conducted by F. Borne. ‘**medata**’ folder contains : Comment_correction.csv. Csv file listing the comments name mistakes and their corresponding corrections. id_not_found_in_manon_results.log. Text file listing the pupae ids found in adhesion test results files but not in Manon_results_file.xlsx. metadata_concatenate.csv. Csv file compiling all adhesion test results files for all pupae with sample id and information relative to species and protocol used. protocol_correction.csv. Csv file listing the protocol name mistakes and their corresponding corrections. species_name_correction.csv. Csv file listing the species name mistakes and their corresponding corrections. stock_correction.csv. Csv file listing the stocks name mistakes and their corresponding corrections. ‘**plot**’ folder contains: data_figure.csv. Csv file compiling pupae ids and their corresponding measurements of adhesion properties (detachment force, DE1, DE2, rigidity, glue area, etc.). Note that rigidity is not estimated correctly for the protocols where a compression force of 0.25N is applied. DE1 corresponds to the column labelled "negative_energy". DE2 corresponds to the column labelled "energy". median_adhesion_parameters.csv. Csv file compiling median values of detachment force, glue area, adhesion strength, pupal shape and glue investment for each species studied. ‘plot/ecology’ folder. It contains all the plots (.pdf) and tables (.csv) obtained from the script ecology.R (see below).  ‘plot/Figures’ folder. It contains all the figures and supplementary figures of the article. These figures have been generated using the scripts below and later modified using Inkscape. The modified version is saved in this folder. In particular, the ‘plot/Figures/Fig2’ folder contains several figure files used to make Fig. 2 as well as a raw data csv file (good-dots-19-species.csv) and an R script used to make panel 2B (Fig2B-script.R). ‘plot/load_extension' folder. It contains the figures representing f(extension) = load generated from the script 11_representation_by_id.R. ‘plot/load_time' folder. It contains the figures representing f(time) = load generated from the script 11_representation_by_id.R.  ‘plot/one_parameter’ folder. It contains folders with figures (.pdf) generated from the script one_parameter_plot.R (see below).  ‘plot/time_extension’ folder. It contains the figures representing f(time) = extension generated from the script 11_representation_by_id.R. ‘plot/two_parameters’ folder. It contains folders with figures (.pdf) generated from the script two_parameters_plot.R (see below).  Note that ‘**scripts**’ folder contains: Config.yml. Configuration file for the scripts. All the scripts (.R) used to analyse the data, numbered from 1 to 10 according to their order of use. ## Sharing/Access information The code has also been deposited in Github: [https://github.com/manonmonier2/Adhesion/releases/tag/v1.0.0](https://github.com/manonmonier2/Adhesion/releases/tag/v1.0.0) ## Code/Software The workflow to run the scripts is as follows. All the words between "[" "]" refer to a parameter in the config.yml file.: Please note that these scripts are adapted to our data set. In order to run the scripts (in an IDE or command line) with your own data, the configuration file [config.yml] must be modified according to your PC architecture. \## Requirements\ R version 4.1.2 (2021-11-01) \### R packages\ eadxl 1.3.1, cli 3.1.0, config 3.2, svglite 2.0.0, ggplot2 3.3.6, dplyr 1.0.8, rcompanion 2.4.34, agricolae 1.3-5, FSA 0.9.4, ggpubr 0.4.0, DescTools 0.99.48, ggtext 0.1.2, doBy4.6.18, ggrepel 0.9.3, reshape2 1.4.4, gridExtra 2.3, pivottabler 1.5.5, extrafont 0.19, ggsci 3.0.0, ggnewscale 0.4.10, ape 5.7-1, vegan 2.6-4, olsrr 2.6-4 ### **1\_concatenation\_batch.R** This script compiles pupa ids, load, time and position values from several .xlsx files obtained from the adhesion test software into a single file. **Input**: all files (.xlsx) present in the /batch/raw folder. These .xlsx are obtained directly from the Nexigen software. In each of these .xlsx files, the first sheet contains *n* pupae ids and their associated comments. Second sheet contains time, load and extension (position) values for the *n* pupae/adhesion experiments, arranged into *3n* columns. Please note that the duration of each adhesion test for each pupa was variable (due to variation in the positioning of the sensor relative to the pupa at the beginning of the experiment and due to variation in the moment the user terminated the protocol after detachment). Still, the .xlsx files contain the same numbers of lines for each pupa because the machine was set to provide for each experiment 500 measures of time, load and extension spread evenly across time. First id in sheet 1 corresponds to the first three columns of adhesion data (load, time and position) in sheet 2. The second id in sheet 1 corresponds to the following three columns in sheet 2, and so forth for the next ids.  **Output**: in batch/concatenate Two .csv files. The first one (id_concatenate.csv) compiles all pupae ids from all the .xlsx files present in ‘batch/raw' into a single column. The second one (data_concatenate.csv) compiles into a single file the load, time and position values from all the .xlsx files present in ‘batch/raw' (into *3n* columns, with* n* the total number of pupae/adhesion experiments). No id correction is done at this stage.  ### **2\_concatenation\_metadata.R** This script concatenates several result files containing pupa ids and species information obtained from adhesion test software into a single file. For each pupa, this script compiles species, protocol information and other metadata (like ImageJ measures and ecological data) from several .xlsx files obtained from the adhesion test software into a single file. **Input**:  All files in metadata/raw :  20220921_20221103.xlsx; Control.xlsx; species_sticky.xlsx are adhesion test results files directly obtained from Nexigen software with sample id and information relative to species. Name of the protocol used was manually added. Manon_results_file.xlsx: concatenate file of 20220921_20221103.xlsx; Control.xlsx; species_sticky.xlsx without information about protocol used. It is directly obtained from Nexigen software. Pupa_adhesion_print.xlsx is an adhesion test results file directly obtained from Nexigen software with sample id and information relative to species for experiments conducted by F. Borne. All files (.csv) in ImageJ/raw Results files for pupa area and length measurements ( Results_brown_pupa_size.csv and Results_white_pupa_size.csv), glue area (Results_pupa_glue.csv) and height (Results_pupa_side.csv). These files are obtained directly from ImageJ. All files (.csv) in ImageJ/second_run Randomised names and their corresponding pupae ids (random_names.csv). Second measure of 67 pupa glue area (second_run.csv) using the randomised names. This file is obtained from ImageJ. **Output**:  In metadata:  Id_not_found_in_manon_results.log. List of pupae ids found in adhesion test results files but not in Manon_results_file.xlsx Species_name_correction.csv. List of species name mistakes and their corresponding corrections\ Comment_correction.csv: list of comments name mistakes and their corresponding corrections\ Protocol_correction.csv:  list of protocol name mistakes and their corresponding corrections\ Stock_correction.csv  list of stocks name mistakes and their corresponding corrections\ Metadata_concatenate.csv: concatenate file of all adhesion test results files for all pupae with sample id and information relative to species and protocol used. At this stage, corrections are made to: **Species** in **Species_name_correction.csv** | raw\_name | correct\_name | | --------------------------- | ------------------------------ | | Drosohila\_hydei | Drosophila\_hydei | | Drosophila.nanoptera | Drosophila\_nannoptera | | Drosophila\_malanogaster | Drosophila\_melanogaster | | Drosophila\_pachae | Drosophila\_pachea | | Drosophila\_Virilis | Drosophila\_virilis | | Scaptodrosophila\_lebanonen | Scaptodrosophila\_lebanonensis | | Drosophila\_nanoptera | Drosophila\_nannoptera | | Drosophila\_lachaisei | Zaprionus\_lachaisei | | Drosophila yakuba | Drosophila\_yakuba | **Comment** in **Comment_correction.csv** | raw\_comment | correct\_comment | | --------------------------- | ------------------------- | | cuticle\_broked | cuticle\_broke | | cuticule\_broke | cuticle\_broke | | cuticule broke | cuticle\_broke | | cuticle broke | cuticle\_broke | | no\_tape | no\_adhesive\_paper | | no\_scotch | no\_adhesive\_paper | | two\_pupae\_too\_close | two\_pupae | | 2 at 1 time | two\_pupae | | not detached | not\_detached | | not normal | pb\_machine | | pbm\_machine | pb\_machine | | attached\_from\_the\_bottom | attached\_at\_the\_bottom | | 2\_at\_1\_time | two\_pupae | | pb\_0 | pb\_machine | | pb\_NA | pb\_machine | | not\_normal | pb\_machine | | noscotch\_notbroken | no\_adhesive\_paper | | tape\_attached | pb\_scotch | **protocol** in **Protocol_correction.csv** | **raw\_protocol** | **correct\_protocol** | | -------------------------- | ---------------------------- | | noscotch | no tape | | no\_scotch | no tape | | nocond | standard | | no\_cond | standard | | default | standard | | strong | 0.25 N | | strongforce | 0.25 N | | scotch\_fin | 1 strong tape | | strongtape | 1 strong tape | | tesa | standard | | div3 | speed /3 | | x3 | speed x3 | | scotch\_fin\_strong\_force | 1 strong tape ; 0.25 N | | 3japf | 3 d | | cond1 | 1 tape ; detached | | cond2 | 2 tapes ; detached | | cond3 | 1 tape ; detached ; speed x3 | | 0,25 N | 0.25 N | | 0s | 0 s | | 5min | 5 min | **Stock** in **Stock_correction.csv** | **raw\_stock** | **correct\_stock** | | ------------------ | ------------------ | | biar001 | Iso\_001 | | Biar001 | Iso\_001 | | biariso001 | Iso\_001 | | biariso003 | Iso\_003 | | biarmipes | G224 | | Virilis | virilis | | Scalaris | scalaris | | Lachaisei | lachaisei | | Nanoptera | nanoptera | | Pachea | pachea | | CantonS | cantonS | | canronS | cantonS | | Hydei | hydei | | Immigrans | immigrans | | Malerkotliana | malerkotliana | | maleskotliana | malerkotliana | | Md221 | md221 | | suzvincennes | suzukii\_Vincennes | | suzukii\_vincennes | suzukii\_Vincennes | | Indianus | indianus | | Kuseongensis | kurseongensis | | Kurseongensis | kurseongensis | | suzAM | AM | | suzJD | JD | ### **3\_load\_data.R:** This script creates individual files of load, time and position values for each pupa and recalibrates f(force)=time curves at y=0 at the beginning of the experiment. This script recalibrates curves at axis y=0 using the first 20 values of each curve. If sigma of noise is &gt; 0.01 over the first 20 values, it means that there is a peak in the first values. This can be due to an accident, like a shock on the machine, during the experiment. In this situation, we do not recalibrate. If sigma of noise is &lt; 0.01, then there is no peak and we recalibrate the curve. **Input**: metadata/metadata_concatenate.csv obtained from 2_concatenation_metadata.R. batch/concatenate/data_concatenate.csv and batch/concatenate/id_concatenate.csv obtained from 1_concatenation_batch.R. **Output**: ’batch/batch_by_id’ folder containing individual .csv files with time, load and extension (position) data for each pupa. Each .csv file is named with the corresponding pupa id (legend of File S1). A text file (id_batches_error.log) which lists the pupae ids that are not unique and that were not used in further analysis. From the concatenated batches file data_concatenate.csv, the corresponding id file [id_concatenate.csv], and [metadata_concatenate.csv], the script creates a unique file per id, writen in [batch_by_id]. This id must be unique and present in both [id_concatenate.csv] and [metadata_concatenate.csv]. Without this condition, we have no explicit link between batches and metadata. ### **4\_index\_definition.R:** This script defines seven landmarks on single pupa curves. The load-position-time curve is thus segmented into six parts. **Input**: All files (.csv) in batch/batch_by_id obtained from 3_load_data.R. Metadata/metadata_concatenate.csv obtained from 2_concatenation_metadata.R. **Output**: index/index.csv. A .csv file containing the indexes/landmarks determined for each pupa as explained in the Materials and Methods section "Analysis of adhesion tests data". For calculation details of these landmarks, see script 4_index_definition.R and the text below. Landmarks A and F are not defined in scripts, they are only used in the article for a better understanding. In the article landmarks B, C, D, E, G and H respectively correspond to index_1, index_2, index_3, index_4, index_5 and index_6 in 4_index_definition.R. For each id and each landmark, the corresponding line number of the id.csv file located in the /batch/batch_by_id folder is indicated. Index_id_not_running.log. A list (.log) of pupae ids for which at least one landmark could not be determined. For each single pupa, we define the following values using their unique batch file found in [batch_by_id]: sigma_1_temp = standard deviation of the force over the 20 first values of the experiment. index_1 : landmark B, corresponds to the moment at which the sensor comes into contact with the pupa. After index_1, the captor presses into the pupa until reaching a given force (0.07 N for standard protocol, or else 0.25 N). We use the curve portion from the beginning of the experiment until the curve reaches 3xsigma_1_temp for more than 3 seconds. Checking that the force goes above 3xsigma_1_temp for more than 3 seconds allows to eliminate spurious force peaks due to disruptive events such as a shock to the table. On this curve portion, index_1 is defined when the curve reaches sigma_1_temp for the first time. In situations where sigma_1_temp was incorrectly estimated (the sensor touches the pupa before recording, shock to the machine, etc.), we were not able to define index_1 as above and considered that index_1 and index_2 colocalized. noise_1: median of the force values comprised between the beginning of the experiment until index_1 index_2 : landmark C, for pupae detached using the protocol '5min', index_2 is defined when the force is maximal. For other protocols, index_2 is reached when the extension is maximal. index_3:  landmark D, corresponds to the moment the sensor applies a smaller constant force (0.03 N in the standard protocol, or else 0.21N) for a given time (10 s in the standard protocol, else 0 or 5 min), from index_3 (first time the force is constant) to index_4 (end of the compression phase). In the situation where the time gap between index_2 and index_3 is longer than 1sec, index_3 is defined 0.5 seconds after index_2. index_4 : landmark E, corresponds to the end of the phase where a constant force is applied to the pupa. After index_4, the sensor goes up. For pupae detached using the protocol '5min', index_4 is defined 300 seconds after index_3. If the protocol '0s' is used, index_4 and index_3 colocalize. For other protocols, index_4 is defined 10 seconds after index_3. noise_4 : amplitude of the force between index_3 and index_4. amp_noise_6_temp : amplitude of the force over the last 50 values of the experiment. index_5 : landmark G, corresponds to the maximal negative force (the detachment force). We consider there is a peak of detachment force when the lowest force value in the entire experiment is lower than 3*amp_noise_6_temp. index_6 : landmark H, corresponds to the end of the experiment. It is defined as the last value. noise_6: median of the force between index_5 and index_6. ### **5\_interpolation.R:** This script calculates the integral of the adhesion test curves obtained for each pupae. **Input**: All files (.csv) in batch/batch_by_id obtained from 3_load_data.R. Index/index.csv obtained from 4_index_definition.R. **Output**: In integral folder: integral.csv: file of integration results for each pupa. Column "id" corresponds to the pupa id (as defined in Files S1-3). integral_id_not_running.log. Text file listing the pupae id for which the integrals could not be calculated. log_file.txt.Text file listing the pupae id for which the detachment peak is not negative. This script separates the curve into three curves, the compression curve from index_1 (landmark B) to index_2 (landmark C), the positive and negative sections of the decompression curve from index_2 (landmark C) to index_5 (landmark G). We interpolate and perform integration on the three curves. The script computes the following values and saves them in **[integral/integral.csv]**: integrale_compression = integration of the compression curve. It corresponds to the integral of the force from landmark B (index_1) to landmark C (index_2). It is always positive. Used for the calculation of DE1 and DE2. DE1 corresponds to the absolute value of integrale_compression. integrale_decompression = integration of the whole decompression curve (negative + positive sections). Not used for the calculation of DE1 and DE. integrale_decompression_negative = integration of the negative section of the decompression curve. It corresponds to the integral of the force from landmark G (index_5) to landmark F. It is generally negative. integrale_decompression_positive = integration of the positive section of the decompression curve. It corresponds to the integral of the force from landmark F to landmark C (index_2). sum_decompression_negative_and_positive = sum of the integration of positive and negative sections of the decompression curves. Used for the calculation of DE2. difference_integrales = difference between the integration of the compression and decompression curves. Not used for the calculation of DE1 and DE2. ### **6\_prepare\_data\_figure.R**: This script calculates adhesion properties and exports them in a text file. **Input**: All files (.csv) in batch/batch_by_id obtained from 3_load_data.R.\ Metadata/metadata_concatenate.csv obtained from 2_concatenation_metadata.R.\ Index/index.csv obtained from 4_index_definition.R.\ Integral/integral.csv obtained from 5_interpolation.R. **Output**: In plot folder: data_figure.csv. Csv file compiling pupae ids and their corresponding measurements of adhesion properties (detachment force, DE1, DE2, rigidity, glue area, etc.). For all pupae, the following values are calculated: detachment_force: the detachment force of the pupa is obtained as the negative of the minimal force value between index_4 (landmark E) and index_5 (landmark G). This value is positive except for a few cases where the landmarks are mispositioned. force_detachment_mN: not used in the present paper. Automatic calculation of the detachment force by Nexigen software. energy: corresponds to integration of the compression and decompression curves (DE2). negative_energy: corresponds to the integration of the negative section of the decompression curve (DE1). rigidity: (index_2 force - index_1 force)/(index_2 position - index_1 position) position_difference: corresponds to the deformation, is calculated as index_1 position - index_5 position pression_extension: corresponds to the difference of position during pression on pupa, is calculated as index_2 position - index_1 position pupa_area: corresponds to the pupal area in mm² pupa_length: corresponds to the pupal length in mm pupa_shape: calculated as pupa_length/sqrt(pupa_area) pupa width: corresponds to the pupal height in mm glue_area_mm: corresponds to the pupal glue area in mm² detachment_force_div_glue_area: corresponds to the adhesion strength, calculated as detachment_force / glue_area_mm glue_area_div_pupa_area: corresponds to glue investment, calculated as glue_area_mm / pupa_area For each of these values, their corresponding value in log base 10 is calculated. After the 6_prepare_data_figure script and without order: ### **7\_one\_parameter\_plot.R**: This script creates boxplot graphs, tables and bar plot graphs. **Input**: All files (.csv) in batch/batch_by_id obtained from 3_load_data.R. Index/index.csv obtained from 4_index_definition.R. Integral/integral.csv obtained from 5_interpolation.R. plot/data_figure.csv obtained from 6_prepare_data_figure.R. **Output**: In plot/one parameter\ Folder by_protocol_and_species: files of boxplots for each adhesion properties obtained for *Drosophila melanogaster *pupae tested with different protocols (.pdf). Folder by_species: files of boxplots for each adhesion properties obtained for all species tested (.pdf). Folder by_stock: files of boxplots for each adhesion properties obtained for species for which several stocks/strains were tested (.pdf). Folder normalisation: files of boxplots for each adhesion properties divided by the glue area for pupae detached after adhesion test (.pdf). Folder normalisation_other_comments: files of boxplots for each adhesion properties divided by the glue area for pupae broken or not detached after adhesion test (.pdf). Folder tables: table_protocol_melano.csv which contains the number of pupae detached, not detached or broken during different adhesion protocols for *D. melanogaster*. Rows indicate the protocols and columns indicate the number of pupae detached, not detached or broken during the given protocol. Same as Table S3. ### **8\_two\_parameters\_plot.R**:  This script creates scatter plot graphs. **Input**: All files (.csv) in batch/batch_by_id obtained from 3_load_data.R. Index/index.csv obtained from 4_index_definition.R. Integral/integral.csv obtained from 5_interpolation.R. plot/data_figure.csv obtained from 6_prepare_data_figure.R. **Output**: In plot/two_parameters folder: Folder by_protocol_and_species: files of scatter plots between two adhesion properties for *Drosophila melanogaster *pupae tested with different protocols (.pdf). Folder by_species: files of scatter plots between two adhesion properties for all species tested (.pdf). ### **9\_phylogenetic\_tree.R**:  This script makes Figure 2. **Input**: All files (.csv) in batch/batch_by_id obtained from 3_load_data.R. Index/index.csv obtained from 4_index_definition.R. Integral/integral.csv obtained from 5_interpolation.R. plot/data_figure.csv obtained from 6_prepare_data_figure.R. **Output**: In plot/one_parameter/by_species: Figure 2 (heatmap.pdf). ### **10\_ecology.R**: This script makes scatter plots with ecology variables and Table S5. **Input**: All files (.csv) in batch/batch_by_id obtained from 3_load_data.R. Index/index.csv obtained from 4_index_definition.R. Integral/integral.csv obtained from 5_interpolation.R. plot/data_figure.csv obtained from 6_prepare_data_figure.R. All files in ecolody_data folder:  Data_fly_origin.csv made manually with collection site, pupation duration time and references for studied species.  open-meteo-13.04N77.55E921m.csv obtained from OpenMeteo website with daily meteorological data, elevation, longitude and latitude for 23 collection locations over 10 years. Ecology_data.csv is the daily meteorological data of 23 collection locations over 10 years.  Humidity_experiments.csv is a file made manually of the average humidity preference index for each species studied in humidity preference experiments.  **Output**: Plot/ecology: files of scatter plots between ecological, humidity preference variables and adhesion properties for all species tested (.pdf). Three tables files with correlation coefficients between ecological, humidity preference variables and adhesion properties (coef_humidity_adhesion.csv; coef_meteo_adhesion.csv; coef_meteo_development.csv). ### **11\_representation\_by\_id.R**: This script creates plots representing curves of load, time and captor position. **Input**: All files (.csv) in batch/batch_by_id obtained from 3_load_data.R. index/index.csv obtained from 4_index_definition.R. Metadata/metadata_concatenate.csv obtained from 2_concatenation_metadata.R. **Output**: In plot/load_extension folder: All csv files of individual curves (f(position)=load) for all pupa ids. Landmarks position on curves are indicated with a dashed line. In plot/load_time directory: All csv files of individual curves (f(time)=load) for all pupa ids. Landmarks position on curves are indicated with a dashed line. In plot/time_extension directory: All csv files of individual curves (f(time)=position) for all pupa ids. Landmarks position on curves are indicated with a dashed line.