0001 function options = drawFluxVariability(map,model,minFlux,maxFlux,options,varargin)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 if nargin<5, options = []; end
0022 if ~isfield(options,'fluxVarColor'), options.fluxVarColor = []; end
0023 if mod(length(varargin),2)==0
0024 for i=1:2:length(varargin)-1
0025 options = setMapOptions(options,map,model,varargin{i},varargin{i+1});
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038 end
0039 else
0040 error('Invalid number of parameters/values');
0041 end
0042 color = zeros(length(model.rxns),3);
0043
0044 if ~isfield(options.fluxVarColor,'biDirColor')
0045 options.fluxVarColor.biDirColor = [0 255 0];
0046 end
0047 if ~isfield(options.fluxVarColor,'uniDirIrrColor')
0048 options.fluxVarColor.uniDirIrrColor = [0 0 255];
0049 end
0050 if ~isfield(options.fluxVarColor,'uniDirFwdColor')
0051 options.fluxVarColor.uniDirFwdColor = [255 0 255];
0052 end
0053 if ~isfield(options.fluxVarColor,'uniDirRevColor')
0054 options.fluxVarColor.uniDirRevColor = [0 255 255];
0055 end
0056 if isfield(options,'rxnDirMultiplier')
0057 options.rxnDirFlag = true;
0058 end
0059 if ~isfield(options,'rxnDirFlag')
0060 rxnDirFlag = false;
0061 else
0062 rxnDirFlag = options.rxnDirFlag;
0063 end
0064
0065
0066
0067 for i=1:length(model.rxns)
0068 if minFlux(i)*maxFlux(i)>=0
0069
0070 if model.rev(i)
0071
0072 if minFlux(i)<0 || maxFlux(i)<0
0073
0074 color(i,:) = options.fluxVarColor.uniDirRevColor;
0075 else
0076
0077 color(i,:) = options.fluxVarColor.uniDirFwdColor;
0078 end
0079 else
0080
0081 color(i,:) = options.fluxVarColor.uniDirIrrColor;
0082 end
0083 else
0084
0085 color(i,:) = options.fluxVarColor.biDirColor;
0086 end
0087 end
0088
0089 if rxnDirFlag
0090 options.rxnDir = zeros(length(map.rxnIndex),1);
0091 options.rxnDir(ismember(map.connectionAbb,model.rxns((maxFlux>0) & (minFlux>=0)))) = 1;
0092 options.rxnDir(ismember(map.connectionAbb,model.rxns((maxFlux<=0) & (minFlux<0)))) = -1;
0093 end
0094
0095 options = setMapOptions(options,map,model,'edgeColor',color);
0096 drawCbMap(map,options);