moveRxn

PURPOSE ^

The function moves a reaction from one spot in the network to another,

SYNOPSIS ^

function [model] = moveRxn(model,startspot,endspot)

DESCRIPTION ^

 The function moves a reaction from one spot in the network to another,
 useful for placing important reactions at the beginning of the network to
 easier follow certain reactions.

 [model] = moveRxn(model,startspot,endspot)

INPUTS
 model         COBRA model structure
 startspot     The reaction number to move
 endspot       The spot where the reaction is moving to% 
 
OUTPUTS
 model         COBRA toolbox model structure with moved reaction
 
 Aarash Bordbar 09/21/09

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [model] = moveRxn(model,startspot,endspot)
0002 % The function moves a reaction from one spot in the network to another,
0003 % useful for placing important reactions at the beginning of the network to
0004 % easier follow certain reactions.
0005 %
0006 % [model] = moveRxn(model,startspot,endspot)
0007 %
0008 %INPUTS
0009 % model         COBRA model structure
0010 % startspot     The reaction number to move
0011 % endspot       The spot where the reaction is moving to%
0012 %
0013 %OUTPUTS
0014 % model         COBRA toolbox model structure with moved reaction
0015 %
0016 % Aarash Bordbar 09/21/09
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

Generated on Thu 21-Jun-2012 15:39:23 by m2html © 2003