DOI: 10.5061/dryad.0rxwdbrzs
title: Anisogamy does not always promote the evolution of mating competition traits in males

description: Anisogamy has evolved in most sexually reproducing multicellular organisms
 allowing the definition of the male and female sexes, producing small and
 large gametes. Anisogamy, as the initial sexual dimorphism, is a good
 starting point to understand the evolution of further sexual dimorphisms.
 For instance, it is generally accepted that anisogamy sets the stage for
 more intense mating competition in males than in females. We argue that
 this idea stems from a restrictive assumption on the conditions under
 which anisogamy evolved in the first place: the absence of sperm
 limitation (assuming that all female gametes are fertilized). Here, we
 relax this assumption and present a model that considers the coevolution
 of gamete size with a mating competition trait, starting in a population
 without dimorphism. We vary gamete density to produce different scenarios
 of gamete limitation. We show that, while at high gamete density the
 evolution of anisogamy always results in male investment in competition,
 gamete limitation at intermediate gamete densities allows for either
 females or males to invest more into mating competition. Our results thus
 suggest that anisogamy does not always promote mating competition among
 males. The conditions under which anisogamy evolves matter, as well as the
 competition trait.
description: MATLAB script used for numerically solution of the stability
 analysis and ODE-solutions.
description: MATLAB (version 2022b or later)
description: # Anisogamy does not always promote the evolution of mating competition
 traits in males
 [https://doi.org/10.5061/dryad.0rxwdbrzs](https://doi.org/10.5061/dryad.0rxwdbrzs) MATLAB script, which provides a numerical solution of the stability analysis and gives the evolutionary trait evolution by solving the ODE of the canonical equation. ## 1\. Workflow Run the `iso2aniso_main_230718_dryad.m` file with MATLAB (version 2022b or later), according to one of the following three alternatives #### 1) Run `iso2aniso_main_230718_dryad` without input arguments solves the evolutionary path for a predefined parameter combination\* #### 2) Run with adjusted parameter: `iso2aniso_main_230718_dryad(fmc,Kg,Kz,d,am,ar)` Where | | | | --- | --- | | `fmc = 0` | runs the fusion partner capture competition trait | | `fmc =-1` | the chemoattraction competition trait | | `fmc = 1` | runs the motility competition scenario | | | | and | | | | --- | --- | | `Kg` | determines the gamete size-survival parameter | | `Kz` | determines the zygote size-survival parameter | | `d` | determines gamete density constant | | `ar` | determines the competition investment efficiency (for fusion partner capture and chemoattraction) | | `am` | determines the size-dependent competition investment efficiency (for motility) or dimensionality of the competition trait (for fusion partner capture) | | | | The model parameter values will be adjusted to the closest tested value (see below). #### 3) Run with free parameters: `iso2aniso_main_230718_dryad(fmc,Kg,Kz,d,am,ar,adjust)` Where `adjust=true`, the model parameter values are adjusted to the closest tested value, while `adjust=false`, the specified model parameters are unaltered. Explanation: The numerical solutions of the ODE can get unstable, especially for parameter regions being exactly between two regions of different evolutionary behaviour, or for extreme parameter values. The following code is adapted to handle the specific parameter combinations run for the figures produced in the manuscript (Fig. 4-5 and Fig S1-S2). Any other parameter combination could generate errors. By adjusting the chosen parameters to match the tested parameters, we can guarantee no errors. Feel free to set `adjust=false`, but be aware that the numerical solutions might not work as intended. You can choose your own model parameters by specifying them as input arguments of the main function. *** #### \* Predefined parameter combination: | | | | --- | --- | | `fmc = -1` | Chemoattraction | | `d = 1.5505` | Gamete density constant, delta | | `Kg = 0.1` | Gamete survival constraint, K\_g | | `Kz = 1e4` | Zygote survival constraint, K\_z | | `ar = 10` | Competition investment efficiency, alpha\_r | | | | #### Examples of other parameter combinations: `iso2aniso_main_230718_dryad(1,0.1,1e4,1e2 ,1,0) % Yields isogamy` `iso2aniso_main_230718_dryad(1,0.1,1e4,1e-2,1,0) % Yields female bias` `iso2aniso_main_230718_dryad(1,0.1,1e4,0.5 ,1,0) % Yields male bias` `iso2aniso_main_230718_dryad(1,0.1,1e4,1.5 ,1,0) % Yields oscillations` *** ## 2\. Brief description of all files ### 1) `iso2aniso_main_230718_dryad.m` Main file, determines the model scenario and parameters, as described above. Performs all numerical analysis, solves ODE and plots the ODE-solution by running the remaining files in the given order below: #### 1.1) `iso2aniso_eq_fmc_230615.m` With an input of `1`, `0` or `-1`, the function will output a structure array with all equation needed for the scenario of *motility competition*, *fusion partner capture competition* or *chemoattraction*, respectively. The function will load all equations needed, if the corresponding MAT-file for the scenario is present. Otherwise, it will generate all equations, and then save them as a MAT-file, before returning them as a structure array. ##### 1.1.1) `iso2aniso_eq_fmc_230615_1.mat` MAT-file that contains all equations for the *motility competition* scenario. ##### 1.1.2) `iso2aniso_eq_fmc_230615_0.mat` MAT-file that contains all equations for the *fusion partner capture competition* scenario. ##### 1.1.2) `iso2aniso_eq_fmc_230615_-1.mat` MAT-file that contains all equations for the *chemoattraction* scenario. #### 1.2)` iso2aniso_stabanalysis_iso_230718.m` Solves for the isogamic singular points and derives the stability properties of the evolutionary dynamics. #### 1.3)` iso2aniso_odesolve_230626.m` Solves for the ODE, first under the isogamic constraint until attractor reached, and then for unconstrained evolution until anisogamic attractor is reached. #### 1.4)` iso2aniso_stabanalysis_aniso_230615.m` Derives the stability properties of the evolutionary dynamics of the anisogamic attractor. #### 1.5) `iso2aniso_plot_220921.m` Plots the ODE-solution. ##### 1.5.1) `breakxaxis.m` Function that split the data on the x-axis, such that is has a left and right range. ##### 1.5.1) `sfigure.m` Function that creates new figure window without cause a focus on the new figure. ##### 1.5.1) `sigdig.m` Function that rounds numbers to certain significance ### 2.1 Naming convention A prefix of `iso2aniso_` indicates that the function was created for this specific project. The six numbers in a row indicated year month and date of last edit `_YYMMDD`.