COnstraint-Based Reconstruction and Analysis (COBRA) provides a molecular mechanistic framework for integrative analysis of experimental data and quantitative prediction of physicochemically and biochemically feasible phenotypic states. The COBRA Toolbox is a comprehensive software suite of interoperable COBRA methods. It has found widespread applications in biology, biomedicine, and biotechnology because its functions can be flexibly combined to implement tailored COBRA protocols for any biochemical network. Version 3.0 includes new methods for quality controlled reconstruction, modelling, topological analysis, strain and experimental design, network visualisation as well as network integration of chemoinformatic, metabolomic, transcriptomic, proteomic, and thermochemical data. New multi-lingual code integration also enables an expansion in COBRA application scope via high-precision, high-performance, and nonlinear numerical optimisation solvers for multi-scale, multi-cellular and reaction kinetic modelling, respectively. This protocol can be adapted for the generation and analysis of a constraint-based model in a wide variety of molecular systems biology scenarios. This protocol is an update to the COBRA Toolbox 1.0 and 2.0. The COBRA Toolbox 3.0 provides an unparalleled depth of constraint-based reconstruction and analysis methods. ]); 61 | The MUST sets are the sets of reactions that must increase or decrease their flux in order to achieve the desired phenotype in the mutant strain. As shown in Figure 6, the first order MUST sets are MustU and MustL while second order MUST sets are denoted as MustUU, MustLL, and MustUL. After parameters and constraints are defined, the functions findMustL and findMustU are run to determine the mustU and mustL sets, respectively. Define an ID of the run with:Each time the MUST sets are determined, folders are generated to read inputs and store outputs, i.e., reports. These folders are located in the directory defined by the uniquely defined runID.62 | In order to find the first order MUST sets, constraints should be defined: >> constrOpt = struct('rxnList', {{'EX_gluc', 'R75', 'EX_suc'}}, 'values', [-100; 0; 155.5]); 63 | The first order MUST set MustL is determined by running: >> [mustLSet, pos_mustL] = findMustL(model, minFluxesW, maxFluxesW, ... 'constrOpt', constrOpt, 'runID', runID);If runID is set to 'TestoptForceL', a folder TestoptForceL is created, in which two additional folders InputsMustL and OutputsMustL are created. The InputsMustL folder contains all the inputs required to run the function findMustL, while the OutputsMustL folder contains the mustL set found and a report that summarises all the inputs and outputs. In order to maintain a chronological order of computational experiments, the report is timestamped.64 | Display the reactions that belong to the mustL set using: >> disp(mustLSet) 65 | The first order MUST set MustU is determined by running: >> [mustUSet, pos_mustU] = findMustU(model, minFluxesW, maxFluxesW, ... 'constrOpt', constrOpt, 'runID', runID);...