0001 function model = mapKEGGID2Model(model,Dictionary)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 CompAbr = Dictionary(:, 1);
0012 KEGGID = Dictionary(:, 2);
0013 for i = 1 : length(model.mets)
0014
0015 MetTmp=regexprep(model.mets(i),'[','-');
0016 MetTmp=regexprep( MetTmp,']','-');
0017 if (length(strfind(char(MetTmp),'-c-'))>0)
0018 MetTmp=regexprep(MetTmp,'-c-','');
0019 KEGGComp='[c]';
0020 elseif (length(strfind(char(MetTmp),'-p-'))>0)
0021 MetTmp=regexprep(MetTmp,'-p-','');
0022 KEGGComp='[p]';
0023 elseif(length(strfind(char(MetTmp),'-e-'))>0)
0024 MetTmp=regexprep(MetTmp,'-e-','');
0025 KEGGComp='[e]';
0026 else
0027 MetTmp = model.mets(i);
0028 end
0029
0030 Match=strmatch(MetTmp, CompAbr,'exact');
0031 if (length(Match)==1 && length(KEGGID{Match})>0)
0032
0033
0034 KEGGTmp=[char(KEGGID(Match)) char(KEGGComp)];
0035 model.KEGGID{i,1}=KEGGTmp;
0036 elseif (length(Match)>1 && length(KEGGID{Match})>0)
0037 model.KEGGID{i,1}=[];
0038 warning(['multiple matchings for' char(model.mets(i))]);
0039 else
0040
0041 model.KEGGID{i,1}=[];
0042 end
0043 clear MetTmp KEGGTmp
0044 end