Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
2311cba
feat: update models
lylvsexinqing Aug 13, 2020
0ed288c
feat: add new ecModel
lylvsexinqing Aug 17, 2020
6f21faa
feat: update data
lylvsexinqing Aug 18, 2020
0cd3bbf
Merge branch 'strain_design_ecYeast' of https://github.com/SysBioChal…
lylvsexinqing Aug 18, 2020
4582e29
feat: add new ecModels
lylvsexinqing Aug 24, 2020
3b9a64e
feat: add results of product classification
lylvsexinqing Aug 27, 2020
b99eec4
feat: add new ecModels
lylvsexinqing Aug 27, 2020
fa7ec93
feat: add new ecModels
lylvsexinqing Nov 15, 2020
3327308
feat: add new ecModel
lylvsexinqing Nov 16, 2020
505893e
feat: add new ecModels
lylvsexinqing Dec 10, 2020
a101123
feat: add GEM of Amorphadiene
lylvsexinqing Dec 15, 2020
9a6d3cf
feat: add new ecModel
lylvsexinqing Dec 15, 2020
59fde14
feat: Correction of the data
lylvsexinqing Dec 15, 2020
b8351f8
feat: Data for strain background of all chemicals
lylvsexinqing Dec 15, 2020
d1c0baa
feat: add new ecModels
lylvsexinqing Dec 17, 2020
d92b631
fear: add new ecModel
lylvsexinqing Jan 8, 2021
49616ed
Update ec2_Fucosyllactose.mat
lylvsexinqing Jan 8, 2021
45b5ed3
feat: update ecModels of proteins
lylvsexinqing Jan 13, 2021
28db6d5
Update ec2_Fucosyllactose.mat
lylvsexinqing Jan 13, 2021
49dd81a
Update Strain background of all chemicals.xlsx
lylvsexinqing Jan 13, 2021
b2cd275
feat: Fix bugs in the code
lylvsexinqing Jan 27, 2021
e1d8927
feat: modify metComps
lylvsexinqing Jan 27, 2021
a13bf7d
feat: modify metComps of ecCinnamoyltropine model
lylvsexinqing Jan 27, 2021
77b19e0
feat: add ecModels without strain background
lylvsexinqing Jan 27, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
rxnID coefficient Metabolite standard name Metabolite_type compartment
MNXR111232 1 farnesyl diphosphate reactant cytoplasm
MNXR111232 1 diphosphate product cytoplasm
MNXR111232 1 amorphadiene product cytoplasm
Amorphadiene transport 1 amorphadiene reactant cytoplasm
Amorphadiene transport 1 amorphadiene product extracellular
Amorphadiene exchange 1 amorphadiene reactant extracellular
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
NewMetName Charged formula Charge compartment KEGG ID CHEBI ID Remark
amorphadiene [cytoplasm] C15H24 0 cytoplasm CHEBI:52026 MNXM3912
amorphadiene [extracellular] C15H24 0 extracellular CHEBI:52026 MNXM3912
4 changes: 4 additions & 0 deletions ComplementaryData/Amorphadiene_GEM/newpathway_newRxnProp.tsv
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
rxnID rev GPR rxn_name_seed EC rxnID_kegg Source;reason
MNXR111232 0 amorphadiene synthase 4.2.3.24 R07630 rhea:26446
Amorphadiene transport 0 Amorphadiene transport NA
Amorphadiene exchange 0 Amorphadiene exchange NA
1,663 changes: 962 additions & 701 deletions result_ecYeast/Allchemicals-template.txt

Large diffs are not rendered by default.

Binary file modified result_ecYeast/Allchemicals-template.xlsx
Binary file not shown.
Binary file modified result_ecYeast/Data_Allchemicals.xlsx
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added result_ecYeast/ecModels/Amor_GEM.mat
Binary file not shown.
Binary file added result_ecYeast/ecModels/ec2_Fucosyllactose.mat
Binary file not shown.
Binary file modified result_ecYeast/ecModels/ec4-hydroxymandelic_acid.mat
Binary file not shown.
Binary file added result_ecYeast/ecModels/ecCaffeic_acid.mat
Binary file not shown.
Binary file added result_ecYeast/ecModels/ecCinnamoyltropine.mat
Binary file not shown.
Binary file modified result_ecYeast/ecModels/ecCoumaric_acid.mat
Binary file not shown.
Binary file not shown.
Binary file added result_ecYeast/ecModels/ecErgothioneine.mat
Binary file not shown.
Binary file modified result_ecYeast/ecModels/ecGlucagon.mat
Binary file not shown.
Binary file not shown.
Binary file modified result_ecYeast/ecModels/ecHSA.mat
Binary file not shown.
Binary file modified result_ecYeast/ecModels/ecHemoglobin.mat
Binary file not shown.
Binary file added result_ecYeast/ecModels/ecL_PAC.mat
Binary file not shown.
Binary file modified result_ecYeast/ecModels/ecLactase.mat
Binary file not shown.
Binary file added result_ecYeast/ecModels/ecLycopene.mat
Binary file not shown.
Binary file added result_ecYeast/ecModels/ecMiltiradiene.mat
Binary file not shown.
Binary file added result_ecYeast/ecModels/ecNootkatone.mat
Binary file not shown.
Binary file added result_ecYeast/ecModels/ecRosmarinic_acid.mat
Binary file not shown.
Binary file not shown.
Binary file added result_ecYeast/ecModels/ecSalidroside.mat
Binary file not shown.
Binary file added result_ecYeast/ecModels/ecSqualene.mat
Binary file not shown.
Binary file added result_ecYeast/ecModels/ecSuc.mat
Binary file not shown.
Binary file not shown.
Binary file added result_ecYeast/ecModels/ecTyrosol.mat
Binary file not shown.
Binary file added result_ecYeast/ecModels/ecValencene.mat
Binary file not shown.
Binary file added result_ecYeast/ecModels/ecVitamin_A.mat
Binary file not shown.
Binary file modified result_ecYeast/ecModels/ecalpha_Amylase.mat
Binary file not shown.
Binary file modified result_ecYeast/ecModels/ecmandelic_acid.mat
Binary file not shown.
Binary file added result_ecYeast/~$Allchemicals-template.xlsx
Binary file not shown.
1,216 changes: 1,189 additions & 27 deletions strain_design_ecYeast/Model_construction_others.asv

Large diffs are not rendered by default.

1,190 changes: 1,175 additions & 15 deletions strain_design_ecYeast/Model_construction_others.m

Large diffs are not rendered by default.

152 changes: 152 additions & 0 deletions strain_design_ecYeast/Strain_design_Amor.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
% Pathway construction of Amorphadiene (Amor) in yeastGEM model

% Add new reactions to the model
cd ../ComplementaryScripts
model = loadYeastModel;

% Load stoichiometry data:
fid = fopen('../ComplementaryData/Amorphadiene_GEM/newpathway_newRxnMatrix.tsv');
newreaction = textscan(fid,'%s %s %s %s %s','Delimiter','\t','HeaderLines',1);
matrix.rxnIDs = newreaction{1};
matrix.metcoef = cellfun(@str2num, newreaction{2});
matrix.metIDs = newreaction{3};
matrix.mettype = newreaction{4};
matrix.metcompartments = newreaction{5};
fclose(fid);

% Load rxn properties data:
fid = fopen('../ComplementaryData/Amorphadiene_GEM/newpathway_newRxnProp.tsv','r');
rev = textscan(fid,'%s %s %s %s %s %s %s','Delimiter','\t','HeaderLines',1);
newrxn.ID = rev{1};
newrxn.Rev = cellfun(@str2num, rev{2});
newrxn.GPR = rev{3};
newrxn.rxnNames = rev{4};
newrxn.rxnECNumbers = rev{5};
newrxn.rxnKEGGID = rev{6};
newrxn.rxnNotes = rev{7};
newrxn.rxnMetaNetXID = newrxn.ID;
for i = 1:length(newrxn.rxnMetaNetXID)
if ~startsWith(newrxn.rxnMetaNetXID{i},'MNXR')
newrxn.rxnMetaNetXID{i} = '';
end
end
newrxn.rxnMetaNetXID = regexprep(newrxn.rxnMetaNetXID,'_cv','');
fclose(fid);

% Change coefficients for reactants:
for i=1:length(matrix.rxnIDs)
if strcmp(matrix.mettype(i),'reactant')
matrix.metcoef(i) = matrix.metcoef(i)*-1;
end
end

% Change compartments:
CONValldata = cat(2,model.compNames,model.comps);
lbracket = ' [' ;
llbracket = '[';
rbrackets = ']';
space = ' ';
[m, n] = size(CONValldata);
for i = 1:m
aa = CONValldata(i,1);
aa = char(aa);
for j=1:length(matrix.rxnIDs)
bb = matrix.metcompartments(j,1);
bb = char(bb);
if strcmp(bb,aa)
matrix.Newcomps(j,1) = CONValldata(i,2);
end
end
end
for i=1:length(matrix.rxnIDs)
matrix.metnames(i) = strcat(matrix.metIDs(i),lbracket,matrix.metcompartments(i),rbrackets);
matrix.Newcomps(i) = strcat(llbracket,matrix.Newcomps(i),rbrackets);
end

% Map mets to model.metnames, get s_index for new mets:
cd otherChanges
for j = 1:length(matrix.metnames)
[~,metindex] = ismember(matrix.metnames(j),model.metNames);
if metindex ~= 0
matrix.mets(j) = model.mets(metindex);
elseif metindex == 0
newID = getNewIndex(model.mets);
matrix.mets(j) = strcat('s_',newID,matrix.Newcomps(j));
model = addMetabolite(model,char(matrix.mets(j)), ...
'metName',matrix.metnames(j));
end
end

% Add metabolite data:
fid = fopen('../../ComplementaryData/Amorphadiene_GEM/newpathway_newRxnMetAnnotation.tsv');
newmet_annot = textscan(fid,'%s %s %s %s %s %s %s','Delimiter','\t','HeaderLines',1);
newmet.metNames = newmet_annot{1};
newmet.metFormulas = newmet_annot{2};
newmet.metCharges = cellfun(@str2num, newmet_annot{3});
newmet.metKEGGID = newmet_annot{5};
newmet.metChEBIID = newmet_annot{6};
newmet.metMetaNetXID = newmet_annot{7};

fclose(fid);
for i = 1:length(newmet.metNames)
[~,metID] = ismember(newmet.metNames(i),model.metNames);
if metID ~= 0
model.metFormulas{metID} = newmet.metFormulas{i};
model.metCharges(metID) = newmet.metCharges(i);
model.metKEGGID{metID} = newmet.metKEGGID{i};
model.metChEBIID{metID} = newmet.metChEBIID{i};
model.metMetaNetXID{metID} = newmet.metMetaNetXID{i};
model.metNotes{metID} = 'NOTES: added after the heterologous update';
end
end

% Add new reactions according to rev ID: Met Coef needs to be a column, not
% a row. Coef should be a double, which was converted at the import section
EnergyResults = {};
MassChargeresults = {};
RedoxResults = {};
if ~isfield(model,'rxnMetaNetXID')
model.rxnMetaNetXID = cell(size(model.rxns));
end
for i = 1:length(newrxn.ID)
cd ../otherChanges
newID = getNewIndex(model.rxns);
j = find(strcmp(matrix.rxnIDs,newrxn.ID{i}));
Met = matrix.mets(j);
Coef = transpose(matrix.metcoef(j));
[model,rxnIndex] = addReaction(model, ['r_' newID],...
'reactionName', newrxn.ID{i},...
'metaboliteList',Met,...
'stoichCoeffList',Coef,...
'reversible',newrxn.Rev(i,1),...
'geneRule',newrxn.GPR{i},...
'checkDuplicate',1);
cd ../modelexpansion/
[EnergyResults,RedoxResults] = CheckEnergyProduction(model,{['r_' newID]},EnergyResults,RedoxResults);
[MassChargeresults] = CheckBalanceforSce(model,{['r_' newID]},MassChargeresults);
if isempty(rxnIndex)
rxnIndex = strcmp(model.rxns,['r_' newID]);
end
% Add rxn annotation:
model.rxnNames{rxnIndex} = newrxn.rxnNames{i};
model.rxnECNumbers(rxnIndex) = newrxn.rxnECNumbers(i);
model.rxnKEGGID(rxnIndex) = newrxn.rxnKEGGID(i);
model.rxnMetaNetXID(rxnIndex) = newrxn.rxnMetaNetXID(i);
model.rxnConfidenceScores(rxnIndex) = 1; %reactions without gene but needed for modelling
model.rxnNotes{rxnIndex} = ['NOTES: heterologous pathway; ',newrxn.rxnNotes{i}];
end

% Set constraints of pathway
model=changeRxnBounds(model,'r_1714',-1000,'l'); % minimal glucose uptake rate
model=changeRxnBounds(model,'r_2111',0.1,'l'); % maximum growth rate
model=changeObjective(model,'r_4603'); % RxnID of new product's exchange reaction
model=changeRxnBounds(model,'r_0458',0,'u'); % delete GAL1
model=changeRxnBounds(model,'r_0459',0,'u'); % delete GAL7
model=changeRxnBounds(model,'r_1071',0,'l'); % delete GAL7
model=changeRxnBounds(model,'r_1071',0,'u'); % delete GAL7
model=changeRxnBounds(model,'r_1070',0,'u'); % delete GAL10
model=changeRxnBounds(model,'r_1070',0,'l'); % delete GAL10

% Save model:
cd ../../result_ecYeast/ecModels
save Amor_GEM.mat model
2 changes: 1 addition & 1 deletion strain_design_ecYeast/Strain_design_FFAs.m
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@

% Pathway construction of FFAs in ecYeast model

% Add new reactions of asp pathway to the model
% Add new reactions of FFA pathway to the model
cd ../../../ModelFiles/mat
load('ecYeastGEM_batch.mat');
model = ecModel_batch;
Expand Down
45 changes: 45 additions & 0 deletions strain_design_ecYeast/Untitled2.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
Kcat1=115*3600;
MW1=27.249;
model = addReaction(model,'3HP_newRxn1','metaboliteList',{'s_0794','s_1212','s_4184','prot_P39831','s_1207','s_4207'},'stoichCoeffList',[-1 -1 -1 -1/Kcat1 1 1],'reversible',false);
model = addReaction(model,'3HP_newRxn7','metaboliteList',{'prot_pool','prot_P39831'},'stoichCoeffList',[-MW1 1],'reversible',false);
% Add rxns of gene bcere0029_32090
model = addReaction(model,'3HP_newRxn4','metaboliteList',{'s_0441','s_1399','s_0955','s_4184'},'stoichCoeffList',[-1 -1 1 1],'reversible',false);
% Add rxns of gene A7U8C7
Kcat2=7.03*3600;
MW2=61.24;
model = addReaction(model,'3HP_newRxn5','metaboliteList',{'s_0794','s_0973','prot_A7U8C7','s_0441','s_0456'},'stoichCoeffList',[-1 -1 -1/Kcat2 1 1],'reversible',false);
model = addReaction(model,'3HP_newRxn8','metaboliteList',{'prot_pool','prot_A7U8C7'},'stoichCoeffList',[-MW2 1],'reversible',false);
% Add rxns of gene YGR019Wly
Kcat3=0.1324*3600;
MW3=52.946;
model = addReaction(model,'3HP_newRxn6','metaboliteList',{'s_0180','s_0441','prot_P17649ly','s_0991','s_4184'},'stoichCoeffList',[-1 -1 -1/Kcat3 1 1],'reversible',false);
model = addReaction(model,'3HP_newRxn9','metaboliteList',{'prot_pool','prot_P17649ly'},'stoichCoeffList',[-MW3 1],'reversible',false);
% Add transport and exchange rxns of 3HP
model = addReaction(model,'3HP_newRxn2','metaboliteList',{'s_4207','s_4208'},'stoichCoeffList',[-1 1],'reversible',false);
model = addReaction(model,'3HP_newRxn3','metaboliteList',{'s_4208'},'stoichCoeffList',[-1],'reversible',false);

% Add gene rules to the reaction
model=changeGeneAssociation(model,'3HP_newRxn1','fdyG');
model=changeGeneAssociation(model,'3HP_newRxn4','bcere0029_32090');
model=changeGeneAssociation(model,'3HP_newRxn5','A7U8C7');
model=changeGeneAssociation(model,'3HP_newRxn6','YGR019Wly');

% Normalization of geneShortNames, metComps, enzymes, and enzGenes
model.geneShortNames(1128)={'fdyG'};
model.geneShortNames(1129)={'bcere0029_32090'};
model.geneShortNames(1130)={'A7U8C7'};
model.geneShortNames(1131)={'YGR019Wly'};

model.metComps(4147)=1;
model.metComps(4148)=1;
model.metComps(4149)=1;
model.metComps(4150)=1;
model.metComps(4151)=3;

model.enzymes(964)={'P39831'};
model.enzymes(965)={'A7U8C7'};
model.enzymes(966)={'P17649ly'};

model.enzGenes(964)={'fdyG'};
model.enzGenes(965)={'A7U8C7'};
model.enzGenes(966)={'YGR019Wly'};
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@
metList = [metList,'Growth'];
Rows = ['WT_yields';model.genes];
ResultsTable = cell2table(resultsMat,'VariableNames',metList,'RowNames',Rows);
writetable(ResultsTable,['../../result_ecYeast/' filename],'WriteVariableNames',true,'WriteRowNames',true,'Delimiter','\t')
writetable(ResultsTable,['../../result_ecYeast/results_Findtargets' filename],'WriteVariableNames',true,'WriteRowNames',true,'Delimiter','\t')
end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Expand Down