Home > RAVEN > permuteModel.m

permuteModel

PURPOSE ^

permuteModel

SYNOPSIS ^

function newModel=permuteModel(model, indexes, type)

DESCRIPTION ^

 permuteModel
   Changes the order of the reactions or metabolites in a model

   model     a model structure
   indexes   a vector with the same length as the number of reactions in the
             model which gives the new order of reactions
   type      'rxns' for reactions and 'mets' for metabolites

     newModel  an updated model structure

     Usage: newModel=permuteModel(model, indexes, type)

   Rasmus Agren, 2013-08-01

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function newModel=permuteModel(model, indexes, type)
0002 % permuteModel
0003 %   Changes the order of the reactions or metabolites in a model
0004 %
0005 %   model     a model structure
0006 %   indexes   a vector with the same length as the number of reactions in the
0007 %             model which gives the new order of reactions
0008 %   type      'rxns' for reactions and 'mets' for metabolites
0009 %
0010 %     newModel  an updated model structure
0011 %
0012 %     Usage: newModel=permuteModel(model, indexes, type)
0013 %
0014 %   Rasmus Agren, 2013-08-01
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,'rxnComps')
0061         newModel.rxnComps=newModel.rxnComps(indexes);
0062     end
0063     if isfield(newModel,'rxnFrom')
0064         newModel.rxnFrom=newModel.rxnFrom(indexes);
0065     end
0066     if isfield(newModel,'rxnScores')
0067         newModel.rxnScores=newModel.rxnScores(indexes);
0068     end
0069 end
0070 
0071 if strcmp(type,'mets')
0072     if isfield(newModel,'mets')
0073         newModel.mets=newModel.mets(indexes);
0074     end
0075     if isfield(newModel,'metNames')
0076         newModel.metNames=newModel.metNames(indexes);
0077     end
0078     if isfield(newModel,'b')
0079         newModel.b=newModel.b(indexes,:);
0080     end
0081     if isfield(newModel,'metComps')
0082         newModel.metComps=newModel.metComps(indexes);
0083     end
0084     if isfield(newModel,'S')
0085         newModel.S=newModel.S(indexes,:);
0086     end
0087     if isfield(newModel,'unconstrained')
0088         newModel.unconstrained=newModel.unconstrained(indexes);
0089     end
0090     if isfield(newModel,'metMiriams')
0091         newModel.metMiriams=newModel.metMiriams(indexes,:);
0092     end
0093     if isfield(newModel,'inchis')
0094         newModel.inchis=newModel.inchis(indexes);
0095     end
0096     if isfield(newModel,'metFormulas')
0097         newModel.metFormulas=newModel.metFormulas(indexes);
0098     end
0099     if isfield(newModel,'metFrom')
0100         newModel.metFrom=newModel.metFrom(indexes);
0101     end
0102 end
0103 end

Generated on Mon 06-Jan-2014 14:58:12 by m2html © 2005