Abstract

Full text Figures and data Side by side Abstract Editor's evaluation Introduction Results Discussion Materials and methods Appendix 1 Appendix 2 Data availability References Decision letter Author response Article and author information Metrics Abstract Different strains of a microorganism growing in the same environment display a wide variety of growth rates and growth yields. We developed a coarse-grained model to test the hypothesis that different resource allocation strategies, corresponding to different compositions of the proteome, can account for the observed rate-yield variability. The model predictions were verified by means of a database of hundreds of published rate-yield and uptake-secretion phenotypes of Escherichia coli strains grown in standard laboratory conditions. We found a very good quantitative agreement between the range of predicted and observed growth rates, growth yields, and glucose uptake and acetate secretion rates. These results support the hypothesis that resource allocation is a major explanatory factor of the observed variability of growth rates and growth yields across different bacterial strains. An interesting prediction of our model, supported by the experimental data, is that high growth rates are not necessarily accompanied by low growth yields. The resource allocation strategies enabling high-rate, high-yield growth of E. coli lead to a higher saturation of enzymes and ribosomes, and thus to a more efficient utilization of proteomic resources. Our model thus contributes to a fundamental understanding of the quantitative relationship between rate and yield in E. coli and other microorganisms. It may also be useful for the rapid screening of strains in metabolic engineering and synthetic biology. Editor's evaluation This study develops a rigorous resource allocation model for E. coli growing under steady-state conditions. Validated by comparison with a compiled data set, the model highlights the complex nature of the relationship between metabolites, growth rate, and yield which is significantly more complex than the one-to-one-one relationship that has generally been assumed. The work will be of interest not only to investigators interested in basic questions of bacterial physiology but also to those working on applied problems in biotechnology. https://doi.org/10.7554/eLife.79815.sa0 Decision letter Reviews on Sciety eLife's review process Introduction Microbial growth consists of the conversion of nutrients from the environment into biomass. This flux of material is coupled with a flux of energy from the substrate to small energy cofactors (ATP, NADH, NADPH, etc.) driving biomass synthesis forward and releasing energy in the process (Schaechter et al., 2006). The growth of microorganisms has been profitably analyzed from the perspective of resource allocation, that is, the assignment of limiting cellular resources to the different biochemical processes underlying growth (Scott et al., 2010; Scott et al., 2014; Molenaar et al., 2009; Giordano et al., 2016; Weiße et al., 2015; Reimers et al., 2017; Bosdriesz et al., 2015; Towbin et al., 2017; Maitra and Dill, 2015; Dourado and Lercher, 2020; Metzl-Raz et al., 2017). It is often considered that proteins, the main component of biomass, are also the bottleneck resource for growth. Proteins function as enzymes in carbon and energy metabolism and they constitute the molecular machines responsible for the synthesis of macromolecules, in particular proteins themselves. The composition of the proteome in a given growth condition can therefore be interpreted as the resource allocation strategy adopted by the cells to exploit available nutrients. Two macroscopic criteria for characterizing microbial growth are growth rate and growth yield. The former refers to the rate of conversion of substrate into biomass, and the latter to the efficiency of the process, that is, the fraction of substrate taken up by the cells that is converted into biomass. Several empirical relations between proteome composition on the one hand, and growth rate and growth yield on the other, have been established. A linear relation between growth rate and the ribosomal protein fraction of the proteome holds over a large range of growth rates and for a variety of microbial species (Scott et al., 2010; Neidhardt and Magasanik, 1960; Forchhammer and Lindahl, 1971; Bremer and Dennis, 1996). Variants of this so-called growth law have been found for cases of reduced translation capacities (Scott et al., 2010) or different temperatures (Herendeen et al., 1979; Mairet et al., 2021). While the ribosomal protein fraction increases with the growth rate, the proteome fraction allocated to energy metabolism decreases (Basan et al., 2015a; Schmidt et al., 2016). Moreover, within this decreasing fraction, Escherichia coli and other microorganisms move resources from respiration to fermentation pathways (Basan et al., 2015a). Simple mathematical models have been proposed to account for the above relations in terms of the requirements of self-replication of the proteome and the relative protein costs and ATP yields of respiration and fermentation (Scott et al., 2010; Molenaar et al., 2009; Giordano et al., 2016; Weiße et al., 2015; Bosdriesz et al., 2015; Dourado and Lercher, 2020; Mairet et al., 2021; Basan et al., 2015a; Mori et al., 2019). Most of these relations have been studied in experiments in which the same strain exhibits a range of growth rates in different environments, with different carbon sources. Even for a fixed environment, however, different strains of the same species may grow at very different rates and yields. For example, in a comparative study of seven E. coli strains, growth rates ranging from 0.61 to 0.97 hr-1, and (carbon) growth yields between 0.52 and 0.66, were observed during aerobic growth on glucose (Monk et al., 2016). Since the genes encoding enzymes in central carbon and energy metabolism are largely shared across the strains (Monk et al., 2016), the yield differences are not due to different metabolic capacities but rather to different regulatory strategies, that is, different usages of the metabolic pathways of the cell. As another example, evolution experiments with E. coli have given rise to evolved strains that grow more than 40% faster, sometimes with higher growth yields, than the ancestor strain in the same environment (LaCroix et al., 2015). Analysis of the underlying mutations reveals that the higher rates and yields of the evolved strains are not due to new metabolic capacities, but rather to modified regulatory strategies (LaCroix et al., 2015; Utrilla et al., 2016). Can the large variability of rate-yield phenotypes observed across different strains of the same species be explained by different resource allocation strategies, that is, different compositions of the proteome? In order to answer this question, we developed a coarse-grained resource allocation model that couples the fluxes of carbon and energy underlying microbial growth. The model was calibrated by means of existing data in the literature, without any parameter fitting, and its predictions were compared with a database of several hundreds of pairs of rates and yields of E. coli strains reported in the literature. The database includes wild-type strains as well as mutant strains obtained through directed mutagenesis or adaptive laboratory evolution (ALE). We found that, in different growth conditions, the predicted variability of rate-yield phenotypes corresponds very well with the observed range of phenotypes. This also holds for the variability of substrate uptake and acetate secretion rates. Whereas in the literature, a high rate is often associated with a low yield, due to a shift of resources from respiration to fermentation, many of the E. coli strains in our database grow at a high rate and a high yield. The model predicts that strains with a high-rate, high-yield phenotype require resource allocation strategies that increase metabolite concentrations in order to allow for the more efficient utilization of proteomic resources, in particular enzymes in metabolism and ribosomes in protein synthesis. This prediction is confirmed by experimental data for a high-rate, high-yield strain. A resource allocation strategy matching the observed strategy could only be found, however, when taking into account enzyme activities in addition to enzyme concentrations. These results are interesting for both fundamental research and biotechnological applications. They show that the application of coarse-grained models can be used to predict multivariate phenotypes, without making any assumptions on optimality criteria, and reveal unexpected relations confirmed by the experimental data. The model is capable of predicting quantitative bounds on growth rates and yields within a specific environment, which can be exploited for rapidly screening performance limits of strains developed in synthetic biology and metabolic engineering. Results Coarse-grained model with coupled carbon and energy fluxes Coarse-grained resource allocation models describe microbial growth by means of a limited number of macroreactions converting nutrients from the environment into proteins and other macromolecules. Several such models have been proposed, usually focusing on either carbon or energy fluxes (Scott et al., 2010; Molenaar et al., 2009; Giordano et al., 2016; Weiße et al., 2015; Maitra and Dill, 2015; Bosdriesz et al., 2015; Towbin et al., 2017; Mairet et al., 2021). Few models have taken into account both, that is, the use of substrate as a carbon source for macromolecules and as a source of free energy to fuel the synthesis of macromolecules. This coupling of carbon and energy fluxes is essential, however, for understanding the relation between growth rate and growth yield. Among the notable exceptions, we cite the model of Basan et al., 2015a (see also Mori et al., 2019), which couples carbon and energy fluxes while abstracting from the reaction kinetics, and the model of Zavřel et al., 2019, which does provide such a kinetic view but ignores macromolecules other than proteins and focuses on photosynthetic growth (see Appendix 1 for a discussion of existing coarse-grained resource allocation models). Figure 1 presents a coarse-grained kinetic model that takes inspiration from and generalizes this previous work. While the model is generic, it has been instantiated for aerobic growth of E. coli in minimal medium with glucose or glycerol as the limiting carbon source. The model variables are intensive quantities corresponding to cellular concentrations of proteins (p) and other macromolecules (DNA, RNA, and lipids forming cell membranes) (u), as well as central carbon metabolites (c) and ATP (a*). The central carbon metabolites notably comprise the 13 precursor metabolites from which the building blocks for macromolecules (amino acids, nucleotides, etc.) are produced (Schaechter et al., 2006). All concentrations have units Cmmol gDW-1, except for ATP [mmol gDW-1]. Five macroreactions are responsible for carbohydrate uptake and metabolism, ATP production by aerobic respiration and fermentation, and the synthesis of proteins and other macromolecules. The rates of the reactions, denoted by vm⁢c, vm⁢e⁢r, vm⁢e⁢f, vr, and vm⁢u [Cmmol gDW-1 hr-1], respectively, are defined by kinetic expressions involving protein, precursor metabolite, and ATP concentrations. Details of the rate equations and the derivation of the model from basic assumptions on microbial growth can be found in Appendix 1. Appendix 1—table 1 summarizes the definition of variables, reaction rates, and parameters. Figure 1 Download asset Open asset Coarse-grained model of microbial growth with coupled carbon and energy fluxes. Upper left figure: schematic outline of the model, showing the biomass constituents and the macroreactions, as well as the growth and degradation of biomass. Green boxes: system of differential equations describing the carbon and energy balances, growth rate and growth yield, and resource allocation. The kinetic expressions for the reaction rates can be found in Appendix 1. The growth rate and growth yield are defined in terms of the fluxes of the macroreactions. Lower right figure: biomass composition, including the protein categories considered in resource allocation. The fluxes vr, vm⁢u, vm⁢c, vm⁢e⁢r, vm⁢e⁢f, vd [Cmmol or mmol gDW-1 hr-1], the variables p, r, mu, mc, me⁢r, me⁢f, c, u, a* [Cmmol or mmol gDW-1], the resource allocation parameters χu, χr, χc, χe⁢r, χe⁢f [dimensionless], the degradation rate constant γ [hr-1], the biomass density β [Cmmol gDW-1], the ATP yield and cost factors nm⁢e⁢r, nm⁢e⁢f, nr, nm⁢u [mmol Cmmol-1], and the correction factors for CO2 loss ρm⁢e⁢f, ρr⁢u [dimensionless] are formally defined in Appendix 1. The values of the parameters are derived in Appendix 2. The carbon entering the cell is included in the different biomass components or released in the form of CO2 and acetate. CO2 is produced by respiration and macromolecular synthesis, while acetate overflow is due to aerobic fermentation (Basan et al., 2015a; Gottschalk, 1986). The carbon balance also includes the turnover of macromolecules, which is responsible for a large part of cellular maintenance costs (van Bodegom, 2007 and Appendix 1). The energy balance is expressed in terms of the production and consumption of ATP. While energy metabolism also involves other energy cofactors (NADP, NADPH, etc.), the latter can be converted into ATP during aerobic growth (Basan et al., 2015a; Gottschalk, 1986). We call the ATP fraction a*/(a*+a), where a* and a denote the ATP and ADP concentrations, respectively, the energy charge of the cell, by analogy with the concept of adenylate energy charge (Atkinson, 1968). The ATP yields of respiration and fermentation (nm⁢e⁢r and nm⁢e⁢f) as well as the ATP costs of the synthesis of proteins and other macromolecules (nr and nm⁢u) are determined by the stoichiometry of the underlying metabolic pathways and the biomass composition (Basan et al., 2015a; Kaleta et al., 2013 and Appendix 2). When total ATP production and consumption in growing microbial cells are computed from nm⁢e⁢r⁢vm⁢e⁢r+nm⁢e⁢f⁢vm⁢e⁢f and nr⁢vr+nm⁢u⁢vm⁢u, respectively, the former usually largely exceeds the latter (Feist et al., 2007; Russell and Cook, 1995). This so-called uncoupling phenomenon is explicitly accounted for by an energy dissipation term vd in the energy balance (Appendix 1). Like in other resource allocation models, the proteome is subdivided into categories (Scott et al., 2010; Basan et al., 2015a). We distinguish ribosomes and other translation-affiliated proteins, enzymes in central carbon metabolism, enzymes in respiration and fermentation metabolism, and a residual category of other proteins, with concentrations r, mc, me⁢r, me⁢f, and mu, respectively. The latter category includes proteins involved in the synthesis of RNA and DNA as well as in a variety of housekeeping functions. Each category of protein catalyzes a different macroreaction in Figure 1: ribosomes are responsible for protein synthesis, enzymes for carbon and energy metabolism, and residual proteins for the synthesis of macromolecules other than proteins. Note that the proteins in the residual category may thus catalyze a macroreaction, contrary to what is assumed in other models in the literature (Appendix 1). The protein synthesis capacity of the cell, given by the total protein synthesis rate vr, is distributed over the protein categories using five fractional resource allocation parameters that sum to 1: χu, χr, χc, χe⁢r, and χe⁢f. Fixing the resource allocation parameters determines the model dynamics and therefore the growth phenotype (Dourado and Lercher, 2020; Zavřel et al., 2019; de Groot et al., 2020). During balanced growth, when the system is at steady state, the resource allocation parameters equal the corresponding protein fractions, for example, χr*=r*/p*, where the asterisk (*) denotes the steady-state value (Appendix 1 and Erickson et al., 2017). Contrary to most models of microbial growth, the biomass includes other cellular components (DNA, RNA, metabolites, etc.) in addition to proteins (Appendix 1). The growth rate μ [hr-1] directly follows from the biomass definition, under the assumption that the total biomass concentration 1/β is constant (Appendix 1 and de Jong et al., 2017). The growth rate captures the specific accumulation of biomass corrected for degradation: (1) μ=β⁢(vm⁢c-vm⁢e⁢r-ρm⁢e⁢f⁢vm⁢e⁢f-(ρr⁢u-1)⁢(vr+vm⁢u))-γ, where ρm⁢e⁢f and ρr⁢u-1 denote the fractional loss of carbon by fermentation and macromolecular synthesis, respectively. More precisely, ρm⁢e⁢f and ρr⁢u, both greater than 1, express that CO2 is a by-product of the synthesis of acetate and of proteins and other macromolecules, respectively, adding to the total flux of carbon through these macroreactions (Basan et al., 2015a; Gottschalk, 1986). In the growth rate definition of Equation 1, the total macromolecular synthesis rate vr+vm⁢u is multiplied with ρr⁢u-1, because only the associated CO2 flux is lost to biomass production (Appendix 1). The growth yield is defined as the ratio of the net biomass synthesis rate (μ/β) and the substrate uptake rate vm⁢c: (2) Y=1β⁢μvm⁢c. Yields are dimensionless and vary between 0 and 1. They express the fraction of carbon taken up by the cells that is included in the biomass, a definition often used in ecology and biotechnology (Morin et al., 2016; Roller and Schmidt, 2015). The definitions of Equations 1 and 2 provide a rigorous statement of the carbon balance and thus enable the comparison of different resource allocation strategies. The model in Figure 1 was calibrated using data from the literature for batch or continuous growth of E. coli in minimal medium with glucose or glycerol. In brief, for the E. coli reference strain BW25113, we collected for each growth medium the growth rate and metabolite uptake and secretion rates (Peebo et al., 2015; Haverkorn van Rijsewijk et al., 2011; Gerosa et al., 2015), as well as protein and metabolite concentrations (Schmidt et al., 2016; Gerosa et al., 2015). Using additional assumptions based on literature data (Bennett et al., 2009; Dourado et al., 2021), we fixed a unique set of parameters for each condition (batch vs. continuous growth, glucose vs. glycerol), without parameter fitting (Appendix 2). The resulting set of quantitative models provides a concise but comprehensive representation of the growth of E. coli in different environments. Predicted rate-yield phenotypes for E. coli The reference strain used for calibrating the model has, for each of the conditions considered, a specific resource allocation strategy defined by the values of the resource allocation parameters: (χu,χr,χc,χe⁢r,χe⁢f). We ask the question how the growth rate and growth yield change, during balanced growth, when the resource allocation strategy is different from the one adopted by the reference strain. In other words, we consider the range of possible rate-yield phenotypes for strains with the same metabolic capacities as the reference strain, but different regulation of the allocation of protein resources to the macroreactions of Figure 1. The same parameter values for the kinetic constants are used as for the reference strain. This allows us to focus on differences in growth rate and growth yield that can be unambiguously attributed to differences in resource allocation. In order to predict the variability of rate-yield phenotypes, we uniformly sampled the space of possible resource allocation strategies. Except for the parameter χu, expressing the fraction of resources attributed to housekeeping and other proteins, the parameters defining a resource allocation strategy were allowed to vary over the entire range from 0 to 1, subject to the constraint that they sum to 1 (Figure 1). The allowed range of values for χu was limited to the observed variation in the reference strain over a large variety of growth conditions (different limiting carbon sources, different stresses, etc.) (Schmidt et al., 2016 and Figure 2—figure supplement 1). For every resource allocation strategy, we numerically simulated the system until a steady state was reached, corresponding to balanced growth of the culture (Materials and methods). From the steady-state values of the fluxes and concentrations, the growth rate and growth yield can then be computed by means of Equations 1 and 2 (Figure 2—figure supplement 3). Figure 2 shows the cloud of predicted rate-yield phenotypes for batch growth on glucose. A first observation is that the possible combinations of rate and yield are bounded. The growth rate does not exceed 1.1 hr-1, and for all but the lowest growth rates, the growth yield is larger than 0.3. The existence of an upper bound on the growth rate can be intuitively understood from Equation 1. The maximum growth rate is limited by the substrate uptake rate, which provides the carbon included in the biomass. In turn, the uptake rate is bounded by the concentration of enzymes responsible for substrate uptake and metabolism, a concentration that is ultimately limited by the total biomass concentration. The existence of a lower bound on the biomass yield is a direct consequence of the autocatalytic nature of microbial growth: the different growth-supporting functions are sustained by enzymes and ribosomes, which need to be continually produced to counter the effect of growth dilution and degradation. Figure 2 with 4 supplements see all Download asset Open asset Predicted rate-yield phenotypes and underlying resource allocation strategies. Predicted rate-yield phenotypes during balanced growth of E. coli on minimal medium with glucose (gray dots). The resource allocation strategy and growth physiology underlying the rate-yield phenotypes are shown for selected points, corresponding to the BW25113 reference strain (BW), predicted maximum growth rate (μmax), and predicted maximum growth yield (Ymax). The pictograms show the biomass composition, flux distribution, and energy charge. Note that by calibration, the predicted and observed resource allocation strategies for the reference strain are identical. We also indicate, for later reference, the rate-yield phenotype of the NCM3722 strain (NCM). A second observation is that, for low growth rates, the maximum growth yield increases with the rate, whereas it decreases for high growth rates, above 0.4 hr-1. The initial maximum yield increase can be attributed to the proportionally lower burden of the maintenance costs (Pirt, 1965). In particular, considering that a higher growth rate comes with a higher substrate uptake rate (Equation 1), the term γ/vm⁢c appearing in the definition of the yield when substituting the growth rate expression (Equation 2) rapidly diminishes in importance when the growth rate increases (Figure 4—figure supplement 1A). The decrease of the maximum yield at higher growth rates reflects a trade-off that has been much investigated in microbial physiology and ecology (Lipson, 2015; Beardmore et al., 2011) and to which we return below. Every point within the cloud of rate-yield phenotypes corresponds to a specific underlying resource allocation strategy. The mapping from resource allocation strategies to rate-yield phenotypes is far from straightforward due to the feedback loops in the model, which entail strong mutual dependencies between carbon and energy metabolism, protein synthesis, and growth. Useful insights into the nature of this mapping can be gained by visualizing the physiological consequences of a strategy in the form of a pictogram showing (i) the biomass composition, (ii) the flux map, and (iii) the energy charge. The pictogram summarizes how the incoming carbon flux is distributed over the biosynthesis, respiration, and fermentation fluxes, and how the concentrations of proteins, metabolites, and energy cofactors sustain these fluxes (Figure 2). Due to model calibration, the fluxes, concentrations, and energy charge for the point corresponding to the growth of the reference strain, labeled BW in Figure 2, agree with the experimental data. At steady state, the resource allocation parameters coincide with the protein fractions (Erickson et al., 2017 and Appendix 1), so that the relative sizes of the protein concentrations in the pictogram correspond to the resource allocation strategy adopted by the cells. As can be seen, the reference strain highly invests in ribosomal and other translation-oriented proteins, which take up almost 50% of the proteome. The pictogram also shows that the reference strain generates ATP by a combination of respiration and fermentation: both vm⁢e⁢r and vm⁢e⁢f are non-zero, and so are the corresponding enzyme concentrations me⁢r and me⁢f. Although proteins dominate the biomass, a non-negligible proportion of the latter consists of other macromolecules (25%) and central metabolites (1%) (Appendix 2). How does the reference point compare with other notable points in the cloud of predicted rate-yield phenotypes, in particular the points at which the growth rate and growth yield are maximal, denoted by μmax and Ymax? While the physiology of μmax is not radically different from that for the reference strain, it does have a number of distinctive features. The higher growth rate comes with a higher glucose uptake rate and a higher protein synthesis rate. The total protein concentration is lower though, due to increased growth dilution at the higher growth rate. Investment in energy metabolism has shifted from fermentation to respiration, in order to allow for more efficient ATP production at a lower enzyme concentration. The energy charge is slightly lower than in the reference strain. This is compensated for by a higher metabolite concentration, however, which leads to a higher saturation of ribosomes and allows protein synthesis to increase even at a lower ribosome concentration. In other words, bearing in mind the kinetic expression for protein synthesis from Appendix 1, (3) vr⁢(r,c,a*)=kr⁢r⁢cc+Kr⁢a*a*+Ka⁢r, where kr is a catalytic constant corresponding to the maximum protein synthesis rate and Kr,Ka⁢r half-saturation constants, vr can increase at μmax despite the decrease of r and a*, thanks to the increase of c. The rate-yield phenotype corresponding to Ymax has a predicted physiology that is strikingly different from the reference strain. The high yield is obtained by a strong reduction of protein synthesis and therefore lower concentrations of enzymes and ribosomes (Figure 2). Protein synthesis is the principal ATP-consuming process in microbial growth, so its reduction diminishes the need for ATP synthesis and decreases the associated loss of carbon (Figure 1). The net effect is a decrease of the growth rate, but an increase of the growth yield (Equations 1 and 2). The strong reduction of the concentration of proteins and other macromolecules at Ymax implies, by the assumption of constant biomass density (Appendix 1), that the metabolite concentration increases. This may correspond to the formation of glycogen, a glucose storage compound, which occurs when excess glucose cannot be used for macromolecular synthesis due to other limiting factors. Glycogen concentrations in wild-type E. coli cells are low, but there exist mutants which accumulate high amounts of glycogen, on the order of 25–30% of biomass (Morin et al., 2016). The biomass percentage of carbohydrates and lipids in other microorganisms, such as microalgae, reaches even higher levels (Finkel et al., 2016; Reitan et al., 2021). The upper boundary of the cloud of predicted rate-yield phenotypes in Figure 2, between Ymax and μmax, is a Pareto frontier. It corresponds to a trade-off between growth rate and growth yield, which cannot be simultaneously increased in this region. How can this trade-off be explained? By making appropriate assumptions, the model can be simplified along the Pareto frontier, which allows the decrease in growth yield with the increase in growth rate to be traced back to changes in the resource allocation strategy (Appendix 1 and Figure 2—figure supplement 4). In summary, the analysis shows that an increase in growth rate requires protein synthesis to be increased, which comes with a higher loss of carbon, and therefore a lower (maximum) yield. The increase in protein synthesis leads to a higher protein concentration, reflected in a resource allocation strategy shifting resources to the synthesis of enzymes in energy metabolism and ribosomes, and a correspondingly lower concentration of central carbon metabolites. That is, on the physiological level, the trade-off between growth rate and growth yield corresponds to a trade-off between protein and metabolite concentrations. Some caution should be exercised in the biological interpretation of the points μmax and Ymax, as they are located on the upper boundary of the cloud of predicted rate-yield phenotypes. They represent extreme phenotypes that may be counterselected in the environment in which E. coli evolves or that may violate basic biophysical constraints not included in the model. Nevertheless, the bounds do put a quantitative limit on the variability of rate-yield phenotypes that can be confronted with the available experimental data. Comparison of predicted and observed rate-yield phenotypes for E. coli We predicted the variability of rate-yield phenotypes of E. coli during batch growth in minimal medium with glucose or glycerol, and during continuous growth at different dilution rates in minimal medium with glucose. The resource allocation strategies were varied in each condition with respect to the strategy observed for the BW25113 s

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call