%for generating a table with different overexpression levels of crt1, crt2 and atob %we set the value of each reaction to a flux of above 12 (which was observed after growth optimisation of model) for i = 12:0.2:13 model = changeRxnBounds(model,'ECOAH1',i,'b') %this corresponds to CRT_2 for j = 12:0.2:13 model = changeRxnBounds(model,'ECOAH2',j,'b') %this corresponds to CRT_1 for k = 12:0.2:13 model= changeRxnBounds(model, 'ACACT1r', k, 'b') %this corresponds to the atoB reaction %optimize model with the above bounds opt = optimizeCbModel(model) %counter helps in indexing counter=counter+1 if opt.stat==1 %we consider the cases where the system doesn't crash flux_CRT_2(counter)= i flux_CRT_1(counter)= j flux_atob(counter) = k butanol_exc(counter)= opt.v(2723) growth(counter) = opt.f else %we set the growth and butanol production to 0 when the system crashes, else matlab sets it to nan by default flux_CRT_1(counter)= i flux_CRT_2(counter)=j flux_atob(counter) = k butanol_exc(counter)= 0 growth(counter) = 0 end end end end %convert the above arrays to a table grph = table(flux_CRT_1, flux_CRT_2, flux_atob, butanol_exc, growth) %export the table to an excel file for later use writetable(grph,'ecoli_ovrxps_fluxes.xlsx') %extracting data from each column separately in the form of a matrix, to be used as variables in scatter plot crt1 = readmatrix('ecoli_ovrxps_fluxes.xlsx','Range','A2:A217'); crt2 = readmatrix('ecoli_ovrxps_fluxes.xlsx','Range','B2:B217'); atob = readmatrix('ecoli_ovrxps_fluxes.xlsx','Range','C2:C217'); butanol = readmatrix('ecoli_ovrxps_fluxes.xlsx','Range','D2:D217'); growth = readmatrix('ecoli_ovrxps_fluxes.xlsx','Range','E2:E217'); %Since the colorbar has colors corresponding to growth values if growth values of zero were not set to NaN the range of the colour bar would be bigger (since the bar would start at zero) so the differences in color for different growth values are very subtle. %By setting the zero growth values to NaN we reduce the range of the colourbar values (since the bar now starts from the lowest value of growth, instead of zero) thus allowing for better visualization of subtle differences growth(growth==0) = NaN; %since butanol specifies size of the circle, and size can only be a positive numeric value or NaN, convert all zeroes in the column to NaN butanol(butanol==0) = NaN; %make scatter plot %butanol values are represented the size of the circles (lower circles correspond to lower butanol production) %growth values are represented by colorbar scatter3(crt1,crt2,atob,butanol*100,growth,'filled') ax = gca; view(-31,14) xlabel('crt1') ylabel('crt2') zlabel('atoB') % create and label the colorbar cb = colorbar; cb.Label.String = 'Growth Rate'; %save figure savefig('ecoli_ovrxps_fluxes')
MATLAB .fig file
Increasing values of crt1 show decreasing butanol, increasing crt2 and atob increases butanol, and since crt1 is not involved in the synthetic butanol pathway, so we considered modeling the overexpression of crt2 and atob in order to model the butanol optimization.
Next step: Find the ideal overexpressed fluxes through crt2 and atob for butanol production.
- find sucrose uptake rate from literature
- find enzyme affinity data of crt gene for substrates
- why is csck flux SO HIGH
July 26, 2021
After inputs from Arya about the existence of added reactions I have performed a search and found the following results:
- The hbd reaction is present in the model under the name 'HACD1' which is under the fadB and the fadJ genes ('b3846' and 'b2341' respectively). The GPR is OR.
- The crt reactions ('ECOAH2' and 'ECOAH1')are under the same genes as above.
- No adh reaction found in the model
- The cscK reaction is present in the model under the name 'HEX7' which is under the mak gene ('b0394'). https://biocyc.org/gene?orgid=ECOLI&id=EG11288
July 30, 2021 : WE HAVE FOUND THE OVEREXPRESSION FLUXES