DOI: 10.5061/dryad.2ngf1vhk7
title: Data from: Modeling the mito-nuclear compatibility and its role in species identification

description: Mitochondrial genetic material (mtDNA) is widely used for phylogenetic
 reconstruction and as a barcode for species identification. The utility of
 mtDNA in these contexts derives from its particular molecular properties,
 including its high evolutionary rate, uniparental inheritance, and small
 size. But mtDNA may also play a fundamental role in speciation -- as
 suggested by recent observations of coevolution with the nuclear DNA,
 along with the fact that respiration depends on coordination of genes from
 both sources. Here we study how mito-nuclear interactions affect the
 accuracy of species identification by mtDNA, as well as the speciation
 process itself. We simulate the evolution of a population of individuals
 who carry a recombining nuclear genome and a mitochondrial genome
 inherited maternally. We compare a null model fitness landscape that lacks
 any mito-nuclear interaction against a scenario in which interactions
 influence fitness. Fitness is assigned to individuals according to their
 mito-nuclear compatibility, which drives the coevolution of the nuclear
 and mitochondrial genomes. Depending on the model parameters, the
 population breaks into distinct species and the model output then allows
 us to analyze the accuracy of mtDNA barcode for species identification.
 Remarkably, we find that species identification by mtDNA is equally
 accurate in the presence or absence of mito-nuclear coupling and that the
 success of the DNA barcode derives mainly from population geographical
 isolation during speciation. Nevertheless, selection imposed by
 mito-nuclear compatibility influences the diversification process and
 leaves signatures in the genetic content and spatial distribution of the
 populations, in three ways. First, speciation is delayed and the resulting
 phylogenetic trees are more balanced. Second, clades in the resulting
 phylogenetic tree correlate more strongly with the spatial distribution of
 species and clusters of more similar mtDNA's. Third, there is a
 substantial increase in the intraspecies mtDNA similarity, decreasing the
 number of alleles substitutions per locus and promoting the conservation
 of genetic information. We compare the evolutionary patterns observed in
 our model to empirical data from copepods (T. californicus). We find good
 qualitative agreement in the geographic patterns and the topology of the
 phylogenetic tree, provided the model includes selection based on
 mito-nuclear interactions. These results highlight the role of
 mito-nuclear compatibility in the speciation process and its
 reconstruction from genetic data.
description: <strong>Supp_SysBio.pdf</strong> contains the
 Supplementary Information to the manuscript.
 <strong>MitoNuclear.zip</strong> is a package with
 the files to compile the simulation of the population
 evolution.  <em>Content of
 MitoNuclear.zip:</em>
 FortranMitoNuclear.f90<br> FortranTree.f90<br>
 MitoNuclear.jpynb<br> mycolors.py<br> readme.txt
 <br> In order to use the jupyter notebook you need to
 compile the Fortran files. To do that open a terminal in the folder
 containing the files and give the following commands:
 f2py -c --fcompiler=gnu95 -m FortranMitoNuclear
 FortranMitoNuclear.f90<br> and<br> f2py -c --fcompiler=gnu95
 -m FortranTree FortranTree.f90  These commands should
 generate the corresponding ".so" files that are called from
 python. Make sure you have python installed, together
 with the packages numpy, matplotlib, jupyter and jupyterlab. 
 Open the notebook with the command jupiter-lab
 MitoNuclear.jpynb and run the three modules separately.
 The first will run the evolution program. The second will plot the
 population in space, using different colours for different
 species.<br> The third will generate the phylogenetic tree and
 compute the gamma, alpha and Sackin indices. The tips of the tree will
 have circles coloured according to the species it represents, with the
 same color code used to plot the population. Colors are listed in the file
 mycolors.py and can be edited by the user.