📄 set_sat_kinetics.m
字号:
function kinetics = set_sat_kinetics(network)% kinetics = set_sat_kinetics(network)%% construct a kinetics field for a metabolic network% set default kinetics types for all reactions of a network,% depending on number of substrates and products and reversibility%% kinetics parameters%% 'rev_uni_uni' {'k','km','Pk','Pkm'}% 'rev_uni_bi' {'k','km','Pk','Pkm'}% 'rev_bi_uni' {'k','km','Pk','Pkm'}% 'rev_bi_bi' {'k','km','Pk','Pkm'}% 'irrev_uni' {'k','Pk'}% 'irrev_bi' {'k','Pk'}% 'influx' {'v_in'}% 'efflux' {'k_out'}% 'rev_multiple' {'k','km','Pk','Pkm'}kinetics.type='saturated';kinetics.reactions=cell(length(network.actions),1);for i=1:length(network.actions) kinetics.reactions{i}.type = 'unknown'; n_in = sum(network.N(:,i)<0) ; n_out = sum(network.N(:,i)>0) ; rev = network.reversible(i); % switch rev% case 1,% if n_in == 1 & n_out == 1, kinetics.reactions{i}.type = 'rev_uni_uni'; end% if n_in == 1 & n_out == 2, kinetics.reactions{i}.type = 'rev_uni_bi'; end% if n_in == 2 & n_out == 1, kinetics.reactions{i}.type = 'rev_bi_uni'; end% if n_in == 2 & n_out == 2, kinetics.reactions{i}.type = 'rev_bi_bi'; end% case 0,% if n_in == 1 , kinetics.reactions{i}.type = 'irrev_uni'; end% if n_in == 2 , kinetics.reactions{i}.type = 'irrev_bi'; end% end switch rev, case 1, kinetics.reactions{i}.type='multiple_michaelis_menten_rev'; case 0, kinetics.reactions{i}.type='multiple_michaelis_menten_irrev'; end if n_in == 0 & n_out > 0, kinetics.reactions{i}.type = 'influx'; end if n_in > 0 & n_out == 0, kinetics.reactions{i}.type = 'efflux'; end if strcmp(kinetics.reactions{i}.type,'unknown'), kinetics.reactions{i}.type='rev_multiple'; end switch kinetics.reactions{i}.type, case 'mass-action', kinetics.reactions{i}.parameters = {'k','km'}'; kinetics.reactions{i}.sizes = [1 1]'; case 'michaelis_menten_rev', kinetics.reactions{i}.parameters = {'Km_S','Km_P','Vm_S','Vm_P'}'; kinetics.reactions{i}.sizes = [1 1 1 1]'; case 'multiple_michaelis_menten_rev', kinetics.reactions{i}.parameters = {'Km_S','Km_P','Vm_S','Vm_P'}'; kinetics.reactions{i}.sizes = [1 1 1 1]'; case 'multiple_michaelis_menten_irrev', kinetics.reactions{i}.parameters = {'Km_S','Vm_S'}'; kinetics.reactions{i}.sizes = [1 1]'; case 'influx', kinetics.reactions{i}.parameters = {'v_in'}'; kinetics.reactions{i}.sizes = [1]'; case 'efflux', kinetics.reactions{i}.parameters = {'k_out'}'; kinetics.reactions{i}.sizes = [1]'; case {'rev_uni_uni'}, kinetics.reactions{i}.parameters = {'k','km','Pk','Pkm'}'; kinetics.reactions{i}.sizes = [2 2 1 1]'; case {'rev_uni_bi'}, kinetics.reactions{i}.parameters = {'k','km','Pk','Pkm'}'; kinetics.reactions{i}.sizes = [3 3 1 1]'; case {'rev_bi_uni'}, kinetics.reactions{i}.parameters = {'k','km','Pk','Pkm'}'; kinetics.reactions{i}.sizes = [3 3 1 1]'; case {'rev_bi_bi'}, kinetics.reactions{i}.parameters = {'k','km','Pk','Pkm'}'; kinetics.reactions{i}.sizes = [4 4 1 1]'; case {'rev_multiple'}, kinetics.reactions{i}.parameters = {'k','km','Pk','Pkm'}'; kinetics.reactions{i}.sizes = [2 2 1 1]'; case {'irrev_uni'}, kinetics.reactions{i}.parameters = {'k','Pk'}'; kinetics.reactions{i}.sizes = [2 1]'; case {'irrev_bi'}, kinetics.reactions{i}.parameters = {'k','Pk'}'; kinetics.reactions{i}.sizes = [3 1]'; end for it=1:length(kinetics.reactions{i}.parameters), kinetics.reactions{i}=setfield(kinetics.reactions{i},kinetics.reactions{i}.parameters{it}, ... ones(kinetics.reactions{i}.sizes(it),1)); endend%kinetics.used_fwd = ones(length(network.actions),1);%kinetics.used_bwd = network.reversible;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -