%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [value,organism,parameter] = findMaxValue(EC_cell,BRENDA, SA_cell) Function that gets the maximum kinetic parameter (Kcat or S.A.*Mw) from the BRENDA files for the specified set of EC numbers. The algorithm also returns the organism and the parameter type (Kcat or S.A.) of the query. Ivan Domenzain Last edited. 2018-02-06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Looks for the maximum turnover number available for the EC# associated with the uniprot code
0001 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0002 %function [value,organism,parameter] = findMaxValue(EC_cell,BRENDA, SA_cell) 0003 % 0004 % Function that gets the maximum kinetic parameter (Kcat or S.A.*Mw) from 0005 % the BRENDA files for the specified set of EC numbers. The algorithm also 0006 % returns the organism and the parameter type (Kcat or S.A.) of the query. 0007 % 0008 % Ivan Domenzain Last edited. 2018-02-06 0009 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0010 function [value,organism,parameter] = findMaxValue(EC_cell,BRENDA,SA_cell) 0011 %Looks for the maximum turnover number available for the EC# associated 0012 %with the uniprot code 0013 EC_cell = strsplit(EC_cell,' '); 0014 value = []; 0015 organism = []; 0016 parameter = []; 0017 for i=1:length(EC_cell) 0018 find_flag = false; 0019 %In case that wild cards are present in the EC number the search on 0020 %the BRENDA file will be relaxed. 0021 if ~isempty(strfind(EC_cell{i},'-')) 0022 EC_cell{i} = EC_cell{i}(strfind(EC_cell{i},'-')-1:end); 0023 find_flag = true; 0024 end 0025 ECnumber = ['EC' EC_cell{i}]; 0026 Kcat = 0; orgK = ''; 0027 if find_flag == true 0028 matching = find(~cellfun(@isempty,strfind(BRENDA{1},ECnumber))); 0029 else 0030 % If no wild cards are present the EC number search in the 0031 % BRENDA file will look for an exact match 0032 matching = find(strcmpi(ECnumber,BRENDA{1})); 0033 end 0034 %Gets the maximum Kcat value for the queried EC# 0035 if ~isempty(matching) 0036 [Kcat, maxIndx] = max(BRENDA{4}(matching)); 0037 orgK = BRENDA{3}(matching(maxIndx)); 0038 end 0039 % Looks for the maximum SA*Mw value available for the EC number 0040 SA_Mw = 0; orgS = ''; 0041 if find_flag == true 0042 matching = find(~cellfun(@isempty,strfind(SA_cell{1},ECnumber))); 0043 else 0044 matching = find(strcmpi(ECnumber,SA_cell{1})); 0045 end 0046 %Gets the maximum SA*Mw value for the queried EC# 0047 if ~isempty(matching) 0048 [SA_Mw, maxIndx] = max(SA_cell{3}(matching)); 0049 SA_Mw = SA_Mw; %[1/hr] 0050 orgS = SA_cell{2}(matching(maxIndx)); 0051 end 0052 %Choose the maximal available value as a turnover number for the EC 0053 value = [value; max(Kcat,SA_Mw)]; 0054 0055 if Kcat>SA_Mw 0056 organism = [organism; {orgK}]; 0057 parameter = [parameter; {'K_cat'}]; 0058 else 0059 organism = [organism; {orgS}]; 0060 parameter = [parameter; {'SA*Mw'}]; 0061 end 0062 end 0063 [value, maxIndx] = max(value); 0064 organism = organism(maxIndx); 0065 parameter = parameter(maxIndx); 0066 end 0067 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%