0001 function [model] = moveRxn(model,startspot,endspot)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 if startspot > endspot
0019 option = 1;
0020 else
0021 option = 0;
0022 end
0023
0024 oldModel = model;
0025
0026 lb = oldModel.lb(startspot);
0027 if option == 1
0028 model.lb(endspot+1:startspot) = oldModel.lb(endspot:startspot-1);
0029 model.lb(endspot) = lb;
0030 else
0031 model.lb(startspot:endspot-1) = oldModel.lb(startspot+1:endspot);
0032 model.lb(endspot) = lb;
0033 end
0034
0035 ub = oldModel.ub(startspot);
0036 if option == 1
0037 model.ub(endspot+1:startspot) = oldModel.ub(endspot:startspot-1);
0038 model.ub(endspot) = ub;
0039 else
0040 model.ub(startspot:endspot-1) = oldModel.lb(startspot+1:endspot);
0041 model.ub(endspot) = ub;
0042 end
0043
0044 c = oldModel.c(startspot);
0045 if option == 1
0046 model.c(endspot+1:startspot) = oldModel.c(endspot:startspot-1);
0047 model.c(endspot) = c;
0048 else
0049 model.c(startspot:endspot-1) = oldModel.c(startspot+1:endspot);
0050 model.c(endspot) = c;
0051 end
0052
0053 if isfield(model,'rxns')
0054 rxn = oldModel.rxns(startspot);
0055 if option == 1
0056 model.rxns(endspot+1:startspot) = oldModel.rxns(endspot:startspot-1);
0057 model.rxns(endspot) = rxn;
0058 else
0059 model.rxns(startspot:endspot-1) = oldModel.rxns(startspot+1:endspot);
0060 model.rxns(endspot) = rxn;
0061 end
0062 end
0063
0064 if isfield(model,'rxnNames')
0065 rxnName = oldModel.rxnNames(startspot);
0066 if option == 1
0067 model.rxnNames(endspot+1:startspot) = oldModel.rxnNames(endspot:startspot-1);
0068 model.rxnNames(endspot) = rxnName;
0069 else
0070 model.rxnNames(startspot:endspot-1) = oldModel.rxnNames(startspot+1:endspot);
0071 model.rxnNames(endspot) = rxnName;
0072 end
0073 end
0074
0075 if isfield(model,'subSystems')
0076 subSystem = oldModel.subSystems(startspot);
0077 if option == 1
0078 model.subSystems(endspot+1:startspot) = oldModel.subSystems(endspot:startspot-1);
0079 model.subSystems(endspot) = subSystem;
0080 else
0081 model.subSystems(startspot:endspot-1) = oldModel.subSystems(startspot+1:endspot);
0082 model.subSystems(endspot) = subSystem;
0083 end
0084 end
0085
0086 if isfield(model,'rules')
0087 rule = oldModel.rules(startspot);
0088 if option == 1
0089 model.rules(endspot+1:startspot) = oldModel.rules(endspot:startspot-1);
0090 model.rules(endspot) = rule;
0091 else
0092 model.rules(startspot:endspot-1) = oldModel.rules(startspot+1:endspot);
0093 model.rules(endspot) = rule;
0094 end
0095 end
0096
0097 if isfield(model,'grRules')
0098 grRule = oldModel.rules(startspot);
0099 if option == 1
0100 model.grRules(endspot+1:startspot) = oldModel.grRules(endspot:startspot-1);
0101 model.grRules(endspot) = grRule;
0102 else
0103 model.grRules(startspot:endspot-1) = oldModel.grRules(startspot+1:endspot);
0104 model.grRules(endspot) = grRule;
0105 end
0106 end
0107
0108 if isfield(model,'rev')
0109 rev = oldModel.rev(startspot);
0110 if option == 1
0111 model.rev(endspot+1:startspot) = oldModel.rev(endspot:startspot-1);
0112 model.rev(endspot) = rev;
0113 else
0114 model.rev(startspot:endspot-1) = oldModel.rev(startspot+1:endspot);
0115 model.rev(endspot) = rev;
0116 end
0117 end
0118
0119 rxnS = oldModel.S(:,startspot);
0120 if option == 1
0121 model.S(:,endspot+1:startspot) = oldModel.S(:,endspot:startspot-1);
0122 model.S(:,endspot) = rxnS;
0123 else
0124 model.S(:,startspot:endspot-1) = oldModel.S(:,startspot+1:endspot);
0125 model.S(:,endspot) = rxnS;
0126 end
0127
0128 rxnGene = oldModel.rxnGeneMat(startspot,:);
0129 if option == 1
0130 model.rxnGeneMat(endspot+1:startspot,:) = oldModel.rxnGeneMat(endspot:startspot-1,:);
0131 model.rxnGeneMat(endspot,:) = rxnGene;
0132 else
0133 model.rxnGeneMat(startspot:endspot-1,:) = oldModel.rxnGeneMat(startspot+1:endspot,:);
0134 model.rxnGeneMat(endspot,:) = rxnGene;
0135 end