Initial sampler

initialSampler(ensemble, modelI)

Samples initial ensemble of kinetic models.

Checks if sampled models are valid and only returns valid ones. A model is considered valid if

  • for all reactions the fluxes and respective Gibbs energies are compatible;

  • the real part of the jacobian eigenvalues is lower than the defined threshold;

  • the difference between the predicted flux and the reference flux is negligible.

  • if the rejection sampler is used, the difference between the model and the data is smaller than the defined tolerance.

USAGE:

[isModelValid, models, strucIdx, xopt, tolScore, simulatedFlux] = initialSampler(ensemble)

INPUT:

ensemble (struct): initialized model ensemble, see initializeEnsemble for a list of all fields in the ensemble struct.

OUTPUT:

isModelValid (logical): whether or not model is valid. models (struct): sampled model

  • poolFactor (double vector) : relative pool proportions of specific metabolites at reference state (e.g., atp/adp)

  • refFlux (double vector) : reference reaction fluxes (mean)

  • metConcRef (double vector) : reference metabolite concentrations (sampled within thermodynamically feasible ranges)

  • gibbsTemp (double vector) : Gibbs reactions energies

  • rxnParams (struct) : reactions parameters

    • reversibilities (double vector) : sampled elementary reaction reversibilities

    • enzymeAbundances (double vector) : sampled enzyme intermediates abundances

    • modifierElemFlux (double vector) : [TODO Pedro]

    • branchFactor (double vector) : [TODO Pedro]

    • kineticParams (double vector) : reaction kinetic parameters

strucIdx (int): model structure ID xopt (double vector): predicted metabolite and enzyme concentrations of an experimentally consistent model tolScore (double vector): discrepancy tolerance between predicted and experimental fluxes simulatedFlux (double vector): predicted fluxes