Home > INIT > INITStepDesc.m

INITStepDesc

PURPOSE ^

SYNOPSIS ^

This is a script file.

DESCRIPTION ^

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SUBFUNCTIONS ^

SOURCE CODE ^

0001 classdef INITStepDesc
0002 % Describes a step in the ftINIT algorithm. A cell array of objects of this
0003 % class is used as input to ftINIT to specify how the algorithm should be run.
0004    properties
0005       PosRevOff
0006       AllowMetSecr
0007       HowToUsePrevResults %'ignore', 'exclude', 'essential'
0008       RxnsToIgnoreMask %Specifies reactions to leave outside the problem in
0009                        %the MILP.
0010                        % [b1,b2,b3,b4,b5,b6,b7,b8], bx is either 0 or 1,
0011                        % where 1 means that the group is excluded.
0012                        % b1 - Exchange rxns
0013                        % b2 - Import rxns without GPRs (from s into the cell)
0014                        % b3 - Simple transport reactions without GPRs (moves one metabolite between compartments)
0015                        % b4 - Advanced transport reactions without GPRs (moves metabolites between compartments, more complex function such as antiporter)
0016                        % b5 - Spontaneous reactions
0017                        % b6 - Reactions in the s compartment without GPRs
0018                        % b7 - Customly specified rxns (sent in when generating prepData)
0019                        % b8 - All rxns without GPRs
0020 
0021       MetsToIgnore % Structure describing mets that can be removed from the model
0022                    % before running ftINIT, such as water etc.
0023                    % .simpleMets
0024                    %      .mets        Names of metabolites to remove
0025                    %      .compsToKeep Compartments for which metabolites should be kept.
0026       MILPParams %Cell array of MILPparams - dictates how many iterations that will be run in this step.
0027                  %Typically, MIPGap and TimeLimit is specified. ftINIT additionally
0028                  %defaults Threads to 1 (single-threaded Gurobi) for determinism;
0029                  %set Threads here to override (0 = use all cores).
0030       AbsMIPGaps %If the objective is close to zero, a percentage of that is very small.
0031                  %Therefore, also set an absolut value for this (typically 10 or 20).
0032                  %For practical reasons, the first number is not used
0033    end
0034    methods
0035       function obj = INITStepDesc(posRevOff_, AllowMetSecr_, howToUsePrevResults_, rxnsToIgnoreMask_, metsToIgnore_, MILPParams_, absMIPGaps_)
0036          if nargin > 0
0037             obj.PosRevOff = posRevOff_;
0038          else
0039             obj.PosRevOff = false;
0040          end
0041          if nargin > 1
0042             obj.AllowMetSecr = AllowMetSecr_;
0043          else
0044             obj.AllowMetSecr = false;
0045          end
0046          if nargin > 2
0047             obj.HowToUsePrevResults = howToUsePrevResults_;
0048          else
0049             obj.HowToUsePrevResults = 'essential';
0050          end
0051          if nargin > 3
0052             obj.RxnsToIgnoreMask = rxnsToIgnoreMask_;
0053          else
0054             obj.RxnsToIgnoreMask = [1;0;0;0;0;0;0;0];
0055          end
0056          if nargin > 4
0057             obj.MetsToIgnore = metsToIgnore_;
0058          else
0059             obj.MetsToIgnore = [1;0;0;0;0;0;0;0];
0060          end
0061          if nargin > 5
0062             obj.MILPParams = MILPParams_;
0063          else
0064             params = struct();
0065             params.TimeLimit = 5000;
0066             params.MIPGap = 0.0004;            
0067             obj.MILPParams = {params};
0068          end
0069          
0070          if nargin > 6
0071             obj.AbsMIPGaps = absMIPGaps_;
0072          else
0073             obj.AbsMIPGaps = 10;            
0074          end
0075       end
0076    end
0077 end

Generated by m2html © 2005