Skip to content

Commit 33cf2dc

Browse files
committed
WIP
1 parent 59e442a commit 33cf2dc

File tree

9 files changed

+478
-16
lines changed

9 files changed

+478
-16
lines changed

code/modelCuration/v9_1_0.m

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,20 @@
190190
% Represent ACP with formula "RHS"
191191
model.metFormulas(getIndexes(model,'s_1845','mets')) = {'RHS'};
192192

193+
% Set formula of ferr(i/o)cytochrome b3
194+
idx_mit = getIndexes(model,{'s_3826','s_3827'},'mets');
195+
idx_erm = getIndexes(model,{'s_4210','s_4209'},'mets');
196+
model.metFormulas(idx_erm) = model.metFormulas(idx_mit);
197+
model.metCharges(idx_erm) = model.metCharges(idx_mit);
198+
model.metMiriams(idx_erm) = model.metMiriams(idx_mit);
199+
model.metNames([idx_mit; idx_erm]) = regexprep(model.metNames([idx_mit; idx_erm]),'F','f');
200+
201+
% Correct metFormula and metCharge
202+
idx = getIndexes(model,{'s_4265','s_4266'},'mets');
203+
model.metFormulas(idx) = {'CH2O3S'};
204+
model.metCharges(idx) = -1;
205+
206+
193207
% [~,metFormulae] = computeMetFormulae(model,'metMwRange','s_0338','fillMets','none')
194208
% model.metFormulas(getIndexes(model,'s_0329','mets')) = {'C17H28NO17P'};
195209
% model.metFormulas(getIndexes(model,'s_0330','mets')) = {'C33H58NO18P'};
@@ -216,6 +230,8 @@
216230
% r_0229
217231
%model = changeRxns(model,'r_0229','dethiobiotin[c] + polysulphur[c] <=> biotin[c] + 2 H+[c]',2)
218232
%dethiobiotin[c] + hydrogen sulfide[c] + 2 S-adenosyl-L-methionine[c] + 2 H+[c] <=> biotin[c] + 2 L-methionine[c] + 2 5'-Deoxyadenosine
233+
234+
219235
%% ========================================================================
220236
% Condition-specific gene expression. These can be enabled with scripts
221237
% Glycine cleavage only active when glycine is used as nitrogen source
@@ -243,7 +259,7 @@
243259
% To align the degree of reduction of S. cerevisiae biomass to the
244260
% published value of 4.2 /Cmol (Lange and Heijnen, 2001, 10.1002/bit.10054)
245261

246-
DR = 75; % 3mmol (g CDW)−1s
262+
DR = 3; % 3mmol (g CDW)−1s
247263
metIdx = getIndexes(model,{'s_1212','s_1207','s_0794'},'mets'); % NADPH[c], NADP[c], H+[c]
248264
bioIdx = getIndexes(model,'r_4041','rxns');
249265

code/modelTests/anaerobic_flux_predictions.m

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,19 @@
2525

2626
%% Solve the LP problem
2727
res=solveLP(model,1);
28-
29-
index_model=findRxnIDs(model,text_flux(index_data_set,7));
28+
rxns = text_flux(index_data_set,7);
29+
rxns(cellfun(@isempty,rxns)) = [];
30+
index_model=getIndexes(model,rxns,'rxns');
3031
exclude_data=(index_model==0);
3132
index_model(exclude_data)=[];
3233
index_data_set(exclude_data)=[];
3334

34-
scaled_sim=abs(-100.*res.x(index_model)./res.x(findRxnIDs(model,'r_1714')));
35+
scaled_sim=abs(-100.*res.x(index_model)./res.x(getIndexes(model,'r_1714','rxns')));
3536

3637
data_vals=abs(cell2mat(vals_flux(index_data_set,5)));
3738
merged_data=[merged_data data_vals'];
3839
merged_sim=[merged_sim scaled_sim'];
39-
merged_names=[merged_names text_flux(index_data_set,7)'];
40+
merged_names=[merged_names rxns'];
4041
plot(data_vals,scaled_sim,'^','MarkerFaceColor',colors(i,:),'MarkerEdgeColor',colors(i,:));
4142
hold on;
4243

code/modelTests/anaerobiosis.m

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@
2020
%% Set glucose uptake rate and solve pFBA
2121
modelAn = setParam(modelAn,'eq','r_1714',-23);
2222
res=solveLP(modelAn,1);
23-
23+
FLUX = res.x;
2424
v_AStr = res.x(getIndexes(modelAn,'r_1115','rxns'))
2525
v_ATPase = res.x(getIndexes(modelAn,'r_0227','rxns'))
26-
26+
v_glc = res.x(getIndexes(modelAn,'r_1714','rxns'))
2727

2828
%% Pack flux results into table
2929
temp_model=modelAn;
@@ -42,6 +42,7 @@
4242

4343

4444

45+
out
4546

4647

4748

code/modelTests/growth.m

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,16 +82,15 @@
8282
%Simulate chemostats:
8383
mod_data = zeros(size(exp_data));
8484
solresult = zeros(length(model_origin.rxns),length(exp_data(:,1)));
85+
if mode1 == 2
86+
model_origin = anaerobicModel(model_origin);
87+
end
8588
if strcmp(mode2,'N')
8689
model_origin = scaleBioMass(model_origin,'protein',0.289,'',false);
8790
model_origin = scaleBioMass(model_origin,'lipid',0.048,'',false);
8891
model_origin = scaleBioMass(model_origin,'RNA',0.077,'carbohydrate',false);
8992
model_origin = setParam(model_origin,'ub','r_0472',1000); %Glutamate synthase repressed in excess nitrogen
9093
end
91-
92-
if mode1 == 2
93-
model_origin = anaerobicModel(model_origin);
94-
end
9594
for i = 1:length(exp_data(:,1))
9695
model_test= model_origin;
9796
%Fix glucose uptake rate and maximize growth:

code/modelTests/plotAnaerobic.m

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
function plotAnaerobic(modelAn)
2+
modelAn = setParam(modelAn,'eq','r_1714',-23);
3+
res=solveLP(modelAn,1);
4+
FLUX=res.x;
5+
6+
%% Retrieve data for the main products
7+
v_glc=FLUX(getIndexes(modelAn,'r_1714','rxns'),:);
8+
v_eth=FLUX(getIndexes(modelAn,'r_1761','rxns'),:);
9+
v_CO2=FLUX(getIndexes(modelAn,'r_1672','rxns'),:);
10+
v_gly=FLUX(getIndexes(modelAn,'r_1808','rxns'),:);
11+
v_growth=FLUX(getIndexes(modelAn,'r_4041','rxns'),:);
12+
v_AStr = FLUX(getIndexes(modelAn,'r_1115','rxns'));
13+
v_ATPase = FLUX(getIndexes(modelAn,'r_0227','rxns'));
14+
%% Show relative accuracy of main extracellular products
15+
figure;
16+
%glycerol ethanol Co2
17+
%4.5 ± 0.4 31 ± 2 38 ± 10
18+
data=[4.5 31 38 0.36];
19+
sim=[v_gly v_eth v_CO2 v_growth];
20+
errorVal=[0.4 2 10 0.02];
21+
b1=bar(data./data,'FaceAlpha',0.5);hold on;b2=bar(sim./data,'FaceAlpha',0.5);
22+
hold on
23+
er = errorbar([1 2 3 4],data./data,errorVal./data,errorVal./data);
24+
er.Color = [0 0 0];
25+
er.LineStyle = 'none';
26+
legend({'data','simulation'});
27+
ylabel('Relative value');
28+
xticklabels({'Glycerol','Ethanol','CO2','Biomass'})
29+
hold off
30+
end

0 commit comments

Comments
 (0)