Home > RAVEN > cleanBadCharsInModel.m

cleanBadCharsInModel

PURPOSE ^

cleanBadCharsInModel

SYNOPSIS ^

function model=cleanBadCharsInModel(model)

DESCRIPTION ^

 cleanBadCharsInModel
   Converts characters which are illegal in SBML to their entity reference

   model    a model structure

   model   a model structure without characters which are illegal in SBML

   The characters <>&'" are illegal in SBML (in most cases). They are here
   converted to their entity references. The main purpose of this function
   is for using in exportModel to ensure that the resulting SBML file is
   valid.

   Usage: model=cleanBadCharsInModel(model)

   Rasmus Agren, 2013-08-03

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function model=cleanBadCharsInModel(model)
0002 % cleanBadCharsInModel
0003 %   Converts characters which are illegal in SBML to their entity reference
0004 %
0005 %   model    a model structure
0006 %
0007 %   model   a model structure without characters which are illegal in SBML
0008 %
0009 %   The characters <>&'" are illegal in SBML (in most cases). They are here
0010 %   converted to their entity references. The main purpose of this function
0011 %   is for using in exportModel to ensure that the resulting SBML file is
0012 %   valid.
0013 %
0014 %   Usage: model=cleanBadCharsInModel(model)
0015 %
0016 %   Rasmus Agren, 2013-08-03
0017 %
0018 
0019 %These are IDs and shouldn't have to be checked since it's illegal to have
0020 %non-alphanumeric characters there. This should be checked in
0021 %checkModelStruct instead.
0022 model.id=cleanBadChars(model.id);
0023 model.mets=cleanBadChars(model.mets);
0024 model.rxns=cleanBadChars(model.rxns);
0025 model.comps=cleanBadChars(model.comps);
0026 if isfield(model,'compOutside')
0027     model.compOutside=cleanBadChars(model.compOutside);
0028 end
0029 
0030 if isfield(model,'compNames')
0031     model.compNames=cleanBadChars(model.compNames);
0032 end
0033 if isfield(model,'description')
0034     model.description=cleanBadChars(model.description);
0035 end
0036 if isfield(model,'rxnNames')
0037     model.rxnNames=cleanBadChars(model.rxnNames);
0038 end
0039 if isfield(model,'grRules')
0040     model.grRules=cleanBadChars(model.grRules);
0041 end
0042 if isfield(model,'subSystems')
0043     model.subSystems=cleanBadChars(model.subSystems);
0044 end
0045 if isfield(model,'eccodes')
0046     model.eccodes=cleanBadChars(model.eccodes);
0047 end
0048 if isfield(model,'metNames')
0049     model.metNames=cleanBadChars(model.metNames);
0050 end       
0051 if isfield(model,'genes')
0052     model.genes=cleanBadChars(model.genes);
0053 end    
0054 if isfield(model,'geneShortName')
0055     model.geneShortName=cleanBadChars(model.geneShortName);
0056 end 
0057 if isfield(model,'inchis')
0058     model.inchis=cleanBadChars(model.inchis);
0059 end   
0060 if isfield(model,'metFormulas')
0061     model.metFormulas=cleanBadChars(model.metFormulas);
0062 end   
0063 
0064 %These fields are cell arrays of structures
0065 if isfield(model,'metMiriams')
0066     for i=1:numel(model.metMiriams)
0067        if ~isempty(model.metMiriams{i})
0068            model.metMiriams{i}.name=cleanBadChars(model.metMiriams{i}.name);
0069            model.metMiriams{i}.value=cleanBadChars(model.metMiriams{i}.value);
0070        end
0071     end
0072 end
0073 if isfield(model,'rxnMiriams')
0074     for i=1:numel(model.rxnMiriams)
0075        if ~isempty(model.rxnMiriams{i})
0076            model.rxnMiriams{i}.name=cleanBadChars(model.rxnMiriams{i}.name);
0077            model.rxnMiriams{i}.value=cleanBadChars(model.rxnMiriams{i}.value);
0078        end
0079     end
0080 end
0081 if isfield(model,'compMiriams')
0082     for i=1:numel(model.compMiriams)
0083        if ~isempty(model.compMiriams{i})
0084            model.compMiriams{i}.name=cleanBadChars(model.compMiriams{i}.name);
0085            model.compMiriams{i}.value=cleanBadChars(model.compMiriams{i}.value);
0086        end
0087     end
0088 end
0089 if isfield(model,'geneMiriams')
0090     for i=1:numel(model.geneMiriams)
0091        if ~isempty(model.geneMiriams{i})
0092            model.geneMiriams{i}.name=cleanBadChars(model.geneMiriams{i}.name);
0093            model.geneMiriams{i}.value=cleanBadChars(model.geneMiriams{i}.value);
0094        end
0095     end
0096 end
0097 end

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