0001 function newModel=permuteModel(model, indexes, type)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 newModel=model;
0018 indexes=indexes(:);
0019
0020 if strcmp(type,'rxns')
0021 if isfield(newModel,'rxns')
0022 newModel.rxns=newModel.rxns(indexes);
0023 end
0024 if isfield(newModel,'lb')
0025 newModel.lb=newModel.lb(indexes);
0026 end
0027 if isfield(newModel,'ub')
0028 newModel.ub=newModel.ub(indexes);
0029 end
0030 if isfield(newModel,'rev')
0031 newModel.rev=newModel.rev(indexes);
0032 end
0033 if isfield(newModel,'c')
0034 newModel.c=newModel.c(indexes);
0035 end
0036 if isfield(newModel,'S')
0037 newModel.S=newModel.S(:,indexes);
0038 end
0039 if isfield(newModel,'rxnNames')
0040 newModel.rxnNames=newModel.rxnNames(indexes);
0041 end
0042 if isfield(newModel,'rxnGeneMat')
0043 newModel.rxnGeneMat=newModel.rxnGeneMat(indexes,:);
0044 end
0045 if isfield(newModel,'grRules')
0046 newModel.grRules=newModel.grRules(indexes);
0047 end
0048 if isfield(newModel,'subSystems')
0049 newModel.subSystems=newModel.subSystems(indexes);
0050 end
0051 if isfield(newModel,'eccodes')
0052 newModel.eccodes=newModel.eccodes(indexes);
0053 end
0054 if isfield(newModel,'equations')
0055 newModel.equations=newModel.equations(indexes);
0056 end
0057 if isfield(newModel,'rxnMiriams')
0058 newModel.rxnMiriams=newModel.rxnMiriams(indexes);
0059 end
0060 if isfield(newModel,'rxnFrom')
0061 newModel.rxnFrom=newModel.rxnFrom(indexes);
0062 end
0063 if isfield(newModel,'rxnScores')
0064 newModel.rxnScores=newModel.rxnScores(indexes);
0065 end
0066 end
0067
0068 if strcmp(type,'mets')
0069 if isfield(newModel,'mets')
0070 newModel.mets=newModel.mets(indexes);
0071 end
0072 if isfield(newModel,'metNames')
0073 newModel.metNames=newModel.metNames(indexes);
0074 end
0075 if isfield(newModel,'b')
0076 newModel.b=newModel.b(indexes,:);
0077 end
0078 if isfield(newModel,'metComps')
0079 newModel.metComps=newModel.metComps(indexes);
0080 end
0081 if isfield(newModel,'S')
0082 newModel.S=newModel.S(indexes,:);
0083 end
0084 if isfield(newModel,'unconstrained')
0085 newModel.unconstrained=newModel.unconstrained(indexes);
0086 end
0087 if isfield(newModel,'metMiriams')
0088 newModel.metMiriams=newModel.metMiriams(indexes,:);
0089 end
0090 if isfield(newModel,'inchis')
0091 newModel.inchis=newModel.inchis(indexes);
0092 end
0093 if isfield(newModel,'metFormulas')
0094 newModel.metFormulas=newModel.metFormulas(indexes);
0095 end
0096 if isfield(newModel,'metFrom')
0097 newModel.metFrom=newModel.metFrom(indexes);
0098 end
0099 end
0100 end