Skip to main content
Advertisement
  • Loading metrics

Eco-evolutionary dynamics lead to functionally robust and redundant communities

  • Lorenzo Fant ,

    Contributed equally to this work with: Lorenzo Fant, Iuri Macocco

    Roles Conceptualization, Investigation, Methodology, Software, Validation, Visualization, Writing – original draft, Writing – review & editing

    Affiliations National Institute of Oceanography and Applied Geophysics - OGS, Trieste, Italy, National Biodiversity Future Centre - NBFC, Palermo, Italy, International School for Advanced Studies - SISSA, Trieste, Italy

  • Iuri Macocco ,

    Contributed equally to this work with: Lorenzo Fant, Iuri Macocco

    Roles Conceptualization, Investigation, Methodology, Software

    Affiliations International School for Advanced Studies - SISSA, Trieste, Italy, Universitat Pompeu Fabra, Barcelona, Spain

  • Jacopo Grilli

    Roles Conceptualization, Formal analysis, Investigation, Methodology, Supervision, Writing – original draft, Writing – review & editing

    jgrilli@ictp.it

    Affiliation International Centre for Theoretical Physics - ICTP, Trieste, Italy

?

This is an uncorrected proof.

Abstract

Microbial communities are taxonomically diverse and variable: species presence and abundances widely fluctuate over time, space, and even across biological replicates under controlled experimental conditions. However, environmental conditions exert strong selection on the traits of community members and their functions. Similar environmental conditions are expected to produce functionally similar communities. This environmental selection, combined with taxonomic variability, leads to the influential concept of functional redundancy — the idea that many species can perform the same function, allowing communities with different species compositions to maintain identical functional profiles. Despite the centrality of functional redundancy in microbial ecology, we lack a theoretical understanding of its origin. Here we study the eco-evolutionary dynamics of communities interacting through competition and cross-feeding. We show that eco-evolutionary trajectories rapidly converge to a “functional attractor” — a functional composition uniquely determined by environmental conditions. Taxonomic composition follows non-reproducible dynamics while being constrained by the conservation of functional composition. Our framework provides a theoretical foundation for understanding functional robustness and redundancy in microbial communities.

Author summary

Microbial communities harbor thousands of species, and their taxonomic composition varies greatly across samples and over time. Yet, a growing body of evidence suggests that the collective functions performed by these communities are remarkably stable. This phenomenon, known as functional redundancy, implies that different species can substitute for one another without changing what the community does. Despite its importance, we lack a theoretical explanation for how functional redundancy arises. Here, we develop a mathematical model that couples ecological dynamics (competition for resources, cross-feeding of metabolic by-products) with evolutionary processes (mutations in metabolic capabilities and fitness). We show that, under a metabolic trade-off where consuming more resources incurs a higher cost, communities rapidly converge to a stable “functional attractor” determined solely by resource availability. While the identity and abundance of individual species continue to change, the overall functional profile remains fixed. Our results provide a mechanistic explanation for the widely observed pattern of functional redundancy and identify the conditions under which it holds or breaks down.

Introduction

One of the most fascinating aspects of microbial communities is their taxonomic diversity and variability. Thousands of species populate a gram of soil, and another gram collected just one meter away would have a different species composition [1]. This observation spans virtually all environments: from glaciers to oceans, from grasslands to guts.

This variability observed in natural communities is quantitatively similar across environments [2] and shows similar characteristics when measured between communities and over time [3]. The magnitude of this variability persists across a wide range of taxonomic resolutions [4,5] and in microcosm experiments under controlled conditions [68].

Although taxonomic composition is consistently variable, microbial communities are often clearly organized in terms of trophic levels, functional composition, or traits [9]. These functional patterns can even become visible to the naked eye in the presence of gradients, such as oxygen and sulfur gradients in Winogradsky columns or temperature gradients in hot springs. A trait-based description [9] is therefore more natural in these contexts, though it requires assuming a priori which traits the environment selects for reproducibility.

The coexistence of taxonomic variability and replicable functional organization led to the influential concept of functional redundancy [1012]. This concept posits that since many species can perform the same functions, multiple species combinations can correspond to the same functional profile. Thus, taxonomic variability would mask the underlying functional robustness.

The evidence for functional redundancy and robustness is scattered, indirect, and mostly qualitative. Comparisons between taxonomic abundances and gene family abundances from metagenomic data (used as proxies of functional composition) show different levels of variation [11,12], with gene families being more stable and taxa widely fluctuating. In experimental communities, abundance at coarse taxonomic levels (used as a proxy for similar functional profiles) is much less variable than at fine taxonomic levels [6]. However, these comparisons are mostly qualitative and it is debated whether the results reflect robust biological processes or are statistically null [13].

Consumer-resource models are the main modeling framework for microbial communities. Their origin goes back to the classic work of MacArthur and Levins [14], which has been extensively studied and discussed in the following decades [15,16], mostly to describe the coexistence of a handful of species. These models have been further extended to consider facilitation through cross-feeding [6,17,18], where species change resource availability not only by consumption, but also because they release into the environment the waste products of their metabolism. These models qualitatively describe experimental results [6,19] and have the flexibility to reproduce patterns observed in empirical microbial communities [20].

Once the parameters of the model — such as consumers’ resource preferences and resources supply rates — are set and an initial pool of species is chosen, populations converge, over large enough times, to an equilibrium point. Under some mild conditions, identified over decades of theoretical work [21,22], consumer-resource models are characterized by a globally stable equilibrium: the steady state is independent of the initial population abundances and resource concentrations. The competitive exclusion principle — one of the most fundamental results of theoretical ecology — limits the number of species that can coexist in a stable equilibrium: diversity cannot exceed the number of resources. While this bound is hard, it is often not realized, as only fewer species can coexist [23,24].

The number and identity of the species coexisting at equilibrium are in fact determined not only by the ecological dynamics, but also by the initial pool of species. This initial pool of species is often interpreted as the metacommunity diversity: the ecological dynamics unfold in a local community which is coupled to the metacommunity by rare migrations. Most of the recent progress in understanding the assembly of large ecological communities has been driven by the assumption of random species pools [2426]. This choice assumes that the parameters characterizing species’ physiological and ecological traits are independently drawn from some distribution. This assumption implicitly underlies a separation of spatial and temporal scales: the ecological dynamics determining the community composition in the local community occur independently of the evolutionary processes determining the pool of diversity of the metacommunity.

Instead of assuming a fixed species pool, one can allow individual traits to evolve dynamically, including the ones specifying their interactions with other individuals and the environment. Classic work in adaptive dynamics [27] has shown how, starting from a clonal population, diversification can evolve under general conditions of frequency-dependent selection. Several works have then studied eco-evolutionary dynamics of interacting populations [28,29], by allowing individuals’ traits to be subject to mutations and to be inherited by the following generation. “Intrinsic” fitness (how fast populations grow in an optimal environment) and niche differences (how the growth of different populations is coupled) both influence community evolution, and it is their interplay that determines the observed diversity of an evolved community [30].

A key difficulty in interpreting the outcomes of eco-evolutionary dynamics is the fact that there are no natural degrees of freedom to characterize the evolution of the community. The identity of populations, and not only their abundance, is under constant change. Here we show that the functional composition emerges as the natural variable that characterizes the composition of the community. In the setting of consumer-resource models, we identify the “function” as the individual ability to consume a resource and the “functional profile” as the fraction of individuals able to consume a given resource. This definition is natural in the context of community, functional, and trait-based ecology, and also provides a natural connection with the observations stemming from metagenomic studies, as the ability to grow on a given resource can be associated with the presence or absence of a given gene.

It is important to notice that this interpretation of “function” is not the only possible or interesting one. In particular, “function” is often used to refer to the services that microbial communities perform for their host or the environment. These functions cannot necessarily be reduced to a property of an individual cell, but they are rather emergent features of a community (e.g., the gut health of a host).

We consider the broad framework of consumer-resource-crossfeeding models under an explicit eco-evolutionary dynamics, where strains differ in their resource preferences and their intrinsic fitness. Higher resource intakes are balanced by lower efficiency (or equivalently, higher mortality) implemented by a metabolic trade-off [3133]. While previous studies have characterized the ecological equilibria of consumer-resource models with fixed species pools [31,32], our work introduces explicit evolutionary dynamics — mutations and horizontal gene transfer — and demonstrates that the eco-evolutionary trajectories converge to the same functional attractor predicted by the infinite-pool limit. We analytically predict the stationary functional composition — here defined as the fraction of individuals able to grow on a given resource — and validate these predictions against the full eco-evolutionary simulations, including in the presence of cross-feeding. Interestingly, we show that, once the functional attractor is reached, the strain dynamics are then dominated by fitness differences, implying that functional composition is robust (independent of small fitness differences) and redundant (achieved under multiple strain compositions). This two-phase dynamics — fast functional convergence followed by slow fitness-driven taxonomic turnover — provides a mechanistic explanation for functional redundancy in microbial communities.

Results

Consumer-resource-crossfeeding model with metabolic tradeoff

Our ecological framework builds on the standard consumer-resource-crossfeeding model [17] that describes how microbial populations interact with their environment through resource consumption and metabolic exchange (see Fig 1). The per-capita growth rate of a strain is given by:

(1)
thumbnail
Fig 1. Eco-evolutionary dynamics in consumer-resource communities with cross-feeding and metabolic trade-offs.

The model integrates ecological competition for resources with evolutionary processes to explain functional redundancy in microbial communities. Community composition (top): While taxonomic composition exhibits high variability and turnover over time, functional composition (fraction of individuals consuming each resource) converges to a stable, predictable attractor independent of strain identity. This can be interpreted as functional redundancy emerging from the interplay between ecological selection pressures and evolutionary innovation, allowing multiple taxonomic configurations to achieve identical functional profiles. Ecology (bottom left): Strains with consumption preferences compete for resources with concentrations in an environment with cross-feeding, where fraction ℓ of consumed resources is converted and released as different metabolites. A metabolic trade-off penalizes generalists (consuming many resources) with reduced growth efficiency compared to specialists, while strains also differ in intrinsic fitness independent of their resource consumption abilities. Evolution (bottom right): Two types of mutations alter consumption preferences: spontaneous mutations that randomly change resource utilization capabilities, and horizontal gene transfer that allows acquisition of consumption traits proportional to their frequency in the community. Intrinsic fitness values also mutate independently.

https://doi.org/10.1371/journal.pcbi.1014437.g001

This equation captures several key biological assumptions. Individuals are characterized by their resource preferences , which determine how efficiently they can consume each resource: means no consumption of resource i, while represents maximum consumption efficiency. The functional form encodes the dependency of the growth rate on the concentration of resource i (also known as functional response). We consider both linear and saturating (Monod-like) functional dependencies (see Materials and methods).

A key assumption in our approach is the metabolic trade-off implemented through the term , which is a monotonically increasing function of the sum of consumption rates . This captures the cost of consuming more resources. The form of the trade-off generalizes the case considered in [31,32], which assumes a constant total energy budget devoted to metabolism (H(z)=z).

While in the Materials and Methods we show that our results hold for linear, sub-linear, and super-linear tradeoffs, in the main text we explicitly use the linear case H(z)=1 + z. When , there is no trade-off and generalists face no disadvantage. As increases, the cost of metabolic versatility becomes more severe. The fixed energy budget scenario [31,32] (H(z)=z) is recovered in the limit of large values of .

Resource dynamics are modeled explicitly, incorporating both consumption and cross-feeding. Resources are externally supplied at constant rates and consumed by populations proportionally to their preferences. A fraction of consumed resources is used for growth, while the remaining fraction ℓ is converted into different metabolites and released back into the environment. This cross-feeding process, described by a transformation matrix , allows populations to indirectly benefit from resources they cannot directly consume [17]. Specifically, the concentration of resource i evolves according to

(2)

where the first term represents the external supply of resources, the second term represents consumption, and the third captures cross-feeding (see Materials and methods for full details).

The parameter represents intrinsic fitness differences. These are physiological variations that modulate the maintenance cost of an individual, independent of its resource utilization pattern. In the per-capita growth rate (Eq. 1), enters as a multiplicative factor on the death rate. This is mathematically equivalent to a fitness effect on the net growth rate (see Materials and methods). Such differences, which we refer to as intrinsic fitness, determine which population survives when two populations with identical resource preferences are competing. We use the term “strain” to identify groups of individuals sharing both identical resource preferences and intrinsic fitness values, while “ecotype” refers to strains with the same resource preferences but potentially different intrinsic fitness.

Evolution of resource preferences and intrinsic fitness

The evolutionary component of our model allows both resource preferences and intrinsic fitness to change through mutation. This dual evolution captures two distinct types of genetic changes observed in microbial populations: those affecting ecologically relevant phenotypes (such as losing the ability to transport a specific sugar) and those affecting general cellular processes (such as changes in ribosome efficiency) [30].

Mutations affecting resource preferences follow biologically motivated rules. The rate at which a strain loses the ability to consume a resource is constant, reflecting the general tendency for unused metabolic capabilities to be lost. Conversely, the rate of gaining new metabolic capabilities depends on two mechanisms: horizontal gene transfer, where the acquisition rate is proportional to how common that capability is in the population, and de novo mutations, which occur at a constant background rate. We consider different implementations of the mutational steps (e.g., including different scenarios for the relative rate of horizontal gene transfer, see Materials and methods) which, however, do not affect the results that are presented in the following.

Intrinsic fitness mutations are modeled as small random changes. We consider two radically different implementations of fitness evolution. As a first scenario, We consider the new value of the intrinsic fitness is drawn at random from a fixed distribution of width , independently of the parent’s fitness value. To ensure that the intrinsic fitness does not evolve directionally we extract a random value using the phenotype as a seed of the generator. This guarantees that the intrinsic fitness does not evolve towards the tails of the distribution by multiple extractions of the same species. The parameter controls the magnitude of fitness differences between strains, allowing us to explore scenarios ranging from nearly neutral evolution (small ) to strongly selective regimes (large ). We focus on the case of small fitness differences and extensively explore the effect of increasing values (see Materials and methods). This scenario is consistent with the biological interpretation that fitness differences arise from context-dependent factors (e.g., phage susceptibility, temperature adaptation) rather than from progressively optimizable traits [30]. This latter case corresponds to the second scenario, where we allowed to evolve as in a a staircase model, which mutations leading to larger fitness values without bound (see Materials and methods). Fig A in S1 Appendix shows that the second scenario leads to the same results.

The eco-evolutionary dynamics unfold as a sequence of ecological equilibration followed by successful invasions. When a new mutant appears, it faces demographic stochasticity during its initial growth phase. We account for this by calculating survival probabilities based on the mutant’s growth rate in the current environment (see Materials and methods). Only mutants that survive this bottleneck can potentially invade and alter the community composition.

This framework allows us to study how functional composition emerges and stabilizes even as the taxonomic composition of communities continues to evolve. The interplay between ecological selection (favoring efficient resource utilization and higher intrinsic fitness) and evolutionary constraints (the metabolic trade-off) drives the eco-evolutionary dynamics.

Eco-evolutionary dynamics produce stable functional attractors despite strain-level variability

Starting from a clonal population, a diverse community is rapidly assembled. Strain abundances change abruptly following successful invasion events and continue changing over the whole duration of the simulations (Fig 2A).

thumbnail
Fig 2. Stability of functional occurrences for communities evolving under a consumer-resource model.

The system is initialized with a small number of initial random strains, chosen so that each gene is present at least once. The system evolves in a chemostat with fixed resources input. When equilibrium is reached, one mutant is added to the batch. The chemostat then equilibrates to a new fixed point and the procedure is repeated until function and biomass reach stability. A: Time evolution of the relative abundances of individual strains for one realization of the system. Each colored line represents a different strain; strains appear and disappear as invasions and extinctions occur. B: Time evolution of functional occurrences for three different realizations of the system (distinguished by line style). Different colors represent different resources. 15 resources are given. The three realizations converge to the same functional profile despite starting from different initial conditions. C: Time evolution of the total biomass of the system. 20 realizations of the system are shown for each value of average resource income.

https://doi.org/10.1371/journal.pcbi.1014437.g002

However, the final community structure is remarkably simple if, instead of analyzing strain abundances, we focus on its functional composition. We define functional occurrence as the community consumption rate, averaged across individuals (see Materials and methods). After a short transient, the functional occurrences and the total biomass N relax to their respective stationary values and , which are very reproducible across different realizations (Fig 2B and 2C).

This behavior reveals that two phases characterize the eco-evolutionary dynamics (see Fig 2). The first phase is an initial-condition-dependent transient, where the community structure is mainly shaped by rapid invasions. In the second phase, conversely, the community has converged to a stable functional composition, which we refer to as the “functional attractor” in the following, and slowly evolves while reaching the final strain-level equilibrium. It is important to note that this attractor represents a region in the functional space, rather than a single static point. Although the community’s functional profile remains globally stable and predictable, it can exhibit minor fluctuations as the underlying taxonomic composition shifts due to ongoing, albeit slow, evolutionary dynamics.

This result is stronger than the expectation that total resource consumption must balance supply at equilibrium. While the balance of consumption and supply constrains the total consumption rate of each resource, it does not, by itself, predict how resource consumption is distributed across individuals. The functional occurrence — the fraction of individuals consuming resource i — is uniquely determined by environmental parameters, independently of which specific strains is part of the community. This independence from the species pool is a non-trivial consequence of the metabolic trade-off, which allows the Lyapunov function governing the ecological dynamics to be expressed purely in terms of the total biomass N and the functional occurrences , without reference to individual strain abundances (see Materials and methods). If the species pool is too limited to adequately explore the functional space, the community cannot converge to the predicted functional composition (Fig B in S1 Appendix).

Notably, the total biomass converges to a constant value during the second phase of the eco-evolutionary dynamics, which therefore affects only the relative abundance of strains. The sequence of invasions and extinctions of strains is determined by the interplay of fitness differences and niche differences, which are related to the dissimilarity of the resource preferences. Importantly, the trajectories of strain abundances are effectively constrained to occur within the lower-dimensional space determined by the constraints enforced through the functional occurrences . The strains involved in this turnover typically differ in their resource preference vectors (i.e., they belong to different ecotypes), not just in their intrinsic fitness values. The functional redundancy is therefore genuine and not merely a consequence of near-identical strains replacing each other.

During this second phase, the community has thus reached “functional maturity”, and the subsequent evolution — driven by intrinsic fitness differences — only affects strain composition while leaving the functional composition unaltered.

Infinite-pool model captures functional attractor properties

The stability and reproducibility of the functional attractor suggest that it is possible to predict analytically its properties. We considered a toy model of the eco-evolutionary dynamics that aims at mimicking the effective exploration of the phenotypic space performed by mutations. In particular, we consider only the ecological dynamics, initialized with an infinitely large species pool, which encompasses all possible strains (e.g., which would correspond to possible resource preferences in the case of ). A similar approach has been considered to study a simpler version of the model [31] (corresponding to the limit and no cross-feeding). The toy model further postulates a timescale separation between resource and population dynamics [31,32], which is not assumed in the full eco-evolutionary dynamics.

This simplified framework allows for analytical solutions. The consumer-resource-crossfeeding model with an infinite pool of diversity and no intrinsic fitness differences can be analytically solved. In the Materials and Methods, we show that the stationary functional occurrences and the total biomass are given by

(3)

and

(4)

Here, the parameter is the effective resource inflow into the system, which accounts for both externally supplied resources and those internally recycled through cross-feeding. Specifically, where captures the amplification of resource availability due to metabolic recycling (see Materials and methods).

The analytical calculations are based on many simplifying assumptions (infinitely large pool of diversity, no explicit resource dynamics, absence of fitness differences) which do not strictly hold for the more complex setting of the eco-evolutionary model. The close agreement between these analytical predictions and the full simulation results suggests that the eco-evolutionary dynamics are effective at exploring the landscape of possible phenotypes, mimicking the ’infinite-pool’ assumption. Even with a finite set of evolving strains, the continuous introduction of mutations allows the community to eventually find and converge upon the same functionally optimal state predicted by the simplified model. This indicates that the properties of the attractor are primarily governed by fundamental environmental and metabolic constraints rather than the specific trajectory of evolution. Nevertheless, Fig 3 shows that the predictions of Eq. 3 and Eq. 4 accurately describe the outcomes of the eco-evolutionary dynamics.

thumbnail
Fig 3. The theoretical predictions given by eqs. 14, 15 (solid lines) are reproduced by numerical integration of eqs. 5, 6 (markers).

A: Occurrence of the phenotypes as a function of resource income rates . According to equation 14 the most abundant resources (core) are consumed by all strains (=1) while the remaining ones only by a fraction . Notice that increasing reflects in a decrease of the number of core resources. B: Dependence of the total equilibrium population (biomass) on the value of . Here we find a dependence on the average resource income , which is absent for quantities in panel A. In each figure are represented 20 different noise realizations solutions of the system for each (A) and each (B).

https://doi.org/10.1371/journal.pcbi.1014437.g003

Resources can be divided into two groups according to their effective influx rate . If the influx rate is larger than a critical value , then the ability to metabolize that resource is a “core” function, shared by all the individuals in the community (i.e., or equivalently for all the strains present in the community). The value of depends on both the spread of the effective influx rate (the variability among the ) and the metabolic cost . The higher the metabolic cost and the variability, the higher the critical influx rate threshold and, consequently, the fewer the core resources.

At equilibrium, the resources with an influx rate below the critical threshold (i.e., the non-core resources) are consumed only by a fraction of the individuals. A linear relation links the functional occurrence with the effective resource influx rate . The slope of this relation is simply related to the metabolic cost and the total biomass, being equal to (see Materials and methods). By combining Eq. 3 and Eq. 4, one can obtain an explicit expression for . Fig 2B shows that the analytical expression for (as a function of the metabolic cost ) correctly matches the observations of the eco-evolutionary dynamics.

Functional composition demonstrates robust redundancy against fitness variation

An emerging feature of the present framework is that the functional composition of communities is extremely robust to fitness differences. We further explore this aspect by considering the community response to variation in intrinsic fitness. This variation mimics the temporal or spatial heterogeneity of environmental factors that influence growth, such as abiotic factors (temperature, pH, salinity, etc.) or phages with different host ranges.

We consider two complementary scenarios, which aim at exploring cross-sectional (across communities) and longitudinal (over time) variation. In the cross-sectional case, we compare the eco-evolutionary outcomes of several communities that share the same resource input but have independent intrinsic fitness values. Under this scenario, two individuals with the same resource preference will have uncorrelated intrinsic fitnesses between two different communities.

The longitudinal case assumes instead that intrinsic fitness fluctuates over time according to an Ornstein-Uhlenbeck process with a characteristic autocorrelation timescale (see Materials and methods). Over time ranges shorter than , intrinsic fitness is approximately constant. Over times larger than , intrinsic fitness decorrelates and becomes independent.

Figure 4 shows the strain and functional composition of communities in the two scenarios described above. In the cross-sectional case (Fig 4A and 4B), each community is evolved to the functional attractor with independent intrinsic fitness values: the strain composition differs markedly across communities, while the functional profile is largely unaffected by fitness variation. The longitudinal case (Fig 4C and 4D) shows a single community evolving over time with fluctuating intrinsic fitness. Unlike Fig 2A, where the community is assembling from scratch (with both functional and taxonomic composition changing during the transient), Fig 4C depicts a community that has already reached the functional attractor. The subsequent taxonomic turnover is driven entirely by the fluctuating fitness landscape and proceeds at a rate controlled by the autocorrelation timescale (Fig C in S1 Appendix). A linear time axis is used in Fig 4C (as opposed to the logarithmic axis in Fig 2) because the turnover dynamics are stationary, without the initial transient that requires log-scale visualization.

thumbnail
Fig 4. Fitness differences demonstrate functional stability.

While strain composition becomes highly variable and heterogeneous, the functional composition is preserved and unaffected by intrinsic fitness variation. A, B: Cross-sectional comparison of equilibrium configurations across communities with different realizations of intrinsic fitness values (static, i.e., constant in time for each community). Each bar in A represents a different community; colors denote distinct strains. B shows the corresponding functional occurrences, which remain nearly identical across communities. C, D: Longitudinal dynamics of a single community where intrinsic fitness values fluctuate over time following an Ornstein-Uhlenbeck process (see Materials and methods). C shows that strain composition turns over continuously as fitness values change, while D shows that functional occurrences remain stable throughout.

https://doi.org/10.1371/journal.pcbi.1014437.g004

These observations clearly show that functional redundancy naturally emerges in complex consumer-resource-crossfeeding models, closely reproducing the phenomenology observed in microbial communities [12].

To assess the generality of our findings, we tested the robustness of our predictions beyond the assumption of universal cross-feeding. In the model, we initially assume that the cross-feeding matrix is universal (strain-independent). To test the robustness of our predictions to this assumption, we examined communities where each ecotype has its own randomized cross-feeding matrix (see Materials and methods). Even under these more realistic conditions, the functional occurrences still depend on the effective resource influx rates in a manner consistent with our analytical predictions (Fig D in S1 Appendix). The relationship between functional composition and resource availability remains present, though with fluctuations around the ecotype-independent cross-feeding matrix case. Most importantly, functional composition remains robust to intrinsic fitness differences even when cross-feeding matrices vary across ecotypes, confirming that functional redundancy emerges even without universal metabolic stoichiometry.

Robustness of the functional attractor

The functional attractor is robust across a wide range of model assumptions, but its existence requires specific conditions. We systematically explored the sensitivity of our results to key parameters and modeling choices.

Conditions for the attractor. The metabolic trade-off () is essential: without it, the Lyapunov function no longer depends on the functional occurrences , and no selection pressure favors a specific functional composition. Similarly, the species pool must be large enough, or the evolutionary dynamics must run long enough, for the community to effectively explore the functional space. When only a small number of strains is available and no evolutionary dynamics is allowed, the community cannot converge to the predicted functional composition (Fig B in S1 Appendix). The eco-evolutionary dynamics play a key role in mimicking the effect of an infinite species pool, allowing convergence even from a small initial community. The number of resources R does not qualitatively affect the existence of the attractor: the relationship between functional occurrence and effective resource influx holds for R ranging from 5 to 25 (Fig E in S1 Appendix).

Fitness differences. Small intrinsic fitness differences () do not alter the functional composition (Fig F in S1 Appendix). Larger differences () partially disrupt the attractor, and very large differences () destroy it entirely: the functional profile becomes decoupled from the resource input and dominated by the resource preferences of the fittest strains (Fig G in S1 Appendix). The relevant comparison is between and the metabolic cost : when , fitness effects dominate over metabolic constraints.

Evolutionary parameters. The mutation rate, the ratio of gene loss to gain events, and the relative contribution of horizontal gene transfer versus de novo mutation all affect the speed of convergence to the attractor but not its final state (Fig H in S1 Appendix).

Functional response and trade-off shape. The choice of functional response — linear () or Monod () — does not affect the functional composition (Fig I in S1 Appendix). Non-linear trade-offs, both super-linear (H(z) = (1 + z)2) and sub-linear (), also produce convergence to a reproducible functional composition with core and non-core resources approximately linearly related to effective resource influx rates (Figs J and K in S1 Appendix).

Cross-feeding structure. Neither the strength nor the structure of the cross-feeding matrix affects convergence to the attractor (Fig L in S1 Appendix). The functional composition is robust even when cross-feeding matrices are ecotype-specific, varying from universal to fully strain-dependent stoichiometry (Fig D in S1 Appendix).

Discussion

Our results shed light on the composition of large ecological communities. While previous work has demonstrated that consumer-resource models with fixed species pools and metabolic trade-offs converge to ecological equilibria with specific functional properties [31,32], our work extends this in three important directions. First, we show that explicit eco-evolutionary dynamics — where strains are not drawn from a fixed pool but arise through mutation and horizontal gene transfer — reproduce the same functional attractors, demonstrating that evolution effectively mimics an infinite species pool. Second, we incorporate cross-feeding, which introduces effective resource influx rates that account for metabolic recycling, extending the analytical predictions to a wider class of models relevant to microbial communities [6]. Third, we show that the separation of the dynamics into a fast (functional) and a slow (taxonomic) phase provides a mechanistic explanation for the empirically observed phenomenon of functional redundancy [11,12], connecting theoretical ecology with metagenomics observations.

When the pool of diversity is not a-priori constrained but is instead allowed to evolve, the complex ecological dynamics can be decomposed in a fast, predictable, phase and a slow one, contingent on the (small, yet relevant) fitness differences. The community composition rapidly converges to a set of states, fully determined by resource availability. The ecological dynamics that follows is constrained on that subspace of solutions and is governed by the difference in relative fitness. Remarkably, this separation of fast and slow components directly maps into functional and taxonomic composition: the former is robust and governed only by effective resource influx rates, the latter is constrained by function, but free to move along functionally equivalent directions.

In our setting, the functional profile is defined by the average resource consumption rate. While it is expected that in an assembled community each niche is occupied (i.e., at least one ecotype is able to grow on each resource), our result is much stronger, showing that also the fraction of individuals able to grow on each resource is highly reproducible.

The functional robustness and functional redundancy are the direct consequences of the existence of the two dynamics phases that directly map onto taxonomic and functional variation. Functional robustness, the observation that functional composition is stable over time and across communities, originates from the existence of a functional attractor of the eco-evolutionary dynamics. While intrinsic fitness differences are small, they are not negligible as they determine the taxonomic composition within the functional attractor. Variation of the intrinsic fitness leads to functional redundancy, high taxonomic variability with conserved functional profile. The mechanism buffering the functional profile from this underlying taxonomic variation can be understood through a separation of selective pressures. The primary selective pressure, driven by resource availability and metabolic trade-offs, rapidly shapes the overall functional composition of the community, forcing it into the functional attractor. Once the community resides within this attractor, the direct selection pressure on function is weak. At this stage, the much smaller intrinsic fitness differences (determined by ) become the dominant factor in determining the competitive success among functionally similar strains. This secondary selection drives the turnover of strains without altering the conserved functional roles, as any new successful invader must still conform to the constraints imposed by the attractor.

The assumption of small intrinsic fitness differences is critical for observing functional robustness and redundancy. Increasing the magnitude of fitness differences also affects the functional profile. Typical intrinsic fitness differences of 1% do not substantially alter the functional composition (Fig F in S1 Appendix). However, larger differences (of the order of 10%) disrupt the structure of the functional attractor: the functional composition is determined by the resource preferences of the individuals with the largest intrinsic fitness, and the functional profile becomes largely decoupled from the resource input (see Figs F and G in S1 Appendix). Differences of 0.1% and smaller are indistinguishable from the analytical prediction, and the functional profile closely matches that predicted by the resource influx rates.

While our main analysis assumes universal cross-feeding stoichiometry across strains, this assumption is not critical to our main conclusions. The functional universality persists even when different ecotypes convert resources through distinct metabolic pathways with ecotype-specific cross-feeding matrices (Fig D in S1 Appendix). This robustness suggests that functional convergence arises from the constraints imposed by resource availability rather than from the specific details of metabolic conversion pathways. Even when individual ecotypes have unique metabolic stoichiometries, the community as a whole establishes an effective metabolic network. The functional attractor is then determined by the community-averaged effective resource influx (), which emerges from the collective metabolic activity of all coexisting strains, weighted by their abundances. This emergent, community-level property smooths over the underlying ecotype-specific variations, ensuring that the relationship between resource supply and functional composition remains predictable and robust.

The existence of these different regimes, where the functional composition is or is not affected by intrinsic fitness differences, is strictly related to the identification of the limiting factors shaping the communities. As mentioned previously, the intrinsic differences could be due to abiotic factors, but also to limiting factors other than resource availability (e.g., phages). If resources are limiting, we can expect that other factors will have a minimal effect on strain success. Conversely, if resources are not the limiting factors and other mechanisms determine strain growth and decline, the distribution of functional preferences in the population will not be robust, as it will be subject to the fluctuations of the other limiting factors.

Importantly, our results hold in the very specific setting of consumer-resource models considered here, where “function” is interpreted as the ability of an individual to grow on a given substrate. Our framework could be extended to explicitly include the factors responsible for intrinsic fitness differences (e.g., temperature ranges).

The metabolic trade-off is an essential ingredient of our framework. We focused on a fitness cost that is linear in the total rate of resource consumption, generalizing models with a fixed total rate [31,32] by including a basal maintenance cost. This basal cost becomes negligible if the cost per gene, relative to the basal cost, becomes very large. The presence of a non-zero basal cost determines the existence of core resources, whose consumption is shared by all individuals in the community. The form of the functional attractor is a mathematical consequence of the linearity of the metabolic trade-off. For linear trade-offs, the functional attractor is fully specified by the functional composition and is, in the limit of negligible fitness differences, independent of how functions are distributed across ecotypes. While non-linear trade-offs [33] could, in principle, affect the properties of the eco-evolutionary attractor, we explicitly consider both super-linear and sub-linear trade-offs and show that our results are qualitatively unchanged. The taxonomic composition is largely affected by fitness differences, while the functional composition remains robust. The stable functional composition displays core and non-core resources, which are (at least approximately) linearly related to the effective resource influx rates.

A remarkable aspect of our framework is that functional composition — as opposed to taxonomic composition — naturally emerges as the relevant, reproducible degree of freedom well suited for characterizing ecological communities. Our results demonstrate that the emergence of a stable and reproducible functional composition is a universal feature of consumer-resource-crossfeeding models [6]. This property is likely to hold more generally and not be restricted to consumer-resource systems or microbial communities. We expect that a similar approach could be developed to study mutualistic communities or pathogen dynamics.

Materials and methods

Definition of the model

We consider a consumer-resource model in presence of cross-feeding [17], which describes the dynamics of population abundances (for ) and resources concentration (for ). Changes in population abundance are defined by

(5)

where is a death term and is the efficiency of the conversion of energy into biomass. is the energy flux used for strain to grow from metabolite i. We can similarly define the energy flux into a cell from resource i and the energy released in the environment by the cell in the form of other metabolites obtained from from metabolites of type i. The associated dynamics of resource concentration is defined by

(6)

where defines the conversion between energy and concentration of resource i. The function specifies the dynamics of resource concentration in absence of consumers.

We assume that energy fluxes used for growth are a constant fraction of the total ones: . The energy fluxed from secreted metabolites is then given by . The cross-feeding matrix element defines energy conversion between resource j and resource i. Energy conservation implies .

The energy flux takes the form

(7)

where is a non-decreasing function of the concentration of resource i and is the maximal intake rate of resource i. The elements measure the intake rate of metabolite i strain relative to the maximum . Here we focus on the case of externally supplied resources , which assumes that dilution is negligible when the total population is around the carrying capacity [32].

We focus on a linear metabolic trade-off by assuming for death rates and yield the expression

(8)

Without loss of generality, we can set the timescale equal for all strains, as differences in can be reabsorbed in the definition of . In the simple setting of , the parameter measures the cost of being able to metabolize each metabolite ( is the fitness metabolic cost of a generalist).

Functional attractor

In the eco-evolutionary simulations, we always consider resources and populations changing over a similar timescale. To make analytical progress we approximate the full dynamics with the effective one obtained by assuming timescale separation — i.e., resource concentrations equilibrate faster than the changes in population abundances. We underline that we assume the separation of timescales only as an approximation, for the purpose of predicting analytically the outcomes of the numerical simulations, which are always obtained with explicit resource dynamics.

In this case, one can effectively describe the dynamics of populations as

(9)

where and the matrix . It is useful to notice that, in the limit and (such that the ration is finite in the limit) reduces to the model with constant total energy budget [31,32]. It is known [31] that

(10)

is a Lyapunov function. With our choice for the metabolic trade-off (8), such functional can be conveniently rewritten as

(11)

We then introduce the total population size and define the functional abundances as

(12)

which correspond to the fraction of individuals that are able to metabolize resource i. Interestingly, and surprisingly, when , the Lyapunov function can then be written as function of N and {F} alone:

(13)

The fact that the Lyapunov function depends only on the total biomass and the functional profile already suggest, even if it does not imply, that functional abundances are the relevant variable for the study of community composition.

By minimizing the function over in [0,1] one obtains

(14)

where the total biomass is the solution of

(15)

These equations can be solve iteratively, starting from and .

In the case with no intrinsic fitness differences (), the equilibrium solutions are identified by equations 14 and 15. For a given system, a fraction of resources will be core resources, i.e., shared by everyone . These core resources are the ones for which .

Eco-evolutionary dynamics

The mutation probability of a preference of resource i in strain depends on whether consumes or not i. The rate U-,i at which a mutant stops consuming resource i (the parent has and the mutant ) is constant, independent of i, and equal to U-. The rate at which a mutant starts consuming a resource i (the parent has and the mutant ) equals to . The quantity is the probability that an addition happens because of horizontal gene transfer, while the probability of “de-novo” mutations. The rate of horizontal transfer is proportional to the frequency of that allele in the population, while the rate of a de-novo mutation is independent of i.

The rate at which the resource preference i mutates in strain is then equal to

(16)

where is the per-capita birth rate on strain , which is equal to

(17)

In theory one could expect a new mutant to have abundance 1. The initial phase of its dynamics is then dominated by demographic stochasticity, with many mutants going to extinction despite having a positive (average) growth rate. In our framework, we do not consider this effect of demographic stochasticity explicitly, but we include it effectively. Since the initial abundance of the mutant is a small fraction of the total population, its stochastic dynamics can be approximated by a stochastic exponential growth. In this regime, the per-capita birth rate of the mutant is given by , where is the concentration of resource i prior to the mutant arrival. The per-capita death rate of the mutant reads . Under the assumption of a stochastic exponential growth the survival probability is given by

(18)

The strain intrinsic fitness values are independently drawn from a Gaussian distribution with mean 0 and standard deviation .

By calculating all these quantities for all possible mutations of all existing strains, one obtain the rate of invasion of a mutant which is obtained by changing the resource preference of strain for resource i. The rate of invasion reads

(19)

where the mutant differ from in the resource preference i.

We simulate the eco-evolutionary dynamics as a sequence of discrete small time steps . After a step of integration of equations 5 and 6 we update the values of , as they depend on strain abundances, and checked whether a mutant appeared. Each mutant, identified by the parent strain and a resource i, has probability to invade. If such an event occurs, the new mutant is introduced with an initial relative density equal to 10-5.

If no mutations appear for a long enough time, the ecological dynamics (obtained by integrating equations 5 and 6) reach an equilibrium point, identified numerically when the absolute value of the population growth rate is lower than 10-4. If the strain abundances are not changing, also the rates of invasions are constant in time (until the next successful invasion), and one can use a Gillespie algorithm. The time of the next successful invasion is drawn from an exponential distribution with average . The probability that the new mutant will replace strain differing in resource preference i is simply .

Choice of parameters and sensitivity analysis

The results presented in this paper were achieved using generic parameters, whose details can affect the distribution of taxa or relaxation time but not the macroscopic observables that characterize the functional attractor. In order to quantify the convergence to the functional attractor, we measure the discrepancy between the functional composition of the community during its eco-evolutionary trajectory and the functional composition predicted by equations 14 and 15. As a measure of the discrepancy, we consider the Kullback-Leibler divergence between the normalized functional profiles

(20)

The divergence is equal to zero if and only if the functional composition of the community (quantified by the ) matches the analytical expectation, i.e., if for all the i.

We considered in eq. 5 and 6. These choices do not affect the results, as they do not affect the ecological fixed point and its stability property (up to a rescaling of the abundances and concentrations). The timescale was also set to 1, without loss of generality.

Functional responses. In the main text we considered . We explore the effect of non-linear intake functions by considering a Monod-like form with different values of . Fig I in S1 Appendix shows that the value of has no effect on the functional composition of evolved communities.

Intrinsic fitness differences. The intrinsic fitness of any new mutant was drawn from a Gaussian distribution with mean zero and variance , independently of the fitness of the parent. In the main text we considered . Fig F in S1 Appendix explores the sensitivity of the results to the magnitude of the noise. Much larger values of noise (of the order 0.1) often disrupt the properties of the manifold. For instance, strains not consuming core resources are still able to survive because of high intrinsic fitness. For intrinsic fitness differences with a width of the order of 10-2, the functional composition converges to the analytical prediction, which becomes more and more accurate as fitness differences decrease.

Longitudinal fitness fluctuations. In the longitudinal scenario (Fig 4C and 4D), the intrinsic fitness of each existing strain fluctuates over time according to an Ornstein-Uhlenbeck process:

(21)

where is the autocorrelation timescale and controls the stationary standard deviation of the fitness fluctuations. The term is a delta-correlated noise. This process ensures that, at stationarity, the intrinsic fitness of each strain is drawn from a Gaussian distribution with variance , matching the cross-sectional case. The autocorrelation timescale determines the rate at which the taxonomic composition turns over: faster decorrelation leads to more rapid strain replacement. Fig C in S1 Appendix quantifies the autocorrelation of taxonomic and functional composition for different values of , confirming that functional composition remains stable regardless of the turnover rate.

Intrinsic fitness staircase evolution. To ensure that our specific choice of intrinsic fitness evolution was not key to our results we repeated our simulations using a staircase model for the evolution, where the intrinsic fitness of the offspring is inherited from the parent with a multiplicative mutation . To ensure that this would not bring the system towards diminishing intrinsic fitness differences we rewrote the death rate as

Such a model returned the same results as the main model used in the manuscript as shown in Fig A in S1 Appendix.

Timescale interpretation. Time in the model is measured in units of the inverse dilution rate . In chemostat-like microbial systems, dilution rates are typically per hour, so one model time unit corresponds to approximately hours. Convergence to the functional attractor occurs within time units (corresponding to years), after which the eco-evolutionary dynamics enters the second, taxonomic phase. The convergence timescale is controlled by the mutation rate: higher mutation rates accelerate convergence (Fig H in S1 Appendix). The key result, however, is the existence and universality of the functional attractor, not the precise convergence time.

Structure of the cross-feeding matrix. The strength of cross-feeding ℓ has no effect on convergence to the functional attractor (Fig L in S1 Appendix). The cross-feeding matrix D has been chosen following ref. [34]. The entries were extracted according to a Dirichlet distribution, where the resources are in three classes. We considered an effective sparsity of s = 0.1. The fraction of resources remaining in the same class was while the ones going to the waste class is . The structure of the cross-feeding matrix D does not affect the stationary functional composition of the community. Fig L in S1 Appendix the structure described above with one obtained by sampling all the entries from a uniform distribution (which correspond to the single class case and no-sparsity of ref. [20], observing no difference in the results).

Mutation rates. Fig H in S1 Appendix shows that the outcomes of the evolutionary trajectories are independent of frequencies of the different mutation steps. We varied the (average) total mutation rate , the ratio between mutation leading to deletions of resource preferences (with rate U-) and the ones leading to additions (U+), and the ratio between horizontal gene transfer and de-novo mutations. While the total mutation rate, and partially the ratio , affected the evolutionary trajectories and speed of adaptation, none of these parameters affected the convergence of the functional composition to the predicted attractor.

Non-linear tradeoff. Both the eco-evolutionary simulations and the analytical approximation are based on the assumption that the metabolic cost is linear in the consumed resources, as expressed in equation 8. In general, one could assume a non-linear tradeoff [33] that takes the form

(22)

where H(z) is an arbitrary non-linear, monotonically increasing, function. The linear case, on which we focus in the main text, corresponds to H(z)=1 + z. We considered the outcomes of the evolutionary trajectories in the case of a super-linear cost (H(z)=(1 + z)2, in Fig J in S1 Appendix) and a sub-linear cost (, in Fig K in S1 Appendix). In both scenarios, the functional composition converges to reproducible values, minimally affected by fitness differences. On the other hand, the taxonomic composition is much largely affected by fitness differences. Similarly to the linear metabolic cost functions, some resources correspond to core-functions () while the functional occurrences of non-core resources are linearly related to the effective influx rates . These evolutionary outcomes, obtained under non-linear metabolic costs, confirm the generality of our results beyond the linear metabolic cost case.

Ecotype-specific cross-feeding matrix. One important assumption of our framework is that the cross-feeding matrix is ecotype-independent, assuming a “universal stoichiometry”. In order to text the generality of our results we studied the effect of species specific-matrices, with variable degrees of universality.

We generate a matrix common to all species and one characterizing the ecotype-specific component . These matrices were independently generated as described above. The cross-feeding matrix of each species was defined as

(23)

where quantifies the degree of ecotype-specifity. The case considered in the main text (universal stoichiometry) corresponds to , while the full ecotype-specific case corresponds to .

Fig D in S1 Appendix shows the robustness of our results for different values of ecotype-specificity (). While increasing ecotype-specificity produces larger departures from the exact solution of universal stochiometry (), the observed functional composition is still similar to what predicted by the average cross-feeding matrix. This observation is even stronger if the averaging is weighted by strain population abundances (panel B of Fig D in S1 Appendix).

Supporting information

S1 Appendix. Supplementary figures.

Supporting figures (Fig A–Fig L), together with their legends, supporting the results and the robustness and sensitivity analyses presented in the main text. The figures are ordered by their first citation in the text.

https://doi.org/10.1371/journal.pcbi.1014437.s001

(PDF)

Acknowledgments

We thank M. Tikhonov for insightful discussions and P. Lechon and M. Corigliano for critical reading of the manuscript.

References

  1. 1. Madigan MT, Martinko J. Brock biology of microorganisms. 11th ed. SciELO Espana; 2005.
  2. 2. Grilli J. Macroecological laws describe variation and diversity in microbial communities. Nat Commun. 2020;11(1):4743. pmid:32958773
  3. 3. Zaoli S, Grilli J. A macroecological description of alternative stable states reproduces intra- and inter-host variability of gut microbiome. Sci Adv. 2021;7(43):eabj2882. pmid:34669476
  4. 4. Shoemaker WR. A macroecological perspective on genetic diversity in the human gut microbiome. PLoS One. 2023;18(7):e0288926. pmid:37478102
  5. 5. Shoemaker WR, Grilli J. Investigating macroecological patterns in coarse-grained microbial communities using the stochastic logistic model of growth. Elife. 2024;12:RP89650. pmid:38251984
  6. 6. Goldford JE, Lu N, Bajić D, Estrela S, Tikhonov M, Sanchez-Gorostiaga A, et al. Emergent simplicity in microbial community assembly. Science. 2018;361(6401):469–74. pmid:30072533
  7. 7. Estrela S, Vila JCC, Lu N, Bajić D, Rebolleda-Gómez M, Chang C-Y, et al. Functional attractors in microbial community assembly. Cell Syst. 2022;13(1):29-42.e7. pmid:34653368
  8. 8. Shoemaker WR, Sánchez Á, Grilli J. Macroecological patterns in experimental microbial communities. PLoS Comput Biol. 2025;21(5):e1013044. pmid:40341906
  9. 9. Messier J, McGill BJ, Lechowicz MJ. How do traits vary across ecological scales? A case for trait-based ecology. Ecol Lett. 2010;13(7):838–48. pmid:20482582
  10. 10. Burke C, Steinberg P, Rusch D, Kjelleberg S, Thomas T. Bacterial community assembly based on functional genes rather than species. Proc Natl Acad Sci U S A. 2011;108(34):14288–93. pmid:21825123
  11. 11. Louca S, Parfrey LW, Doebeli M, New Collective Author. Decoupling function and taxonomy in the global ocean microbiome. Science. 2016;353(6305):1272–7. pmid:27634532
  12. 12. Louca S, Polz MF, Mazel F, Albright MBN, Huber JA, O’Connor MI. Function and functional redundancy in microbial systems. Nature. 2018.
  13. 13. Ho PY, Huang KC. Challenges in quantifying functional redundancy and selection in microbial communities. bioRxiv. 2024:2024–03.
  14. 14. Macarthur R, Levins R. The limiting similarity, convergence, and divergence of coexisting species. Am Nat. 1967;101(921):377–85.
  15. 15. Tilman D. A consumer-resource approach to community structure. Am Zool. 1986;26(1):5–22.
  16. 16. Chesson P. MacArthur’s consumer-resource model. Theor Popul Biol. 1990;37(1):26–38.
  17. 17. Marsland R 3rd, Cui W, Goldford J, Sanchez A, Korolev K, Mehta P. Available energy fluxes drive a transition in the diversity, stability, and functional structure of microbial communities. PLoS Comput Biol. 2019;15(2):e1006793. pmid:30721227
  18. 18. Butler S, O’Dwyer JP. Stability criteria for complex microbial communities. Nat Commun. 2018;9(1):2970. pmid:30061657
  19. 19. Dal Bello M, Lee H, Goyal A, Gore J. A simple linear relationship between resource availability and microbial community diversity. bioRxiv. 2020;2020:2020.09.12.294660.
  20. 20. Marsland R 3rd, Cui W, Mehta P. A minimal model for microbial biodiversity can reproduce experimentally observed ecological patterns. Sci Rep. 2020;10(1):3308. pmid:32094388
  21. 21. Case TJ, Casten RG. Global stability and multiple domains of attraction in ecological systems. Am Nat. 1979;113(5):705–14.
  22. 22. Harrison GW. Global stability of predator-prey interactions. J Math Biology. 1979;8(2):159–71.
  23. 23. Serván CA, Capitán JA, Grilli J, Morrison KE, Allesina S. Coexistence of many species in random ecosystems. Nat Ecol Evol. 2018;2(8):1237–42. pmid:29988167
  24. 24. Cui W, Marsland R, Mehta P. Effect of resource dynamics on species packing in diverse ecosystems. Phys Rev Lett. 2020;125(4):048101. pmid:32794828
  25. 25. Bunin G. Ecological communities with Lotka-Volterra dynamics. Phys Rev E. 2017;95(4–1):042414. pmid:28505745
  26. 26. Advani M, Bunin G, Mehta P. Statistical physics of community ecology: a cavity solution to MacArthur’s consumer resource model. J Stat Mech. 2018;2018:033406. pmid:30636966
  27. 27. Geritz SAH, Kisdi E, Mesze´NA G, Metz JAJ. Evolutionarily singular strategies and the adaptive growth and branching of the evolutionary tree. Evol Ecol. 1998;12(1):35–57.
  28. 28. Ackland GJ, Gallagher ID. Stabilization of large generalized Lotka-Volterra foodwebs by evolutionary feedback. Phys Rev Lett. 2004;93(15):158701. pmid:15524949
  29. 29. DeLong JP, Gibert JP. Gillespie eco-evolutionary models (GEMs) reveal the role of heritable trait variation in eco-evolutionary dynamics. Ecol Evol. 2016;6(4):935–45. pmid:26941937
  30. 30. Good BH, Martis S, Hallatschek O. Adaptation limits ecological diversification and promotes ecological tinkering during the competition for substitutable resources. Proc Natl Acad Sci U S A. 2018;115(44):E10407–16. pmid:30322918
  31. 31. Tikhonov M. Community-level cohesion without cooperation. Elife. 2016;5:e15747. pmid:27310530
  32. 32. Posfai A, Taillefumier T, Wingreen NS. Metabolic trade-offs promote diversity in a model ecosystem. Phys Rev Lett. 2017;118(2):028103. pmid:28128613
  33. 33. Caetano RA, Ispolatov Y, Doebeli M. Evolution of diversity in metabolic strategies. bioRxiv. 2021:2020–10.
  34. 34. Marsland R, Cui W, Goldford J, Mehta P. The community simulator: a python package for microbial ecology. PLoS One. 2020;15(3):e0230430. pmid:32208436