diff --git a/HumanSec_developing/getPsimFromId.m b/HumanSec_developing/getPsimFromId.m deleted file mode 100644 index fa44ca3..0000000 --- a/HumanSec_developing/getPsimFromId.m +++ /dev/null @@ -1,21 +0,0 @@ -function psim=getPsimFromId(id) - % - % - % - % - % - % - % - % - % - % - % - % - % - % - % - % - % - % - -end diff --git a/HumanSec_developing/sensitive aa.m b/HumanSec_developing/sensitive aa.m deleted file mode 100644 index 59c0a18..0000000 --- a/HumanSec_developing/sensitive aa.m +++ /dev/null @@ -1,18 +0,0 @@ -load('/Users/rasools/Box Sync/phd/ppf/TPM_v03/secretion_network_modeling/HMR2s/EPO_Snsitivity_analysis/Sensitivity results.mat'); - -for i=1:size(length, 1) - aacomp = aacount(char(seq(i))); - comp(i,:) = struct2table(aacomp); -end -comp_ar = table2array(comp); - -for i=1:size(length, 1) - comp_nor(i,:) = comp_ar(i,:)/length(i); -end - -comp_nor(find(isnan(si)),:) = []; -si(find(isnan(si)),:) = []; - -for i=1:20 - cor(1,i) = corr(comp_nor(:,i),si); -end \ No newline at end of file diff --git a/addCompartement.m b/addCompartement.m deleted file mode 100644 index a710613..0000000 --- a/addCompartement.m +++ /dev/null @@ -1,27 +0,0 @@ -function newModel = addCompartement(model,comps,compNames,compOutside) -% -% -% -% -% -% -% -% -% -% -% -% -% -% -% -% -% -% Rasool Saghaleyni, 2020-02-22 -% don't add repetitive compartments 2020-09-23 - newComps = setdiff(comps, model.comps); - [~, b] = ismember(newComps, comps); - newCompNames = compNames(b); - newModel = model; - newModel.comps = vertcat(model.comps,newComps); - newModel.compNames = vertcat(model.compNames,newCompNames); -end diff --git a/addCompartmentalizedMetNames.m b/addCompartmentalizedMetNames.m deleted file mode 100644 index a52e11b..0000000 --- a/addCompartmentalizedMetNames.m +++ /dev/null @@ -1,26 +0,0 @@ -function outModel=addCompartmentalizedMetNames(inModel) - % addCompartmentalizedMetNames - % This function adds to the model structure a field called metNamesC - % identical to metNames but with the compartment appended at the end. - % - % INPUT - % inModel: a genome-scale metabolic model structure. Note: if a field - % called metNamesC is already in the model, it will be - % overwritten. - % - % OUTPUT - % outModel: a genome-scale metabolic model structure with a metNamesC - % field. - % - % Usage: outModel = addCompartmentalizedMetNames(inModel) - % 2013-07-17 Francesco Gatto - outModel = inModel; - if isfield(outModel,'metNamesC') - outModel = rmfield(outModel,'metNamesC'); - end - mets = outModel.metNames; - nMets = length(mets); - comps = outModel.comps(outModel.metComps); - metNamesC = cellfun(@(a,b,c,d) [a,b,c,d],mets,repmat({'['},nMets,1),comps,repmat({']'},nMets,1),'uni',false); - outModel.metNamesC = metNamesC; -end diff --git a/addPathway.m b/addPathway.m deleted file mode 100644 index 1b4d5ff..0000000 --- a/addPathway.m +++ /dev/null @@ -1,32 +0,0 @@ -function [newList, newList2]=addPathway(pathwayName,listOfRxns,listOfRxnsNames,tempRxns) - %Function for adding the reactions of a given PathwayName - % - % pathwayName a cell string containing name of pathway - % listOfRxns a cell array which contains list of formulas for current reactions - % listOfRxnsNames a cell array which contains list of names for current reactions - % tempRxns - % tempRxns the tempRxns structure can have the following fields: - % - % Abbreviation - % Components - % Comp - % Conditions - % Formula - % GPR - % Pathway - % - % newList - % newList2 - % - % - % - % Rasool Saghaleyni, 2019-02-16 - newList = listOfRxns; - newList2 = listOfRxnsNames; - for i=1:numel(tempRxns.Pathway) - if strcmp(tempRxns.Pathway(i),pathwayName) == 1 - newList = vertcat(newList,tempRxns.Formula(i)); - newList2 = vertcat(newList2,tempRxns.Abbreviation(i)); - end - end -end diff --git a/addPathwayFromCondition.m b/addPathwayFromCondition.m deleted file mode 100644 index b257b24..0000000 --- a/addPathwayFromCondition.m +++ /dev/null @@ -1,20 +0,0 @@ -function [newList,newList2]=addPathwayFromCondition(conditionName,listOfRxns,listOfRxnsNames,tempRxns) -%Function for adding the reactions of a given PathwayName given a condition - % - % - % - % - % - % - % - % - % Rasool Saghaleyni, 2020-02-22 - newList = listOfRxns; - newList2 = listOfRxnsNames; - for i=1:length(tempRxns.Conditions) - if strcmp(tempRxns.Conditions(i),conditionName) == 1 - newList=vertcat(newList,tempRxns.Formula(i)); - newList2=vertcat(newList2,tempRxns.Abbreviation(i)); - end - end -end diff --git a/copyRxn.m b/copyRxn.m deleted file mode 100644 index c53f0c2..0000000 --- a/copyRxn.m +++ /dev/null @@ -1,33 +0,0 @@ -function newModel = copyRxn(model,refModel,rxnList) - % - % - % - % - % - % - % - % - % - % - % - % - % - % - % Rasool Saghaleyni, 2020-02-22 - rxns_ind = find(ismember(refModel.rxns,rxnList)); - rxnsToAdd.rxns = refModel.rxns(rxns_ind); - rxnsToAdd.equations = constructEquations(refModel,rxnList); - rxnsToAdd.rxnNames = refModel.rxnNames(rxns_ind); - rxnsToAdd.lb = refModel.lb(rxns_ind); - rxnsToAdd.ub = refModel.ub(rxns_ind); - rxnsToAdd.c = refModel.c(rxns_ind); - rxnsToAdd.eccodes = refModel.eccodes(rxns_ind); - rxnsToAdd.subSystems = refModel.subSystems(rxns_ind); - rxnsToAdd.grRules = refModel.grRules(rxns_ind); - %rxnsToAdd.rxnMiriams = refModel.rxnMiriams(rxns_ind); - rxnsToAdd.rxnComps = refModel.rxnComps(rxns_ind); - %rxnsToAdd.rxnNotes = refModel.rxnNotes(rxns_ind); - %rxnsToAdd.rxnReferences = refModel.rxnReferences(rxns_ind); - %rxnsToAdd.rxnConfidenceScores = refModel.rxnConfidenceScores(rxns_ind); - newModel = addRxns(model,rxnsToAdd,3); -end diff --git a/findConnectorMets.m b/findConnectorMets.m deleted file mode 100644 index 234fd7e..0000000 --- a/findConnectorMets.m +++ /dev/null @@ -1,23 +0,0 @@ -function connectors=findConnectorMets(model, addedRxns, protein) - % for finding connector metabolites between protein secretory pathway and other pathways. Maybe useful for gap filling purposes. - % - % - % model A genome scale metaboic model like hmr2. This model should not have secretory pathway. - % addedRxns a data structure produced by humanSec function. - % - % connectors an string array of connector metabolites - % - % - % - % - % - % - % - % Rasool Saghaleyni, 2020-02-16 - outModel = addCompartmentalizedMetNames(model); - metabolites = parseRxnEqu(addedRxns.rxnFormula); - connectors = intersect(outModel.metNamesC,metabolites); - a = contains(connectors,protein); - b = find(a==0); - connectors = connectors(b); -end diff --git a/findRootDeadEndMets.m b/findRootDeadEndMets.m deleted file mode 100644 index 03ef012..0000000 --- a/findRootDeadEndMets.m +++ /dev/null @@ -1,45 +0,0 @@ -function [justConsumedMets, justProducedMets, id_cons, id_prod]=findRootDeadEndMets(model) - % This script will find metabolites which are just produced or just - % consumed in the reactions. These metabolites cause - % deadEnd reactions. - % - % model a model structure - % justConsumedMets list of metabolites which are just consumed by - % the model - % justProducedMets list of metabolites which are just produced by - % the model - % - % Rasool Saghaleyni, 2020-03-07 - - % Adding all boundry metabolites to the model - model = addBoundaryMets(model); - % remove all both directional reactions from model - uniModel=removeReactions(model,model.rxns(model.rev==1)); - % generate a model just containing both directional reactions - forwModel=removeReactions(model,model.rxns(model.rev==0)); - % fixing directionality of reaction to uni-directional - forwModel.rev(:,1) = 0; - % generate a model just containing both directional reactions - revModel=removeReactions(model,model.rxns(model.rev==0)); - % change directionality of reaction to reverse - revModel.S=-revModel.S; - % fixing directionality of reaction to uni-directional - revModel.rev(:,1) = 0; - % adding removed reactions to main model - newModel=mergeModels({uniModel,forwModel,revModel}); - % finding metabolites which are just produced or consumed in all - % reactions - for i=1:size(newModel.mets) - if size(find(newModel.S(i,:)<0),2)==0 - all_mets(i,1)={'prod'}; - elseif size(find(newModel.S(i,:)>0),2)==0 - all_mets(i,1)={'cons'}; - end - end - % if you add this metabolites to the model using addExchangeRxns function, there will - % not be any deadEnd reaction in the model. - id_cons = find(strcmp(all_mets,'cons')); - id_prod = find(strcmp(all_mets,'prod')); - justConsumedMets=newModel.mets(strcmp(all_mets,'cons')); - justProducedMets=newModel.mets(strcmp(all_mets,'prod')); -end diff --git a/genericHumanSec.m b/genericHumanSec.m deleted file mode 100644 index b43c50d..0000000 --- a/genericHumanSec.m +++ /dev/null @@ -1,376 +0,0 @@ -function [ihumanSec, secAddon]=genericHumanSec(ihuman, tempRxns) - % humanSec - % This script generates and adds all secretory reactions to generic metabolic model of human (ihuman) - % - % ihuman Human generic model developed by Robinson et.al and downloadable from https://www.metabolicatlas.org/ - % - % tempRxns the tempRxns structure can have the following fields: - % - % Abbreviation - % Components - % Comp - % Conditions - % Formula - % GPR - % Pathway - % - % ihumanSec Updated ihuman model to cover secretory pathways - % addedRxns a structure array contains reactions which added to model to generate secModel - % - % rxnsNames - % rxnFormula - % rxnGPRs - % rxnComps - % newMets - % newGens - % - % - % Usage: [ihumanSec, secRxns]=genericHumanSec(ihuman, tempRxns) - % - % Rasool Saghaleyni, 2020-03-03 - - protein='PROTEIN'; - psim.entry={'PROTEIN'}; - psim.names={'PROTEIN'}; - psim.length=193; - psim.mass=21307; - psim.sp=1; - psim.dsb=1; - psim.gpi=1; - psim.ng=1; - psim.ng=1; - psim.og=1; - psim.tmd=1; - psim.sequence={'MGVHECPAWLWLLLSLLSLPLGLPVLGAPPRLICDSRVLERYLLEAKEAENITTGCAEHCSLNENITVPDTKVNFYAWKRMEVGQQAVEVWQGLALLSEAVLRGQALLVNSSQPWEPLQLHVDKAVSGLRSLTTLLRALGAQKEAISPPDAASAAPLRTITADTFRKLFRVYSNFLRGKLKLYTGEACRTGDR'}; - - p_row = find(ismember(psim.entry,protein)); %protein row in psim - sequence = char(psim.sequence(p_row)); - length = psim.length(p_row); - mass = psim.mass(p_row); - Kv = 0.7; - V = mass * 1.21 / 1000.0; % Protein Volume in nm^3 - clathrin_coeff = floor(round(29880.01 * Kv / V)); % Number of proteins per clathrin vesicle - copi_coeff = floor(round(143793.19 * Kv / V)); - copii_coeff = floor(round(268082.35 * Kv / V)); - %Prepare vectors that will store reactions and components - rxns={}; - rxnNames={}; - %Add translation reaction - translationFormula = translationRxn(psim, protein); - rxns(1) = cellstr(translationFormula); - rxnNames(1) = {'TRANSLATION_protein'}; - secModel = ihuman; - secModel.description = char('human protein-specific secretory model'); - secModel.id = char(strcat('HumanSec_',protein)); - % Add secretory compartements - comps = {'sv';'cv';'rm';'gm';'pm'}; - compNames = {'secretory vesicle';'clathrin vesicle';'ER membrane';'Golgi membrane';'Plasma membrane'}; - compOutside = {'c';'c';'c';'c';'s'}; - secModel = addCompartement(secModel,comps,compNames,compOutside); - %------------------------------------------------------------------------------ - %If protein doesnt have signal peptide then ignore - GPRs = getGPRsFromRxnNames(rxnNames, tempRxns); - Comps = getCompsFromRxnNames(rxnNames, tempRxns); - %Change the reaction names and their formulas to include the UniProt Identifier - for i = 1:numel(rxns) - rxns(i) = insert_prot_name_in_rxnFormula((rxns(i)),protein); - end - for i = 1:numel(rxns) - rxnNames(i) = insert_prot_name_in_rxnName(rxnNames(i),protein); - end - rxns = vertcat(rxns,strcat(protein, {'[c] => '})); - rxnNames = vertcat(rxnNames,strcat(protein ,{'_no_sp'})); - GPRs = vertcat(GPRs,{''}); - Comps = vertcat(Comps,9); - %Translocate protein if it has signal peptide - [rxns_1,rxnNames_1] = addPathway('Post-translational Translocation',rxns,rxnNames,tempRxns); - [rxns_2,rxnNames_2] = addPathway('Post-translational Translocation (Secretory protein)',rxns,rxnNames,tempRxns); - [rxns_3,rxnNames_3] = addPathway('Post-translational Translocation (Tail anchored membrane protein)',rxns,rxnNames,tempRxns); - [rxns_4,rxnNames_4] = addPathway('Translocation',rxns,rxnNames,tempRxns); - number_BiP = length/40; %Number of BiPs depends on protein length http://www.cshperspectives.com/content/5/5/a013201.full - rxns = vertcat(rxns,rxns_1,rxns_2,rxns_3,rxns_4); - rxnNames = vertcat(rxnNames,rxnNames_1,rxnNames_2,rxnNames_3,rxnNames_4); - [rxns,ia]=unique(rxns); - rxnNames=rxnNames(ia,1); - for i = 1:numel(rxns) - rxns(i) = strrep(rxns(i), '!',num2str(number_BiP)); - end - connector = 'XXX[r]'; - %------------------------------------------------------------------------------ - %Add Disulphide Bond Reactions - number_DSB = psim.dsb(p_row); - DSBrxns = {}; - DSBrxnNames = {}; - DSBrxns = vertcat(DSBrxns,strcat(connector ,{' => XXX_preDSB[r]'})); - DSBrxnNames = vertcat(DSBrxnNames,{'Start_DSB'}); - [DSBrxns,DSBrxnNames]=addPathwayFromCondition('DSB>0',DSBrxns,DSBrxnNames,tempRxns); - for i = 1:numel(DSBrxns) - if contains(DSBrxns(i),'?') == 1 - if number_DSB == 1 - DSBrxns(i) = strrep(DSBrxns(i),'? ',''); - else - DSBrxns(i) = strrep(DSBrxns(i),'?',num2str(number_DSB)); - end - end - end - connector = 'XXX_DSB[r]'; - rxns = vertcat(rxns,DSBrxns); - rxnNames = vertcat(rxnNames,DSBrxnNames); - %------------------------------------------------------------------------------ - %Add GPI reactions - rxns = vertcat(rxns,strcat(connector,{' => XXX_preGPI[r]'})); - rxnNames = vertcat(rxnNames,{'Start_GPI'}); - [rxns,rxnNames] = addPathwayFromCondition('GPI=1',rxns,rxnNames,tempRxns); - connector = 'XXX-dgpi_hs[r]'; - %------------------------------------------------------------------------------ - %Add N-glycosylation reactions - rxns = vertcat(rxns,strcat(connector, {' => XXX_preNG[r]'})); - rxnNames = vertcat(rxnNames,{'Start_NG'}); - number_Nglycans = psim.ng(p_row); %Get number of N-Glycans - NGlyrxns = {}; - NGlyrxnNames = {}; - [NGlyrxns,NGlyrxnNames] = addPathwayFromCondition('NG>0',NGlyrxns,NGlyrxnNames,tempRxns); - [NGlyrxns,NGlyrxnNames] = addPathway('Golgi processing N',NGlyrxns,NGlyrxnNames,tempRxns); - for i = 1:numel(NGlyrxns) %Change the '?' for the number of N-glycans - if strcmp(NGlyrxns(i),{'XXX-M5-unfold-UBIQP[c] + ? H2O[c] + RAD23A[c] => XXX-unfold-UBIQP-RAD23A[c] + ? N-acetylglucosamine[c] + ? mannose[c]'}) == 1 - h2o = num2str(7*number_Nglycans); - acgam = num2str(2*number_Nglycans); - man = num2str(5*number_Nglycans); - NGlyrxns(i) = strcat({'XXX-M5-unfold-UBIQP[c] + '}, h2o,{' H2O[c] + RAD23A[c] => XXX-unfold-UBIQP-RAD23A[c] + '},acgam,{' N-acetylglucosamine[c] + '},man,{' mannose[c]'}); - end - if contains(NGlyrxns(i),'?') == 1 - if number_Nglycans == 1 - NGlyrxns(i) = strrep(NGlyrxns(i),'? ',''); - else - NGlyrxns(i) = strrep(NGlyrxns(i),'?',num2str(number_Nglycans)); - end - end - end - rxns = vertcat(rxns,NGlyrxns); - rxnNames = vertcat(rxnNames,NGlyrxnNames); - connector = 'XXX-M8B[r]'; - %------------------------------------------------------------------------------ - %Add COPII reactions - copii_rxns = {}; - copii_names = {}; - [copii_rxns, copii_names] = addPathway('COPII_NG',copii_rxns,copii_names,tempRxns); - [copii_rxns,copii_names] = addPathway('Golgi processing (EPO specific)',copii_rxns,copii_names,tempRxns); - [copii_rxns, copii_names] = addPathway('COPII_GPI',copii_rxns,copii_names,tempRxns); - [copii_rxns,copii_names] = addPathway('COPII_DSB',copii_rxns,copii_names,tempRxns); - [copii_rxns, copii_names] = addPathway('COPII-canonical',copii_rxns,copii_names,tempRxns); - [copii_rxns,copii_names] = addPathway('COPII-normal',copii_rxns,copii_names,tempRxns); - %------------------------------------------------------------------------------ - for i = 1:numel(copii_rxns) - copii_rxns(i) = strrep(copii_rxns(i),'!',num2str(copii_coeff)); - end - rxns = vertcat(rxns,copii_rxns); - rxnNames = vertcat(rxnNames,copii_names); - - connector_1 = 'XXX-M3-GN2[g]'; - rxns = vertcat(rxns,strcat(connector_1,{' => XXX_preOG[g]'})); - rxnNames = vertcat(rxnNames,{'Start_OG_1'}); - - connector_2 = 'XXX-M3-GN4-GL4-NA4-F[g]'; - rxns = vertcat(rxns,strcat(connector_2,{' => XXX_preOG[g]'})); - rxnNames = vertcat(rxnNames,{'Start_OG_2'}); - - connector_3 = 'XXX-dgpi_hs[g]'; - rxns = vertcat(rxns,strcat(connector_3,{' => XXX_preOG[g]'})); - rxnNames = vertcat(rxnNames,{'Start_OG_3'}); - - connector_4 = 'XXX[g]'; - rxns = vertcat(rxns,strcat(connector_4,{' => XXX_preOG[g]'})); - rxnNames = vertcat(rxnNames,{'Start_OG_4'}); - - %------------------------------------------------------------------------------ - %Add O-glycosylation reactions - number_Oglycans = psim.og(p_row); %Get number of O-Glycans - OGlyrxns = {}; - OGlyrxnNames = {}; - [OGlyrxns,OGlyrxnNames] = addPathwayFromCondition('OG>0',OGlyrxns,OGlyrxnNames,tempRxns); - for i = 1:numel(OGlyrxns) %Change the '?' for the number of O-glycans - if contains(OGlyrxns(i),'?') == 1 - if number_Oglycans == 1 - OGlyrxns(i) = strrep(OGlyrxns(i),'? ', ''); - else - OGlyrxns(i) = strrep(OGlyrxns(i),'?',num2str(number_Oglycans)); - end - end - end - rxns = vertcat(rxns,OGlyrxns); - rxnNames = vertcat(rxnNames,OGlyrxnNames); - connector = 'XXX-Core2[g]'; - %------------------------------------------------------------------------------ - %determining final location of the protein - SPaas = aacount(sequence(1:22)); %Amino acids in signal peptide assuming length is 22 on average - rxns(find(ismember(rxnNames,'SP_degradation'))) = substitute_AAs_count(rxns(find(ismember(rxnNames,'SP_degradation'))),SPaas); - new_aas = aacount(sequence(1:22)); - rxns(find(ismember(rxnNames,'Ubiquitination_degradation'))) = strrep(rxns(find(ismember(rxnNames,'Ubiquitination_degradation'))),'!', '?'); - rxns(find(ismember(rxnNames,'Ubiquitination_degradation'))) = substitute_AAs_count(rxns(find(ismember(rxnNames,'Ubiquitination_degradation'))),new_aas); - rxns(find(ismember(rxnNames,'Ubiquitination_degradation'))) = strrep(rxns(find(ismember(rxnNames,'Ubiquitination_degradation'))),'?',num2str(length-22)); - %GPRs = getGPRsFromRxnNames(rxnNames, tempRxns); - %Comps = getCompsFromRxnNames(rxnNames, tempRxns); - - location='[g]'; - rxns = vertcat(rxns,strcat(protein,location, {' => '})); - rxnNames = vertcat(rxnNames,strcat(protein, {'_Final_demand_g'})); - GPRs = vertcat(GPRs,{}); - Comps = vertcat(Comps,'x'); - - location='[gm]'; - rxns = vertcat(rxns,strcat(protein,location, {' => '})); - rxnNames = vertcat(rxnNames,strcat(protein, {'_Final_demand_gm'})); - GPRs = vertcat(GPRs,{}); - Comps = vertcat(Comps,'x'); - - rxns = vertcat(rxns,strcat(protein, {'[g] => '}, protein,{'[gm]'})); - rxnNames = vertcat(rxnNames,strcat(protein, {'_Final_location_gm'})); - GPRs = vertcat(GPRs,{}); - Comps = vertcat(Comps,'gm'); - - %------------------------------------------------------------------------------ - %Add COPI - rxns = vertcat(rxns,strcat(connector, {' => XXX_preCOPI[g]'})); - rxnNames = vertcat(rxnNames,{'Start_COPI'}); - copi_rxns = {}; - copi_names = {}; - [copi_rxns, copi_names] = addPathway('COPI',copi_rxns,copi_names,tempRxns); - for i = 1:numel(copi_rxns) - copi_rxns(i) = strrep(copi_rxns(i),'!',num2str(copi_coeff)); - end - rxns = vertcat(rxns,copi_rxns); - rxnNames = vertcat(rxnNames,copi_names); - connector = 'XXX_mature[r]'; - - rxns = vertcat(rxns,strcat(connector, {' => '})); - rxnNames = vertcat(rxnNames,strcat(protein,{'_Final_demand_r'})); - - rxns = vertcat(rxns,strcat(connector,{' => XXX_mature'},'[rm]')); - rxnNames = vertcat(rxnNames,strcat({'Final_location_rm'})); - rxns = vertcat(rxns,strcat({'XXX_mature'},'[rm]',{' => '})); - rxnNames = vertcat(rxnNames,strcat(protein,{'_Final_demand_rm'})); - %------------------------------------------------------------------------------ - %Add Clathrin vesicles - rxns = vertcat(rxns,strcat(connector, {' => XXX-preClathrin[g]'})); - rxnNames = vertcat(rxnNames,{'Start_Clathrin_vesicle'}); - clath_rxns = {}; - clath_names = {}; - [clath_rxns, clath_names] = addPathway('Clathrin vesicles',clath_rxns,clath_names,tempRxns); - for i = 1:numel(clath_rxns) - clath_rxns(i) = strrep(clath_rxns(i),'!',num2str(clathrin_coeff)); - end - rxns = vertcat(rxns,clath_rxns); - rxnNames = vertcat(rxnNames,clath_names); - connector = 'XXX_mature[cv]'; - - rxns = vertcat(rxns,strcat(connector,{' => XXX_mature'},'[p]')); - rxnNames = vertcat(rxnNames,strcat({'Final_location_p'})); - rxns = vertcat(rxns,strcat({'XXX_mature'},'[p]',{' => '})); - rxnNames = vertcat(rxnNames,strcat(protein,{'_Final_demand_p'})); - - rxns = vertcat(rxns,strcat(connector,{' => XXX_mature'},'[l]')); - rxnNames = vertcat(rxnNames,strcat({'Final_location_l'})); - rxns = vertcat(rxns,strcat({'XXX_mature'},'[l]',{' => '})); - rxnNames = vertcat(rxnNames,strcat(protein,{'_Final_demand_l'})); - - %------------------------------------------------------------------------------ - %Send to corresponding location - rxns = vertcat(rxns,strcat(connector, {' => XXX-preSV[g]'})); - rxnNames = vertcat(rxnNames,{'Start_Secretion'}); - sv_rxns = {}; - sv_names = {}; - [sv_rxns, sv_names] = addPathway('SV',sv_rxns,sv_names,tempRxns); - for i = 1:numel(sv_rxns) - sv_rxns(i) = strrep(sv_rxns(i),'!',num2str(clathrin_coeff)); - end - rxns = vertcat(rxns,sv_rxns); - rxnNames = vertcat(rxnNames,sv_names); - - rxns = vertcat(rxns,strcat({'XXX_mature[sv]'},{' => XXX_mature'},'[s]')); - rxnNames = vertcat(rxnNames,strcat({'Final_location_s'})); - rxns = vertcat(rxns,strcat({'XXX_mature'},'[s]',{' => '})); - rxnNames = vertcat(rxnNames,strcat(protein,{'_Final_demand_s'})); - %------------------------------------------------------------------------------ - %Add coeffcients to SP_degradation and Ubiquitin_degradation reactions (if applicable) - SPaas = aacount(sequence(1:22)); %Amino acids in signal peptide assuming length is 22 on average - rxns(find(ismember(rxnNames,'SP_degradation'))) = substitute_AAs_count(rxns(find(ismember(rxnNames,'SP_degradation'))),SPaas); - new_aas = aacount(sequence(1:22)); - rxns(find(ismember(rxnNames,'Ubiquitination_degradation'))) = strrep(rxns(find(ismember(rxnNames,'Ubiquitination_degradation'))),'!', '?'); - rxns(find(ismember(rxnNames,'Ubiquitination_degradation'))) = substitute_AAs_count(rxns(find(ismember(rxnNames,'Ubiquitination_degradation'))),new_aas); - rxns(find(ismember(rxnNames,'Ubiquitination_degradation'))) = strrep(rxns(find(ismember(rxnNames,'Ubiquitination_degradation'))),'?',num2str(length-22)); - %------------------------------------------------------------------------------ - GPRs = getGPRsFromRxnNames(rxnNames, tempRxns); - Comps = getCompsFromRxnNames(rxnNames, tempRxns); - %------------------------------------------------------------------------------ - %Change the reaction names and their formulas to include the UniProt Identifier - for i = 1:numel(rxns) - rxns(i) = insert_prot_name_in_rxnFormula((rxns(i)),protein); - end - for i = 1:numel(rxnNames) - rxnNames(i) = insert_prot_name_in_rxnName(rxnNames(i),protein); - end - [rxns,rxnNames,GPRs, Comps] = addCanonicalRxns(rxns,rxnNames,GPRs, Comps,tempRxns); - %------------------------------------------------------------------------------ - rxnNames = strrep(rxnNames,'[',''); - rxnNames = strrep(rxnNames,']',''); - %------------------------------------------------------------------------------ - %add generated reactions to the model and generate secModel - %------------------------------------------------------------------------------ - %first add list of genes which are not present in model and are in GPRs - gprList = GPRs; - gprList = strrep(gprList,'(',''); - gprList = strrep(gprList,')',''); - gprList = strrep(gprList,';',''); - gprList = strrep(gprList,' or ',' '); - gprList = strrep(gprList,' and ',' '); - for i = 1:numel(gprList) - genes(1,:) = strsplit(char(gprList(i))); - if i == 1 - geneList = genes(:); - else - geneList = vertcat(geneList,genes(:)); - end - clear genes - end - geneList = unique(geneList); - genesToAdd.genes = setdiff(geneList,secModel.genes); - genesToAdd.genes = genesToAdd.genes(~cellfun('isempty', genesToAdd.genes)); - secModel = addGenesRaven(secModel,genesToAdd); - %------------------------------------------------------------------------------ - %find and add new metabolites to secModel - metList = parseRxnEqu(rxns); - outModel = addCompartmentalizedMetNames(secModel); - newMets = setdiff(metList,outModel.metNamesC); %list of new metabolites with their compartment. - if isempty(newMets) == 0 - [newNames, newComps] = splitComp(newMets); - metsToAdd.compartments = newComps; - metsToAdd.metNames = newNames; - metsToAdd.mets = strcat(metsToAdd.metNames,metsToAdd.compartments); - secModel = addMets(secModel,metsToAdd); - end - %------------------------------------------------------------------------------ - %finding reactions which are not in the model - rxnsToAdd.rxns = rxnNames(ismember(rxnNames,secModel.rxns) == 0); - rxnsToAdd.equations = rxns(ismember(rxnNames,secModel.rxns) == 0); - rxnsToAdd.rxnNames = rxnNames(ismember(rxnNames,secModel.rxns) == 0); - rxnsToAdd.grRules = GPRs(ismember(rxnNames,secModel.rxns) == 0); - rxnsToAdd.subSystems(1:numel(rxnsToAdd.rxnNames),1) = {'protein secretion'}; - %------------------------------------------------------------------------------ - %Add protein secretion reactions to human1-drived model and modify grule Matrix - secModel = addRxns(secModel,rxnsToAdd,3,[],false); - %------------------------------------------------------------------------------ - [justConsumedMets, justProducedMets]=findRootDeadEndMets(secModel); - justConsumedMets_sec = intersect(metsToAdd.mets,justConsumedMets); - justProducedMets_sec = intersect(metsToAdd.mets,justProducedMets); - if size(justConsumedMets_sec,1)~=0 - [secModel, ~ ]=addExchangeRxns(secModel, 'in', justConsumedMets_sec); - end - if size(justProducedMets_sec,1)~=0 - [secModel, ~ ]=addExchangeRxns(secModel, 'out', justProducedMets_sec); - end - ihumanSec=secModel; - %------------------------------------------------------------------------------ - rxns2rm=intersect(ihumanSec.rxns,ihuman.rxns); - secAddon=removeReactions(ihumanSec,rxns2rm,1,1,1); - %------------------------------------------------------------------------------ -end diff --git a/getCompsFromRxnNames.m b/getCompsFromRxnNames.m deleted file mode 100644 index 7f49b47..0000000 --- a/getCompsFromRxnNames.m +++ /dev/null @@ -1,21 +0,0 @@ -function comp_list=getCompsFromRxnNames(listOfRxnsNames, tempRxns) - %Function for creating a list of components given a list of Rxn names - % - % - % - % - % - % - % - % - % Rasool Saghaleyni, 2020-02-22 - comp_list = {}; - %print listOfRxnsNames - for i = 1:numel(listOfRxnsNames) - if ismember(listOfRxnsNames(i),tempRxns.Abbreviation) == 1 - comp_list(i,1) = tempRxns.Comp(find(ismember(tempRxns.Abbreviation,listOfRxnsNames(i)))); - else - comp_list(i,1) = {''}; - end - end -end diff --git a/getGPRsFromRxnNames.m b/getGPRsFromRxnNames.m deleted file mode 100644 index b730b05..0000000 --- a/getGPRsFromRxnNames.m +++ /dev/null @@ -1,21 +0,0 @@ -function GPR_list=getGPRsFromRxnNames(listOfRxnsNames, tempRxns) - % - % - % - % - % - % - % - % - % - % Rasool Saghaleyni, 2018-02-16 - GPR_list = {}; - %print listOfRxnsNames - for i=1:numel(listOfRxnsNames) - if ismember(listOfRxnsNames(i),tempRxns.Abbreviation) == 1 - GPR_list(i,1) = tempRxns.GPR(find(ismember(tempRxns.Abbreviation,listOfRxnsNames(i)))); - else - GPR_list(i,1)={''}; - end - end -end diff --git a/humanSec.m b/humanSec.m deleted file mode 100644 index f2f29a4..0000000 --- a/humanSec.m +++ /dev/null @@ -1,422 +0,0 @@ -function [secModel, addedRxns]=humanSec(model, protein, psim, tempRxns) - % humanSec - % This script contains functions to create a list of protein-specific reactions - % for the protein secretion pathway in HMR2s. - % - % model a model structure, could be HMR2 or a HMR2 drived model - % protein the Uniprot ID of your interested protein. if protein ID is not in PSIM_HUMAN you should create - % a specific PSIM for your interested protein - % psim the PSIM structure can have the following fields: - % - % entry - % name - % length - % mass - % sp - % dsb - % gpi - % ng - % og - % tmd - % location - % sequence - % - % tempRxns the tempRxns structure can have the following fields: - % - % Abbreviation - % Components - % Comp - % Conditions - % Formula - % GPR - % Pathway - % - % secModel updated model structure - % addedRxns a structure array contains reactions which added to model to generate secModel - % - % rxnsNames - % rxnFormula - % rxnGPRs - % rxnComps - % newMets - % newGens - % - % - % - % Usage: [secModel, addedRxns]=humanSec(model, proToAdd) - % - % Rasool Saghaleyni, 2018-02-16 - % 2019-02-07 - % 2020-03-01 - - p_row = find(ismember(psim.entry,protein)); %protein row in psim - sequence = char(psim.sequence(p_row)); - length = psim.length(p_row); - mass = psim.mass(p_row); - Kv = 0.7; - V = mass * 1.21 / 1000.0; % Protein Volume in nm^3 - clathrin_coeff = floor(round(29880.01 * Kv / V)); % Number of proteins per clathrin vesicle - copi_coeff = floor(round(143793.19 * Kv / V)); - copii_coeff = floor(round(268082.35 * Kv / V)); - %Prepare vectors that will store reactions and components - rxns={}; - rxnNames={}; - %Add translation reaction - translationFormula = translationRxn(psim, protein); - rxns(1) = cellstr(translationFormula); - rxnNames(1) = {'TRANSLATION_protein'}; - secModel = model; - secModel.description = char('human protein-specific secretory model'); - secModel.id = char(strcat('HumanSec_',model.id)); - % Add secretory compartements - comps = {'sv';'cv';'rm';'gm';'pm'}; - compNames = {'secretory vesicle';'clathrin vesicle';'ER membrane';'Golgi membrane';'Plasma membrane'}; - compOutside = {'c';'c';'c';'c';'s'}; - secModel = addCompartement(secModel,comps,compNames,compOutside); - %------------------------------------------------------------------------------ - %If protein doesnt have signal peptide then ignore - if psim.sp(p_row) == 0 - GPRs = getGPRsFromRxnNames(rxnNames, tempRxns); - Comps = getCompsFromRxnNames(rxnNames, tempRxns); - %Change the reaction names and their formulas to include the UniProt Identifier - for i = 1:numel(rxns) - rxns(i) = insert_prot_name_in_rxnFormula((rxns(i)),protein); - end - for i = 1:numel(rxns) - rxnNames(i) = insert_prot_name_in_rxnName(rxnNames(i),protein); - end - rxns = vertcat(rxns,strcat(protein, {'[c] => '})); - rxnNames = vertcat(rxnNames,strcat(protein ,{'_Final_demand'})); - GPRs = vertcat(GPRs,{''}); - Comps = vertcat(Comps,9); - else %Translocate protein if it has signal peptide - if length <= 160 - [rxns,rxnNames] = addPathway('Post-translational Translocation',rxns,rxnNames,tempRxns); - if strcmp(psim.location(p_row), '[s]') || strcmp(psim.location(p_row), '') - [rxns,rxnNames] = addPathway('Post-translational Translocation (Secretory protein)',rxns,rxnNames,tempRxns); - end - if strcmp(psim.location(p_row), '[pm]') || psim.og(p_row) ~= 0 - [rxns,rxnNames] = addPathway('Post-translational Translocation (Tail anchored membrane protein)',rxns,rxnNames,tempRxns); - end - else - [rxns,rxnNames] = addPathway('Translocation',rxns,rxnNames,tempRxns); - end - number_BiP = length/40; %Number of BiPs depends on protein length http://www.cshperspectives.com/content/5/5/a013201.full - for i = 1:numel(rxns) - rxns(i) = strrep(rxns(i), '!',num2str(number_BiP)); - end - connector = 'XXX[r]'; - %------------------------------------------------------------------------------ - %Add Disulphide Bond Reactions - if psim.dsb(p_row) ~= 0 - number_DSB = psim.dsb(p_row); - DSBrxns = {}; - DSBrxnNames = {}; - DSBrxns = vertcat(DSBrxns,strcat(connector ,{' => XXX_preDSB[r]'})); - DSBrxnNames = vertcat(DSBrxnNames,{'Start_DSB'}); - [DSBrxns,DSBrxnNames]=addPathwayFromCondition('DSB>0',DSBrxns,DSBrxnNames,tempRxns); - for i = 1:numel(DSBrxns) - if contains(DSBrxns(i),'?') == 1 - if number_DSB == 1 - DSBrxns(i) = strrep(DSBrxns(i),'? ',''); - else - DSBrxns(i) = strrep(DSBrxns(i),'?',num2str(number_DSB)); - end - end - end - connector = 'XXX_DSB[r]'; - rxns = vertcat(rxns,DSBrxns); - rxnNames = vertcat(rxnNames,DSBrxnNames); - end - %------------------------------------------------------------------------------ - %Add GPI reactions - if psim.gpi(p_row) == 1 - rxns = vertcat(rxns,strcat(connector,{' => XXX_preGPI[r]'})); - rxnNames = vertcat(rxnNames,{'Start_GPI'}); - [rxns,rxnNames] = addPathwayFromCondition('GPI=1',rxns,rxnNames,tempRxns); - connector = 'XXX-dgpi_hs[r]'; - end - %------------------------------------------------------------------------------ - %Add N-glycosylation reactions - if psim.ng(p_row) ~= 0 %protein has N-glycans! - rxns = vertcat(rxns,strcat(connector, {' => XXX_preNG[r]'})); - rxnNames = vertcat(rxnNames,{'Start_NG'}); - number_Nglycans = psim.ng(p_row); %Get number of N-Glycans - NGlyrxns = {}; - NGlyrxnNames = {}; - [NGlyrxns,NGlyrxnNames] = addPathwayFromCondition('NG>0',NGlyrxns,NGlyrxnNames,tempRxns); - [NGlyrxns,NGlyrxnNames] = addPathway('Golgi processing N',NGlyrxns,NGlyrxnNames,tempRxns); - for i = 1:numel(NGlyrxns) %Change the '?' for the number of N-glycans - if strcmp(NGlyrxns(i),{'XXX-M5-unfold-UBIQP[c] + ? H2O[c] + RAD23A[c] => XXX-unfold-UBIQP-RAD23A[c] + ? N-acetylglucosamine[c] + ? mannose[c]'}) == 1 - h2o = num2str(7*number_Nglycans); - acgam = num2str(2*number_Nglycans); - man = num2str(5*number_Nglycans); - NGlyrxns(i) = strcat({'XXX-M5-unfold-UBIQP[c] + '}, h2o,{' H2O[c] + RAD23A[c] => XXX-unfold-UBIQP-RAD23A[c] + '},acgam,{' N-acetylglucosamine[c] + '},man,{' mannose[c]'}); - end - if contains(NGlyrxns(i),'?') == 1 - if number_Nglycans == 1 - NGlyrxns(i) = strrep(NGlyrxns(i),'? ',''); - else - NGlyrxns(i) = strrep(NGlyrxns(i),'?',num2str(number_Nglycans)); - end - end - end - rxns = vertcat(rxns,NGlyrxns); - rxnNames = vertcat(rxnNames,NGlyrxnNames); - connector = 'XXX-M8B[r]'; - end - %------------------------------------------------------------------------------ - %Add COPII reactions - if strcmp(connector,'XXX-M8B[r]') == 1 - copii_rxns = {}; - copii_names = {}; - [copii_rxns, copii_names] = addPathway('COPII_NG',copii_rxns,copii_names,tempRxns); - for i = 1:numel(copii_rxns) - copii_rxns(i) = strrep(copii_rxns(i),'!',num2str(copii_coeff)); - end - rxns = vertcat(rxns,copii_rxns); - rxnNames = vertcat(rxnNames,copii_names); - connector = 'XXX-M3-GN2[g]'; - %-------------- ADD IF PROTEIN = EPO (HUMAN)--------------------------------- - % IMPORTANT! => Reactions in this pathway assume EPO has NG = 3 and Og = 1 (see PSIM) - if strcmp(protein,'P01588') == 1 - rxns = vertcat(rxns,{'P01588[c] => EPO_Human[c]'}); - rxnNames = vertcat(rxnNames,{'make_EPO'}); - [rxns,rxnNames] = addPathway('Golgi processing (EPO specific)',rxns,rxnNames,tempRxns); - connector = 'XXX-M3-GN4-GL4-NA4-F[g]'; - protein = 'EPO_Human'; - end - elseif strcmp(connector,'XXX-dgpi_hs[r]') == 1 - copii_rxns = {}; - copii_names = {}; - [copii_rxns, copii_names] = addPathway('COPII_GPI',copii_rxns,copii_names,tempRxns); - for i = 1:numel(copii_rxns) - copii_rxns(i) = strrep(copii_rxns(i),'!',num2str(copii_coeff)); - end - rxns = vertcat(rxns,copii_rxns); - rxnNames = vertcat(rxnNames,copii_names); - connector = 'XXX-dgpi_hs[g]'; - elseif strcmp(connector,'XXX_DSB[r]') == 1 - [rxns,rxnNames] = addPathway('COPII_DSB',rxns,rxnNames,tempRxns); - copii_rxns = {}; - copii_names = {}; - [copii_rxns, copii_names] = addPathway('COPII-canonical',copii_rxns,copii_names,tempRxns); - for i = 1:numel(copii_rxns) - copii_rxns(i) = strrep(copii_rxns(i),'!',num2str(copii_coeff)); - end - rxns = vertcat(rxns,copii_rxns); - rxnNames = vertcat(rxnNames,copii_names); - connector = 'XXX[g]'; - elseif strcmp(connector,'XXX[r]') == 1 - [rxns,rxnNames] = addPathway('COPII-normal',rxns,rxnNames,tempRxns); - copii_rxns = {}; - copii_names = {}; - [copii_rxns, copii_names] = addPathway('COPII-canonical',copii_rxns,copii_names,tempRxns); - for i = 1:numel(copii_rxns) - copii_rxns(i) = strrep(copii_rxns(i),'!',num2str(copii_coeff)); - end - rxns = vertcat(rxns,copii_rxns); - rxnNames = vertcat(rxnNames,copii_names); - connector = 'XXX[g]'; - end - %------------------------------------------------------------------------------ - %Add O-glycosylation reactions - if psim.og(p_row) ~= 0 %Has O-glycans? - rxns = vertcat(rxns,strcat(connector,{' => XXX_preOG[g]'})); - rxnNames = vertcat(rxnNames,{'Start_OG'}); - number_Oglycans = psim.og(p_row); %Get number of O-Glycans - OGlyrxns = {}; - OGlyrxnNames = {}; - [OGlyrxns,OGlyrxnNames] = addPathwayFromCondition('OG>0',OGlyrxns,OGlyrxnNames,tempRxns); - for i = 1:numel(OGlyrxns) %Change the '?' for the number of O-glycans - if contains(OGlyrxns(i),'?') == 1 - if number_Oglycans == 1 - OGlyrxns(i) = strrep(OGlyrxns(i),'? ', ''); - else - OGlyrxns(i) = strrep(OGlyrxns(i),'?',num2str(number_Oglycans)); - end - end - end - rxns = vertcat(rxns,OGlyrxns); - rxnNames = vertcat(rxnNames,OGlyrxnNames); - connector = 'XXX-Core2[g]'; - end - %------------------------------------------------------------------------------ - %determining final location of the protein - if strcmp(psim.location(p_row),'[g]') == 1 || strcmp(psim.location(p_row),'[gm]') == 1 - %Stay in Golgi if protein is localized there - location = psim.location(p_row); - if ismember('SP_degradation',rxnNames) == 1 - SPaas = aacount(sequence(1:22)); %Amino acids in signal peptide assuming length is 22 on average - rxns(find(ismember(rxnNames,'SP_degradation'))) = substitute_AAs_count(rxns(find(ismember(rxnNames,'SP_degradation'))),SPaas); - end - if ismember('Ubiquitination_degradation',rxnNames) == 1 - new_aas = aacount(sequence(1:22)); - rxns(find(ismember(rxnNames,'Ubiquitination_degradation'))) = strrep(rxns(find(ismember(rxnNames,'Ubiquitination_degradation'))),'!', '?'); - rxns(find(ismember(rxnNames,'Ubiquitination_degradation'))) = substitute_AAs_count(rxns(find(ismember(rxnNames,'Ubiquitination_degradation'))),new_aas); - rxns(find(ismember(rxnNames,'Ubiquitination_degradation'))) = strrep(rxns(find(ismember(rxnNames,'Ubiquitination_degradation'))),'?',num2str(length-22)); - end - %Add GPRs - GPRs = getGPRsFromRxnNames(rxnNames, tempRxns); - Comps = getCompsFromRxnNames(rxnNames, tempRxns); - %Change the reaction names and their formulas to include the UniProt Identifier - for i = 1:numel(rxns) - rxns(i) = insert_prot_name_in_rxnFormula((rxns(i)),protein); - end - for i = 1:numel(rxnNames) - rxnNames(i) = insert_prot_name_in_rxnName(rxnNames(i),protein); - end - rxns = vertcat(rxns,strcat(protein,location, {' => '})); - rxnNames = vertcat(rxnNames,strcat(protein, {'_Final_demand'})); - GPRs = vertcat(GPRs,{}); - Comps = vertcat(Comps,0); - [rxns,rxnNames,GPRs, Comps] = addCanonicalRxns(rxns,rxnNames,GPRs, Comps, tempRxns); - %------------------------------------------------------------------------------ - %Add COPI - elseif strcmp(psim.location(p_row),'[r]') == 1 || strcmp(psim.location(p_row),'[rm]') == 1 - rxns = vertcat(rxns,strcat(connector, {' => XXX_preCOPI[g]'})); - rxnNames = vertcat(rxnNames,{'Start_COPI'}); - copi_rxns = {}; - copi_names = {}; - [copi_rxns, copi_names] = addPathway('COPI',copi_rxns,copi_names,tempRxns); - for i = 1:numel(copi_rxns) - copi_rxns(i) = strrep(copi_rxns(i),'!',num2str(copi_coeff)); - end - rxns = vertcat(rxns,copi_rxns); - rxnNames = vertcat(rxnNames,copi_names); - connector = 'XXX_mature[r]'; - location = psim.location(p_row); - if strcmp(psim.location(p_row),'[r]') == 1 - rxns = vertcat(rxns,strcat(connector, {' => '})); - rxnNames = vertcat(rxnNames,strcat(protein,{'_Final_demand'})); - elseif strcmp(psim.location(p_row),'[rm]') == 1 - rxns = vertcat(rxns,strcat(connector,{' => XXX_mature'},location)); - rxnNames = vertcat(rxnNames,strcat({'Final_location_'},location)); - rxns = vertcat(rxns,strcat({'XXX_mature'},location,{' => '})); - rxnNames = vertcat(rxnNames,strcat(protein,{'_Final_demand'})); - end - %------------------------------------------------------------------------------ - %Add Clathrin vesicles - elseif strcmp(psim.location(p_row),'[p]') == 1 || strcmp(psim.location(p_row),'[l]') == 1 - rxns = vertcat(rxns,strcat(connector, {' => XXX-preClathrin[g]'})); - rxnNames = vertcat(rxnNames,{'Start_Clathrin_vesicle'}); - clath_rxns = {}; - clath_names = {}; - [clath_rxns, clath_names] = addPathway('Clathrin vesicles',clath_rxns,clath_names,tempRxns); - for i = 1:numel(clath_rxns) - clath_rxns(i) = strrep(clath_rxns(i),'!',num2str(clathrin_coeff)); - end - rxns = vertcat(rxns,clath_rxns); - rxnNames = vertcat(rxnNames,clath_names); - connector = 'XXX_mature[cv]'; - location = psim.location(p_row); - rxns = vertcat(rxns,strcat(connector,{' => XXX_mature'},location)); - rxnNames = vertcat(rxnNames,strcat({'Final_location_'},location)); - rxns = vertcat(rxns,strcat({'XXX_mature'},location,{' => '})); - rxnNames = vertcat(rxnNames,strcat(protein,{'_Final_demand'})); - %------------------------------------------------------------------------------ - %Send to corresponding location - else - location = psim.location(p_row); - rxns = vertcat(rxns,strcat(connector, {' => XXX-preSV[g]'})); - rxnNames = vertcat(rxnNames,{'Start_Secretion'}); - sv_rxns = {}; - sv_names = {}; - [sv_rxns, sv_names] = addPathway('SV',sv_rxns,sv_names,tempRxns); - for i = 1:numel(sv_rxns) - sv_rxns(i) = strrep(sv_rxns(i),'!',num2str(clathrin_coeff)); - end - rxns = vertcat(rxns,sv_rxns); - rxnNames = vertcat(rxnNames,sv_names); - if strcmp(psim.location(p_row),'') == 1 - location = '[s]'; - end - rxns = vertcat(rxns,strcat({'XXX_mature[sv]'},{' => XXX_mature'},location)); - rxnNames = vertcat(rxnNames,strcat({'Final_location_'},location)); - rxns = vertcat(rxns,strcat({'XXX_mature'},location,{' => '})); - rxnNames = vertcat(rxnNames,strcat(protein,{'_Final_demand'})); - end - %------------------------------------------------------------------------------ - %Add coeffcients to SP_degradation and Ubiquitin_degradation reactions (if applicable) - if ismember({'SP_degradation'}, rxnNames) == 1 - SPaas = aacount(sequence(1:22)); %Amino acids in signal peptide assuming length is 22 on average - rxns(find(ismember(rxnNames,'SP_degradation'))) = substitute_AAs_count(rxns(find(ismember(rxnNames,'SP_degradation'))),SPaas); - end - if ismember('Ubiquitination_degradation',rxnNames) == 1 - new_aas = aacount(sequence(1:22)); - rxns(find(ismember(rxnNames,'Ubiquitination_degradation'))) = strrep(rxns(find(ismember(rxnNames,'Ubiquitination_degradation'))),'!', '?'); - rxns(find(ismember(rxnNames,'Ubiquitination_degradation'))) = substitute_AAs_count(rxns(find(ismember(rxnNames,'Ubiquitination_degradation'))),new_aas); - rxns(find(ismember(rxnNames,'Ubiquitination_degradation'))) = strrep(rxns(find(ismember(rxnNames,'Ubiquitination_degradation'))),'?',num2str(length-22)); - end - %------------------------------------------------------------------------------ - GPRs = getGPRsFromRxnNames(rxnNames, tempRxns); - Comps = getCompsFromRxnNames(rxnNames, tempRxns); - %------------------------------------------------------------------------------ - %Change the reaction names and their formulas to include the UniProt Identifier - for i = 1:numel(rxns) - rxns(i) = insert_prot_name_in_rxnFormula((rxns(i)),protein); - end - for i = 1:numel(rxnNames) - rxnNames(i) = insert_prot_name_in_rxnName(rxnNames(i),protein); - end - [rxns,rxnNames,GPRs, Comps] = addCanonicalRxns(rxns,rxnNames,GPRs, Comps,tempRxns); - end - %------------------------------------------------------------------------------ - rxnNames = strrep(rxnNames,'[',''); - rxnNames = strrep(rxnNames,']',''); - %------------------------------------------------------------------------------ - %add generated reactions to the model and generate secModel - %------------------------------------------------------------------------------ - %first add list of genes which are not present in model and are in GPRs - gprList = GPRs; - gprList = strrep(gprList,'(',''); - gprList = strrep(gprList,')',''); - gprList = strrep(gprList,';',''); - gprList = strrep(gprList,' or ',' '); - gprList = strrep(gprList,' and ',' '); - for i = 1:numel(gprList) - genes(1,:) = strsplit(char(gprList(i))); - if i == 1 - geneList = genes(:); - else - geneList = vertcat(geneList,genes(:)); - end - clear genes - end - geneList = unique(geneList); - genesToAdd.genes = setdiff(geneList,secModel.genes); - genesToAdd.genes = genesToAdd.genes(~cellfun('isempty', genesToAdd.genes)); - secModel = addGenesRaven(secModel,genesToAdd); - %------------------------------------------------------------------------------ - %find and add new metabolites to secModel - metList = parseRxnEqu(rxns); - outModel = addCompartmentalizedMetNames(secModel); - newMets = setdiff(metList,outModel.metNamesC); %list of new metabolites with their compartment. - if isempty(newMets) == 0 - [newNames, newComps] = splitComp(newMets); - metsToAdd.compartments = newComps; - metsToAdd.metNames = newNames; - metsToAdd.mets = strcat(metsToAdd.metNames,metsToAdd.compartments); - secModel = addMets(secModel,metsToAdd); - end - %------------------------------------------------------------------------------ - %finding reactions which are not in the model - rxnsToAdd.rxns = rxnNames(ismember(rxnNames,secModel.rxns) == 0); - rxnsToAdd.equations = rxns(ismember(rxnNames,secModel.rxns) == 0); - rxnsToAdd.rxnNames = rxnNames(ismember(rxnNames,secModel.rxns) == 0); - rxnsToAdd.grRules = GPRs(ismember(rxnNames,secModel.rxns) == 0); - rxnsToAdd.subSystems(1:numel(rxnsToAdd.rxnNames)) = {'protein secretion'}; - - com = Comps(ismember(rxnNames,secModel.rxns) == 0); - %Add protein secretion reactions to human1-drived model and modify grule Matrix - secModel = addRxns(secModel,rxnsToAdd,3,[],false); - %Add compartments for new reactions - %secModel.rxnComps(numel(model.rxns)+1:numel(secModel.rxns)) = com(1:end); - %------------------------------------------------------------------------------ - addedRxns.rxnsNames = rxnsToAdd.rxns; - addedRxns.rxnFormula = rxnsToAdd.equations; - addedRxns.rxnGPRs = rxnsToAdd.grRules; - addedRxns.rxnComps = com; - addedRxns.newMets = newMets; - addedRxns.newGens = genesToAdd.genes; -end diff --git a/importPsimFromExcel.m b/importPsimFromExcel.m deleted file mode 100644 index fa13edb..0000000 --- a/importPsimFromExcel.m +++ /dev/null @@ -1,35 +0,0 @@ -function psim=importPsimFromExcel(fileName) - % - % order of columns in PSIM matrix should be - % 'Entry' 'Protein names' 'Length' 'Mass' 'SP' 'DSB' 'GPI' 'NG' 'OG' 'TMD' 'Location' 'Sequence' - % names could be different but order should be same. - % - % - % - % - % - % - % - % - % - % - % - % - % - % - % Rasool Saghaleyni, 2018-02-16 - [num,txt,~] = xlsread(fileName); - psim.entry = txt(2:end,1); - psim.names = txt(2:end,2); - psim.length = num(1:end,1); - psim.mass = num(1:end,2); - psim.sp = num(1:end,3); - psim.dsb = num(1:end,4); - psim.gpi = num(1:end,5); - psim.ng = num(1:end,6); - psim.og = num(1:end,7); - psim.tmd = num(1:end,8); - psim.location = txt(2:end,11); - psim.sequence = txt(2:end,12); - clear num txt -end diff --git a/importTempRxnsFromExcel.m b/importTempRxnsFromExcel.m deleted file mode 100644 index 125c73f..0000000 --- a/importTempRxnsFromExcel.m +++ /dev/null @@ -1,30 +0,0 @@ -function tempRxns=importTempRxnsFromExcel(fileName) - % - % - % - % - % - % - % - % - % - % - % - % - % - % - % - % - % - % Rasool Saghaleyni, 2018-02-16 - [num,txt,~] = xlsread(fileName); - tempRxns.Abbreviation = txt(2:end,1); - tempRxns.Formula = txt(2:end,2); - tempRxns.Comp = txt(2:end,3); - tempRxns.Components = txt(2:end,4); - tempRxns.Conditions = txt(2:end,5); - tempRxns.GPR = txt(2:end,6); - tempRxns.Pathway = txt(2:end,7); - - clear num txt -end diff --git a/inputs/PSIM_HUMAN.xlsx b/inputs/PSIM_HUMAN.xlsx deleted file mode 100644 index 06b0da7..0000000 Binary files a/inputs/PSIM_HUMAN.xlsx and /dev/null differ diff --git a/inputs/PSIM_HUMAN_sp.xlsx b/inputs/PSIM_HUMAN_sp.xlsx deleted file mode 100644 index b6d5161..0000000 Binary files a/inputs/PSIM_HUMAN_sp.xlsx and /dev/null differ diff --git a/inputs/PSPgenes.txt b/inputs/PSPgenes.txt deleted file mode 100644 index 9b52001..0000000 --- a/inputs/PSPgenes.txt +++ /dev/null @@ -1,576 +0,0 @@ -name ensembl -DPM1 ENSG00000000419 -ARF5 ENSG00000004059 -COPZ2 ENSG00000005243 -TRAPPC6A ENSG00000007255 -PIGQ ENSG00000007541 -CYTH3 ENSG00000008256 -SEC62 ENSG00000008952 -POMT2 ENSG00000009830 -RABGAP1 ENSG00000011454 -CAPN1 ENSG00000014216 -WAS ENSG00000015285 -GLT8D1 ENSG00000016864 -RALBP1 ENSG00000017797 -ERP44 ENSG00000023318 -SEC63 ENSG00000025796 -RABEP1 ENSG00000029725 -BAK1 ENSG00000030110 -ALG1 ENSG00000033011 -FUT8 ENSG00000033170 -TBC1D23 ENSG00000036054 -RAB27B ENSG00000041353 -HSPA5 ENSG00000044574 -ARAP2 ENSG00000047365 -VAMP3 ENSG00000049245 -HERPUD1 ENSG00000051108 -USE1 ENSG00000053501 -TRAPPC3 ENSG00000054116 -TBC1D22A ENSG00000054611 -CUL1 ENSG00000055130 -EIF2AK2 ENSG00000055332 -SEC61A1 ENSG00000058262 -PSD ENSG00000059915 -PIGV ENSG00000060642 -CTSA ENSG00000064601 -AP3D1 ENSG00000065000 -PDIA5 ENSG00000065485 -TBC1D22B ENSG00000065491 -SEC61A2 ENSG00000065665 -TBC1D1 ENSG00000065882 -ATXN3 ENSG00000066427 -ARFGEF1 ENSG00000066777 -TRAM1 ENSG00000067167 -EVI5 ENSG00000067208 -ROCK1 ENSG00000067900 -ERLEC1 ENSG00000068912 -DNAJA2 ENSG00000069345 -PIGB ENSG00000069943 -RAB27A ENSG00000069974 -UFD1 ENSG00000070010 -EXOC5 ENSG00000070367 -AP3M2 ENSG00000070718 -SEL1L ENSG00000071537 -UBE2D1 ENSG00000072401 -ACAP1 ENSG00000072818 -DERL2 ENSG00000072849 -NDE1 ENSG00000072864 -AP1M1 ENSG00000072958 -NSF ENSG00000073969 -LMAN1 ENSG00000074695 -RAB7A ENSG00000075785 -SEC31B ENSG00000075826 -ARHGEF1 ENSG00000076928 -MAP2K7 ENSG00000076984 -DNAJC10 ENSG00000077232 -PIK3C3 ENSG00000078142 -UBE2D4 ENSG00000078967 -SAR1A ENSG00000079332 -STX7 ENSG00000079950 -RAB21 ENSG00000080371 -HSP90AA1 ENSG00000080824 -UBA5 ENSG00000081307 -RAB10 ENSG00000084733 -DNAJA1 ENSG00000086061 -B4GALT1 ENSG00000086062 -EIF2AK1 ENSG00000086232 -TMED2 ENSG00000086598 -ERO1B ENSG00000086619 -ALG9 ENSG00000086848 -BAX ENSG00000087088 -PIGS ENSG00000087111 -GMCL1 ENSG00000087338 -ALG6 ENSG00000088035 -ASAP3 ENSG00000088280 -EDEM2 ENSG00000088298 -NSFL1C ENSG00000088833 -ERP29 ENSG00000089248 -GANAB ENSG00000089597 -DNAJB11 ENSG00000090520 -RAB11FIP3 ENSG00000090565 -EXOC1 ENSG00000090989 -SNAP23 ENSG00000092531 -TBC1D2 ENSG00000095383 -HSP90AB1 ENSG00000096384 -RAB18 ENSG00000099246 -STX1B ENSG00000099365 -SNAP29 ENSG00000099940 -DERL3 ENSG00000099958 -TBC1D10A ENSG00000099992 -CYTH4 ENSG00000100055 -GGA1 ENSG00000100083 -PICK1 ENSG00000100151 -KDELR3 ENSG00000100196 -RAB36 ENSG00000100228 -AP1B1 ENSG00000100280 -SGSM3 ENSG00000100359 -IFT27 ENSG00000100360 -RBX1 ENSG00000100387 -PIGH ENSG00000100564 -VTI1B ENSG00000100568 -TMED8 ENSG00000100580 -GALNT16 ENSG00000100626 -ARHGAP5 ENSG00000100852 -SRP54 ENSG00000100883 -SEC23A ENSG00000100934 -DNAJC5 ENSG00000101152 -ARFGAP1 ENSG00000101199 -SEC23B ENSG00000101310 -PIGU ENSG00000101464 -SMCHD1 ENSG00000101596 -ALG13 ENSG00000101901 -EEA1 ENSG00000102189 -DNAJC3 ENSG00000102580 -UGGT2 ENSG00000102595 -ARHGEF7 ENSG00000102606 -HAS3 ENSG00000103044 -COG4 ENSG00000103051 -STUB1 ENSG00000103266 -GGA2 ENSG00000103365 -STX4 ENSG00000103496 -AP3B2 ENSG00000103723 -RAB11A ENSG00000103769 -RAB2A ENSG00000104388 -TUSC3 ENSG00000104723 -STX10 ENSG00000104915 -TBC1D17 ENSG00000104946 -PLIN3 ENSG00000105355 -NAPA ENSG00000105402 -KDELR1 ENSG00000105438 -CYTH2 ENSG00000105443 -HAS1 ENSG00000105509 -RAB3D ENSG00000105514 -RAB3A ENSG00000105649 -COPE ENSG00000105669 -BET1 ENSG00000105829 -STX1A ENSG00000106089 -AP1S1 ENSG00000106367 -AGR2 ENSG00000106541 -YKT6 ENSG00000106636 -GALNTL5 ENSG00000106648 -SEC61B ENSG00000106803 -TBC1D13 ENSG00000107021 -BAG1 ENSG00000107262 -DNMBP ENSG00000107554 -RAB11FIP2 ENSG00000107560 -GBF1 ENSG00000107862 -TBC1D12 ENSG00000108239 -GIT1 ENSG00000108262 -GOSR2 ENSG00000108433 -PIGL ENSG00000108474 -GOSR1 ENSG00000108587 -AKAP10 ENSG00000108599 -CYTH1 ENSG00000108669 -RAB5C ENSG00000108774 -RAB34 ENSG00000109113 -UBE2D3 ENSG00000109332 -TBC1D9 ENSG00000109436 -WFS1 ENSG00000109501 -GALNT7 ENSG00000109586 -TBC1D19 ENSG00000109680 -CRYAB ENSG00000109846 -HSPA8 ENSG00000109971 -GALNT18 ENSG00000110328 -STX2 ENSG00000111450 -COPZ1 ENSG00000111481 -TBC1D30 ENSG00000111490 -RAB5B ENSG00000111540 -RAB35 ENSG00000111737 -MAN1A1 ENSG00000111885 -BAG2 ENSG00000112208 -RAB23 ENSG00000112210 -GPLD1 ENSG00000112293 -EXOC2 ENSG00000112685 -KIF20A ENSG00000112984 -SKP1 ENSG00000113558 -SEC24A ENSG00000113615 -BNIP1 ENSG00000113734 -ACAP2 ENSG00000114331 -SSR3 ENSG00000114850 -SPCS1 ENSG00000114902 -MOGS ENSG00000115275 -GALNT3 ENSG00000115339 -EDEM3 ENSG00000116406 -ARHGEF2 ENSG00000116584 -FBXO2 ENSG00000116661 -FBXO6 ENSG00000116663 -DNAJC6 ENSG00000116675 -RAB29 ENSG00000117280 -TMED5 ENSG00000117500 -VAMP4 ENSG00000117533 -MAN1C1 ENSG00000117643 -STX12 ENSG00000117758 -TXNDC12 ENSG00000117862 -ATF6 ENSG00000118217 -SPCS2 ENSG00000118363 -RAB32 ENSG00000118508 -VAMP8 ENSG00000118640 -RPN2 ENSG00000118705 -PIGZ ENSG00000119227 -RAD23B ENSG00000119318 -RAB14 ENSG00000119396 -GALNT12 ENSG00000119514 -ALG2 ENSG00000119523 -ARAP3 ENSG00000120318 -SEC16B ENSG00000120341 -IQSEC3 ENSG00000120645 -HSPH1 ENSG00000120694 -ALG5 ENSG00000120697 -SIL1 ENSG00000120725 -GLT8D2 ENSG00000120820 -TBC1D15 ENSG00000121749 -PIK3CA ENSG00000121879 -OCRL ENSG00000122126 -COPA ENSG00000122218 -CLTA ENSG00000122705 -OPTN ENSG00000123240 -RAB9B ENSG00000123570 -ATXN3L ENSG00000123594 -RAB9A ENSG00000123595 -RAB38 ENSG00000123892 -PIGT ENSG00000124155 -ARFGEF2 ENSG00000124198 -RAB22A ENSG00000124209 -STX16 ENSG00000124222 -IQSEC2 ENSG00000124313 -VAMP7 ENSG00000124333 -SSR1 ENSG00000124783 -RAB17 ENSG00000124839 -GGA3 ENSG00000125447 -PSD4 ENSG00000125637 -NAPB ENSG00000125814 -TMX4 ENSG00000125827 -RRBP1 ENSG00000125844 -TBC1D20 ENSG00000125875 -MCF2L ENSG00000126217 -HSPA2 ENSG00000126803 -CANX ENSG00000127022 -RAB3IP ENSG00000127328 -MGAT3 ENSG00000128268 -ATF4 ENSG00000128272 -DNAJB9 ENSG00000128590 -EIF2AK4 ENSG00000128829 -COPB1 ENSG00000129083 -SPCS3 ENSG00000129128 -USP6 ENSG00000129204 -RAB2B ENSG00000129472 -DAD1 ENSG00000129562 -ARHGEF6 ENSG00000129675 -GALNT8 ENSG00000130035 -PRKCSH ENSG00000130175 -DPP6 ENSG00000130226 -POMT1 ENSG00000130714 -UBE4B ENSG00000130939 -UBA1 ENSG00000130985 -RAB11FIP4 ENSG00000131242 -TBC1D5 ENSG00000131374 -RBSN ENSG00000131381 -GALNT15 ENSG00000131386 -MGAT1 ENSG00000131446 -UBE2D2 ENSG00000131508 -ACAP3 ENSG00000131584 -SELENOS ENSG00000131871 -DNAJB1 ENSG00000132002 -ARFIP2 ENSG00000132254 -UBE2G1 ENSG00000132388 -TBC1D14 ENSG00000132405 -SEC61G ENSG00000132432 -SNAP25 ENSG00000132639 -ARHGEF11 ENSG00000132694 -RAB25 ENSG00000132698 -AP3B1 ENSG00000132842 -COG6 ENSG00000133103 -HSPBP1 ENSG00000133265 -LARGE1 ENSG00000133424 -AGAP3 ENSG00000133612 -MICALCL ENSG00000133816 -EIF2S1 ENSG00000134001 -EDEM1 ENSG00000134109 -NAPG ENSG00000134265 -ARF3 ENSG00000134287 -YWHAQ ENSG00000134308 -RAB33A ENSG00000134594 -STT3A ENSG00000134910 -TMED7 ENSG00000134970 -UBQLN1 ENSG00000135018 -AGAP2 ENSG00000135439 -B4GALNT1 ENSG00000135454 -OS9 ENSG00000135506 -MICAL1 ENSG00000135596 -STX11 ENSG00000135604 -RAB11FIP5 ENSG00000135631 -STX6 ENSG00000135823 -PIGC ENSG00000135845 -DNAJB2 ENSG00000135924 -CKAP4 ENSG00000136026 -APPL2 ENSG00000136044 -TBC1D4 ENSG00000136111 -KDELR2 ENSG00000136240 -GALNT5 ENSG00000136542 -VPS45 ENSG00000136631 -UGGT1 ENSG00000136731 -DNAJC1 ENSG00000136770 -TOR1A ENSG00000136827 -STX17 ENSG00000136874 -DPM2 ENSG00000136908 -WDR38 ENSG00000136918 -DERL1 ENSG00000136986 -PLAA ENSG00000137055 -SYTL2 ENSG00000137501 -RAB30 ENSG00000137502 -KIF23 ENSG00000137807 -RAB1A ENSG00000138069 -EXOC6 ENSG00000138190 -ARHGAP24 ENSG00000138639 -SEC31A ENSG00000138674 -USO1 ENSG00000138768 -SEC24B ENSG00000138802 -RNF185 ENSG00000138942 -ERP27 ENSG00000139055 -VAMP1 ENSG00000139190 -GIT2 ENSG00000139436 -GALNT6 ENSG00000139629 -RAB20 ENSG00000139832 -TMX1 ENSG00000139921 -RAB15 ENSG00000139998 -SRP14 ENSG00000140319 -LMAN1L ENSG00000140506 -SEC11A ENSG00000140612 -CLTC ENSG00000141367 -GALNT1 ENSG00000141429 -ARHGDIA ENSG00000141522 -RAB40B ENSG00000141542 -EVI5L ENSG00000142459 -PIGK ENSG00000142892 -COP1 ENSG00000143207 -PIGM ENSG00000143315 -RAB13 ENSG00000143545 -GALNT2 ENSG00000143641 -SNAP47 ENSG00000143740 -SRP9 ENSG00000143742 -ARF1 ENSG00000143761 -PDIA6 ENSG00000143870 -EXOC6B ENSG00000144036 -GALNT13 ENSG00000144278 -RAB5A ENSG00000144566 -GOLGA4 ENSG00000144674 -IQSEC1 ENSG00000144711 -SRPRB ENSG00000144867 -MARCH6 ENSG00000145495 -TBC1D7 ENSG00000145979 -PSD2 ENSG00000146005 -RAB19 ENSG00000146955 -RAB41 ENSG00000147127 -DOCK5 ENSG00000147459 -DNAJC5B ENSG00000147570 -UGCG ENSG00000148154 -SURF4 ENSG00000148248 -GBGT1 ENSG00000148288 -INPP5E ENSG00000148384 -SEC16A ENSG00000148396 -USP6NL ENSG00000148429 -DNAJB12 ENSG00000148719 -ARFGAP2 ENSG00000149182 -PAK1 ENSG00000149269 -HYOU1 ENSG00000149428 -SEC24D ENSG00000150961 -NGLY1 ENSG00000151092 -GXYLT1 ENSG00000151233 -VTI1A ENSG00000151532 -PIGF ENSG00000151665 -ASAP2 ENSG00000151693 -GLT1D1 ENSG00000151948 -RABGAP1L ENSG00000152061 -MGAT5 ENSG00000152127 -SAR1B ENSG00000152700 -RAB3C ENSG00000152932 -SRP19 ENSG00000153037 -ASAP1 ENSG00000153317 -RABGEF1 ENSG00000154710 -RAB6B ENSG00000154917 -PDIA4 ENSG00000155660 -RAB39B ENSG00000155961 -PSD3 ENSG00000156011 -RAB11FIP1 ENSG00000156675 -SEC13 ENSG00000157020 -APPL1 ENSG00000157500 -AP3S2 ENSG00000157823 -RAB28 ENSG00000157869 -RER1 ENSG00000157916 -AGAP1 ENSG00000157985 -GALNT14 ENSG00000158089 -B4GALT3 ENSG00000158850 -ALG8 ENSG00000159063 -AMFR ENSG00000159461 -CTBP1 ENSG00000159692 -UBE2J2 ENSG00000160087 -CRYAA ENSG00000160202 -UBQLN4 ENSG00000160803 -MGAT4B ENSG00000161013 -TBC1D24 ENSG00000162065 -STX5 ENSG00000162236 -SYVN1 ENSG00000162298 -CAPN2 ENSG00000162909 -SSR2 ENSG00000163479 -STT3B ENSG00000163527 -DNAJC5G ENSG00000163793 -RPN1 ENSG00000163902 -RFT1 ENSG00000163933 -PIGX ENSG00000163964 -HSPA4L ENSG00000164070 -MON1A ENSG00000164077 -FBXO8 ENSG00000164117 -ARFIP1 ENSG00000164144 -GALNT10 ENSG00000164574 -OSGIN2 ENSG00000164823 -MICALL2 ENSG00000164877 -RASEF ENSG00000165105 -PIGA ENSG00000165195 -VCP ENSG00000165280 -PIGO ENSG00000165282 -ARF6 ENSG00000165527 -QSOX2 ENSG00000165661 -LARGE2 ENSG00000165905 -RAB8B ENSG00000166128 -TMX3 ENSG00000166479 -SEC11C ENSG00000166562 -HSP90B1 ENSG00000166598 -AP1G1 ENSG00000166747 -STX3 ENSG00000166900 -PDIA3 ENSG00000167004 -SGSM1 ENSG00000167037 -B4GALNT2 ENSG00000167080 -DOLPP1 ENSG00000167130 -TBC1D21 ENSG00000167139 -TBC1D2B ENSG00000167202 -TBC1D16 ENSG00000167291 -MYO5B ENSG00000167306 -RAB8A ENSG00000167461 -RAB4B ENSG00000167578 -TRAPPC9 ENSG00000167632 -UBXN6 ENSG00000167671 -SRP68 ENSG00000167881 -RAB26 ENSG00000167964 -RAB3IL1 ENSG00000167994 -RAB4A ENSG00000168118 -MGAT2 ENSG00000168282 -ARF4 ENSG00000168374 -RAB31 ENSG00000168461 -STX18 ENSG00000168818 -VAMP5 ENSG00000168899 -RAB3B ENSG00000169213 -TBC1D10B ENSG00000169221 -LMAN2 ENSG00000169223 -RAB24 ENSG00000169228 -PDILT ENSG00000169340 -UBE2E3 ENSG00000170035 -TRAPPC1 ENSG00000170043 -UBE2E1 ENSG00000170142 -STX8 ENSG00000170310 -TMED10 ENSG00000170348 -FAM71B ENSG00000170613 -HAS2 ENSG00000170961 -BCL2 ENSG00000171791 -RAB33B ENSG00000172007 -EIF2AK3 ENSG00000172071 -DPAGT1 ENSG00000172269 -ALG14 ENSG00000172339 -RAB40A ENSG00000172476 -RAB43 ENSG00000172780 -RAB37 ENSG00000172794 -GXYLT2 ENSG00000172986 -HSPA6 ENSG00000173110 -AGR3 ENSG00000173467 -NET1 ENSG00000173848 -UBXN2A ENSG00000173960 -PIGG ENSG00000174227 -GALNTL6 ENSG00000174473 -SRP72 ENSG00000174780 -RAB1B ENSG00000174903 -ABO ENSG00000175164 -DDIT3 ENSG00000175197 -ARHGAP1 ENSG00000175220 -DOLK ENSG00000175283 -CLTB ENSG00000175416 -TBC1D10C ENSG00000175463 -UBQLNL ENSG00000175518 -UBQLN3 ENSG00000175520 -ALG10B ENSG00000175548 -RAB6A ENSG00000175582 -B3GNTL1 ENSG00000175711 -RUFY1 ENSG00000176783 -SEC24C ENSG00000176986 -MAN1B1 ENSG00000177239 -JUN ENSG00000177606 -AP3S1 ENSG00000177879 -BET1L ENSG00000177951 -GALNT11 ENSG00000178234 -ERN1 ENSG00000178607 -STX19 ENSG00000178750 -DPM3 ENSG00000179085 -CALR ENSG00000179218 -RAD23A ENSG00000179262 -RAB39A ENSG00000179331 -EXOC3 ENSG00000180104 -YOD1 ENSG00000180667 -SSR4 ENSG00000180879 -TRAPPC5 ENSG00000181029 -MGAT4C ENSG00000182050 -UBA7 ENSG00000182179 -UBE2E2 ENSG00000182247 -AP1S2 ENSG00000182287 -TRAPPC6B ENSG00000182400 -NPLOC4 ENSG00000182446 -EXOC7 ENSG00000182473 -ALG12 ENSG00000182858 -GALNT9 ENSG00000182870 -SRPRA ENSG00000182934 -A3GALT2 ENSG00000184389 -COPB2 ENSG00000184432 -UBE2G2 ENSG00000184787 -AP3M1 ENSG00000185009 -RAB11B ENSG00000185236 -PRKN ENSG00000185345 -PDIA2 ENSG00000185615 -P4HB ENSG00000185624 -ANKFY1 ENSG00000185722 -PIGP ENSG00000185808 -BCAP31 ENSG00000185825 -ARAP1 ENSG00000186635 -UBQLN2 ENSG00000188021 -RAB42 ENSG00000188060 -ALG1L ENSG00000189366 -PPIA ENSG00000196262 -TRAPPC2 ENSG00000196459 -MAN2A2 ENSG00000196547 -TRAPPC4 ENSG00000196655 -PGAP1 ENSG00000197121 -TBC1D9B ENSG00000197226 -MAP3K5 ENSG00000197442 -RAB40C ENSG00000197562 -PIGN ENSG00000197563 -GPAA1 ENSG00000197858 -ERO1A ENSG00000197930 -MAN1A2 ENSG00000198162 -SVIP ENSG00000198168 -UBE2J1 ENSG00000198833 -GLT6D1 ENSG00000204007 -INPP5B ENSG00000204084 -RNF5 ENSG00000204308 -HSPA1B ENSG00000204388 -HSPA1L ENSG00000204390 -TBC1D8 ENSG00000204634 -RAB12 ENSG00000206418 -TMX2 ENSG00000213593 -NCKIPSD ENSG00000213672 -ATF6B ENSG00000213676 -REPIN1 ENSG00000214022 -ALG3 ENSG00000214160 -VAMP2 ENSG00000220205 -RAB6C ENSG00000222014 -TXNDC5 ENSG00000239264 -ARFGAP3 ENSG00000242247 -DDOST ENSG00000244038 -ALG1L2 ENSG00000251287 -ALG11 ENSG00000253710 -RAB44 ENSG00000255587 diff --git a/inputs/components.xlsx b/inputs/components.xlsx deleted file mode 100644 index 51af11d..0000000 Binary files a/inputs/components.xlsx and /dev/null differ diff --git a/inputs/connectors.xlsx b/inputs/connectors.xlsx deleted file mode 100644 index 3365add..0000000 Binary files a/inputs/connectors.xlsx and /dev/null differ diff --git a/inputs/fastqc_v0.11.9 (1).dmg b/inputs/fastqc_v0.11.9 (1).dmg deleted file mode 100644 index 833795f..0000000 Binary files a/inputs/fastqc_v0.11.9 (1).dmg and /dev/null differ diff --git a/inputs/ihumanSec.mat b/inputs/ihumanSec.mat deleted file mode 100644 index 511ac41..0000000 Binary files a/inputs/ihumanSec.mat and /dev/null differ diff --git a/inputs/metabolicTasks_Essential.xlsx b/inputs/metabolicTasks_Essential.xlsx deleted file mode 100644 index 079be69..0000000 Binary files a/inputs/metabolicTasks_Essential.xlsx and /dev/null differ diff --git a/inputs/proteinSecretionTasks.xlsx b/inputs/proteinSecretionTasks.xlsx deleted file mode 100644 index ce1658b..0000000 Binary files a/inputs/proteinSecretionTasks.xlsx and /dev/null differ diff --git a/inputs/reaction node position.csv b/inputs/reaction node position.csv deleted file mode 100644 index 7897a76..0000000 --- a/inputs/reaction node position.csv +++ /dev/null @@ -1,155 +0,0 @@ -ID,reaction node position,formula,, -PROTEIN_TRANSLATION_protein,c,20 alanine[c] + 13 arginine[c] + 6 asparagine[c] + 6 aspartate[c] + 194 ATP[c] + 5 cysteine[c] + 13 glutamate[c] + 7 glutamine[c] + 12 glycine[c] + 384 GTP[c] + 385 H2O[c] + 3 histidine[c] + 5 isoleucine[c] + 33 leucine[c] + 8 lysine[c] + 2 methionine[c] + 4 phenylalanine[c] + 11 proline[c] + 12 serine[c] + 11 threonine[c] + 5 tryptophan[c] + 4 tyrosine[c] + 13 valine[c] => ADP[c] + 193 AMP[c] + 384 GDP[c] + 385 H+[c] + 385 Pi[c] + 193 PPi[c] + PROTEIN[c],, -PROTEIN_no_sp,,PROTEIN[c] => ,, -PROTEIN_post_TRANSLOC_3B_2,r,2 H2O[c] + 4.825 BiP-ADP[r] + DNAJC1[r] + PROTEIN-ASNA1-ATP-SEC61C[r] + SEC62[r] + SEC63[r] + SERP1[r] + TRAM1[r] + TRAP[r] => 2 H+[c] + 2 Pi[c] + 2 ASNA1-ADP[c] + PROTEIN-BiP-ADP[r] + Translocase[r],,ENSG00000198356 and ENSG00000058262 and ENSG00000106803 and ENSG00000132432 -PROTEIN_post_TRANSLOC_3A_2,r,2 H2O[c] + PROTEIN-ASNA1-ATP-WRB[r] => 2 H+[c] + 2 Pi[c] + 2 ASNA1-ADP[c] + PROTEIN[r] + WRB[r],,ENSG00000198356 and ENSG00000182093 -PROTEIN_post_TRANSLOC_3B_1,rm,PROTEIN-ASNA1-ATP[c] + SEC61C[r] => PROTEIN-ASNA1-ATP-SEC61C[r],,(ENSG00000234651 and ENSG00000198668 and ENSG00000198356) or (ENSG00000227761 and ENSG00000198668 and ENSG00000198356) or (ENSG00000096155 and ENSG00000198668 and ENSG00000198356) or (ENSG00000233348 and ENSG00000198668 and ENSG00000198356) or (ENSG00000229524 and ENSG00000198668 and ENSG00000198356) or (ENSG00000204463 and ENSG00000198668 and ENSG00000198356) or (ENSG00000228760 and ENSG00000198668 and ENSG00000198356) -PROTEIN_post_TRANSLOC_3A_1,rm,PROTEIN-ASNA1-ATP[c] + WRB[r] => PROTEIN-ASNA1-ATP-WRB[r],,ENSG00000198356 and ENSG00000058262 and ENSG00000106803 and ENSG00000132432 and ENSG00000008952 and ENSG00000025796 and ENSG00000124151 and ENSG00000124783 and ENSG00000163479 and ENSG00000114850 and ENSG00000180879 and ENSG00000136770 and ENSG00000120742 and ENSG00000044574 -PROTEIN_post_TRANSLOC_2,c,2 ASNA1-ATP[c] + PROTEIN-BAT3-CALM[c] => 4 Ca2+[c] + BAT3[c] + CALM[c] + PROTEIN-ASNA1-ATP[c],,(ENSG00000234651 and ENSG00000198668) or (ENSG00000227761 and ENSG00000198668) or (ENSG00000096155 and ENSG00000198668) or (ENSG00000233348 and ENSG00000198668) or (ENSG00000229524 and ENSG00000198668) or (ENSG00000204463 and ENSG00000198668) or (ENSG00000228760 and ENSG00000198668) -PROTEIN_post_TRANSLOC_3B_3,r,4.825 ATP[r] + PROTEIN-BiP-ADP[r] => 4.825 ADP[r] + 4.825 H+[c] + 4.825 BiP-ATP[r] + PROTEIN[r],,ENSG00000198356 and ENSG00000058262 and ENSG00000106803 and ENSG00000132432 and ENSG00000008952 and ENSG00000025796 and ENSG00000124151 and ENSG00000124783 and ENSG00000163479 and ENSG00000114850 and ENSG00000180879 and ENSG00000136770 and ENSG00000120742 and ENSG00000044574 -PROTEIN_co_TRANSLOC_6,r,4.825 BiP-ADP[r] + DNAJC1[r] + PROTEIN-SEC61-SPC[r] + SEC62[r] + SEC63[r] + SERP1[r] + TRAM1[r] + TRAP[r] => PROTEIN-BiP-ADP[r] + SPC[r] + Translocase[r],,ENSG00000058262 and ENSG00000106803 and ENSG00000132432 and ENSG00000114902 and ENSG00000118363 and ENSG00000129128 and ENSG00000140612 and ENSG00000166562 -PROTEIN_co_TRANSLOC_5,rm,H2O[r] + PROTEIN-SEC61C[c] + SPC[r] => PROTEIN-SEC61-SPC[r] + PROTEIN-sp[r],,ENSG00000140319 and ENSG00000153037 and ENSG00000100883 and ENSG00000167881 and ENSG00000174780 and ENSG00000182934 and ENSG00000058262 and ENSG00000106803 and ENSG00000132432 -PROTEIN_co_TRANSLOC_3,c,2 GTP[c] + PROTEIN-SRP-SRPR-RRBP1[c] + SEC61C[r] => PROTEIN-SRP-SRPR-SEC61C[c] + RRBP1[r],,ENSG00000140319 and ENSG00000153037 and ENSG00000100883 and ENSG00000167881 and ENSG00000174780 and ENSG00000182934 and ENSG00000125844 -PROTEIN_co_TRANSLOC_4,c,2 H2O[c] + PROTEIN-SRP-SRPR-SEC61C[c] => 2 GDP[c] + 2 H+[c] + 2 Pi[c] + PROTEIN-SEC61C[c] + SRP14[c] + SRP19[c] + SRP54[c] + SRP68[c] + SRP72[c] + SRPRA[r] + SRPRB[r],,ENSG00000140319 and ENSG00000153037 and ENSG00000100883 and ENSG00000167881 and ENSG00000174780 and ENSG00000182934 and ENSG00000058262 and ENSG00000106803 and ENSG00000132432 and ENSG00000125844 -PROTEIN_co_TRANSLOC_2,c,PROTEIN-SRP[c] + RRBP1[r] + SRPR[r] => PROTEIN-SRP-SRPR-RRBP1[c],,ENSG00000140319 and ENSG00000153037 and ENSG00000100883 and ENSG00000167881 and ENSG00000174780 -PROTEIN_SP_degradation,rm,22 ATP[c] + 22 H2O[c] + PROTEIN-sp[r] => 22 ADP[c] + alanine[c] + cysteine[c] + glutamate[c] + 2 glycine[c] + 22 H+[c] + histidine[c] + 8 leucine[c] + methionine[c] + 22 Pi[c] + 2 proline[c] + 2 serine[c] + 2 tryptophan[c] + valine[c],,(ENSG00000120725 and ENSG00000044574 and ENSG00000280682) or (ENSG00000120725 and ENSG00000044574 and ENSG00000149428) -PROTEIN_post_TRANSLOC_1,c,4 Ca2+[c] + BAT3[c] + CALM[c] + PROTEIN[c] => PROTEIN-BAT3-CALM[c],,ENSG00000197121 -PROTEIN_co_TRANSLOC_1,c,PROTEIN[c] + SRP[c] => PROTEIN-SRP[c],,ENSG00000122705 and ENSG00000175416 and ENSG00000141367 and ENSG00000100280 and ENSG00000072958 and ENSG00000106367 and ENSG00000182287 and ENSG00000166747 and ENSG00000065000 and ENSG00000185009 and ENSG00000070718 and ENSG00000103723 and ENSG00000157823 and ENSG00000166128 and ENSG00000099365 and ENSG00000103496 and ENSG00000178750 and ENSG00000135604 and ENSG00000124222 and ENSG00000143761 -PROTEIN_Start_DSB,r,PROTEIN[r] => PROTEIN_preDSB[r],, -PROTEIN_PDI_1,r,P4HB-ox[r] + PROTEIN_preDSB[r] => PROTEIN-ds-P4HB-ox[r],,ENSG00000177239 or ENSG00000198162 -PROTEIN_PDI_2,r,PROTEIN-ds-P4HB-ox[r] => P4HB[r] + PROTEIN_DSB[r],, -PROTEIN_Start_GPI,r,PROTEIN_DSB[r] => PROTEIN_preGPI[r],, -PROTEIN_GPI_Transfer_A1,r,gpi heparan sulfate[r] + PROTEIN_preGPI[r] => gpi_sig[r] + PROTEIN-gpi_hs[r],,ENSG00000126091 -PROTEIN_GPI_Transfer_A2,r,H2O[r] + PROTEIN-gpi_hs[r] => H+[r] + palmitate[r] + PROTEIN-dgpi_hs[r],,ENSG00000142892 and ENSG00000124155 and ENSG00000087111 and ENSG00000101464 and ENSG00000197858 -PROTEIN_Start_NG,r,PROTEIN-dgpi_hs[r] => PROTEIN_preNG[r],, -PROTEIN_ERNG,r,(Glc)3 (GlcNAc)2 (Man)9 (PP-Dol)1[r] + OST[r] + PROTEIN_preNG[r] => dolichyl-diphosphate[r] + H+[r] + DAD1[r] + DDOST[r] + PROTEIN-G3M9[r] + RPN1[r] + RPN2[r] + STT3A[r] + STT3B[r],,ENSG00000244038 and ENSG00000175166 and ENSG00000173692 and ENSG00000129562 and ENSG00000134910 and ENSG00000163527 -PROTEIN_Mannosidase_1C,r,H2O[r] + PROTEIN-M9-misfold[r] => mannose[r] + PROTEIN-M8C-misfold[r],,ENSG00000244038 and ENSG00000175166 and ENSG00000173692 and ENSG00000129562 and ENSG00000134910 and ENSG00000163527 -PROTEIN_Mannosidase_1B_misfold,r,H2O[r] + PROTEIN-M8C-misfold[r] => mannose[r] + PROTEIN-M7A-misfold[r],,(ENSG00000177239 and ENSG00000134109) or (ENSG00000177239 and ENSG00000088298) or (ENSG00000177239 and ENSG00000116406) -PROTEIN_Mannosidase_1A_misfold,r,H2O[r] + PROTEIN-M7A-misfold[r] => mannose[r] + PROTEIN-M6-misfold[r],,ENSG00000177239 -PROTEIN_Mannosidase_1D_misfold,r,H2O[r] + PROTEIN-M6-misfold[r] => mannose[r] + PROTEIN-M5-misfold[r],,ENSG00000177239 -PROTEIN_OS9_recognition,r,BiP-ADP[r] + HSP90B1[r] + OS9[r] + PROTEIN-M5-misfold[r] => PROTEIN-M5-unfold-OS9-BiP-ADP-HSP90B1[r],,ENSG00000177239 -PROTEIN_OS9_transfer_SYVN1,r,PROTEIN-M5-unfold-OS9-SEL1[r] + SYVN1[r] => OS9[r] + PROTEIN-M5-unfold-SEL1-SYVN1[r],,ENSG00000135506 and ENSG00000044574 and ENSG00000166598 -PROTEIN_Ubiquitination_lumped,r,8 ATP[c] + PROTEIN-M5-unfold-SEL1-SYVN1[r] + UBIQP[c] => 8 AMP[c] + 8 PPi[c] + PROTEIN-M5-unfold-UBIQP-SEL1-SYVN1[r],,ENSG00000135506 and ENSG00000071537 and ENSG00000162298 -PROTEIN_retro_TRANSLOC_2,rm,6 ATP[c] + 6 H2O[c] + PROTEIN-M5-unfold-UBIQP-SEL1-SYVN1[r] + retroTranslocase[c] => 6 ADP[c] + 6 Pi[c] + BCAP31[r] + DERL1[r] + DERL3[r] + NPLOC4[c] + PROTEIN-M5-unfold-UBIQP[c] + SEC61C[r] + SEL1[r] + SYVN1[r] + UFD1L[c] + VCP[c] + VIMP[c],,(ENSG00000130985 or ENSG00000081307 or ENSG00000182179) and (ENSG00000109332 or ENSG00000182247 or ENSG00000132388 or ENSG00000184787 or ENSG00000160087) and (ENSG00000145495 or ENSG00000204308 or ENSG00000223767 or ENSG00000228405 or ENSG00000183574 or ENSG00000228907 or ENSG00000225452 or ENSG00000227277 or ENSG00000185345 or (ENSG00000055130 and ENSG00000116661 and ENSG00000113558) or (ENSG00000196470 and ENSG00000181788) or (ENSG00000141510 and ENSG00000066427)) and ENSG00000130939 -PROTEIN_Ubiquitination_deglycosylation,c,7 H2O[c] + PROTEIN-M5-unfold-UBIQP[c] + RAD23A[c] => 5 mannose[c] + 2 N-acetylglucosamine[c] + PROTEIN-unfold-UBIQP-RAD23A[c],,(ENSG00000071537 and ENSG00000162298 and ENSG00000182446 and ENSG00000070010 and ENSG00000165280 and ENSG00000136986 and ENSG00000131871 and ENSG00000185825 and ENSG00000274437) or (ENSG00000071537 and ENSG00000162298 and ENSG00000182446 and ENSG00000070010 and ENSG00000165280 and ENSG00000136986 and ENSG00000131871 and ENSG00000185825 and ENSG00000099958) -PROTEIN_Ubiquitination_removal,c,8 H2O[c] + PROTEIN-unfold-UBIQP-RAD23A[c] + Proteasome[c] => PROTEIN-unfold-Proteasome[c] + RAD23A[c] + UBIQP[c],,ENSG00000151092 -PROTEIN_Ubiquitination_degradation,c,171 ATP[c] + 171 H2O[c] + PROTEIN-unfold-Proteasome[c] => 171 ADP[c] + alanine[c] + cysteine[c] + glutamate[c] + 2 glycine[c] + 171 H+[c] + histidine[c] + 8 leucine[c] + methionine[c] + 171 Pi[c] + 2 proline[c] + 2 serine[c] + 2 tryptophan[c] + valine[c] + Proteasome[c],,ENSG00000167770 and (ENSG00000129084 or ENSG00000106588 or ENSG00000100567 or ENSG00000041357 or ENSG00000143106 or ENSG00000101182 or ENSG00000154611) and ((ENSG00000281184 or ENSG00000008018) or ENSG00000126067 or (ENSG00000275903 or ENSG00000277791) or ENSG00000159377 or ENSG00000100804 or ENSG00000142507 or ENSG00000136930 or (ENSG00000230669 or ENSG00000236443 or ENSG00000235715 or ENSG00000231631 or ENSG00000204264 or ENSG00000226201 or ENSG00000230034 or ENSG00000206298) or (ENSG00000243958 or ENSG00000240508 or ENSG00000240118 or ENSG00000239836 or ENSG00000243594 or ENSG00000240065 or ENSG00000242711 or ENSG00000243067) or ENSG00000205220 or ENSG00000222028) and ENSG00000183527 and ENSG00000128789 and ENSG00000157778 and ENSG00000180822 and ENSG00000173692 and ENSG00000175166 and ENSG00000095261 and ENSG00000159352 and ENSG00000163636 and ENSG00000103035 and ENSG00000099341 and ENSG00000110801 and ENSG00000101843 and ENSG00000108671 and ENSG00000197170 and ENSG00000185627 and ENSG00000115233 -PROTEIN_OS9_binding_SEL1,r,PROTEIN-M5-unfold-OS9-BiP-ADP-HSP90B1[r] + SEL1[r] => BiP-ADP[r] + HSP90B1[r] + PROTEIN-M5-unfold-OS9-SEL1[r],, -PROTEIN_Glucosidase_1,r,H2O[r] + PROTEIN-G3M9[r] => glucose[r] + PROTEIN-G2M9[r],,ENSG00000198356 and ENSG00000182093 -PROTEIN_Glucosidase_2,r,H2O[r] + PROTEIN-G2M9[r] => glucose[r] + PROTEIN-preG1M9[r],,ENSG00000115275 -PROTEIN_CALR_CANX_folding,r,CALR-Ca2[r] + CANX[r] + PROTEIN-preG1M9[r] => PROTEIN-G1M9-CALR-CANX[r],,ENSG00000089597 -PROTEIN_CALR_CANX_release,r,PROTEIN-G1M9-CALR-CANX[r] => CALR-Ca2[r] + CANX[r] + PROTEIN-G1M9[r],,(ENSG00000179218 and ENSG00000283777) or (ENSG00000179218 and ENSG00000127022) -PROTEIN_Glucosidase_3,r,H2O[r] + PROTEIN-G1M9[r] => glucose[r] + PROTEIN-M9[r],,(ENSG00000179218 and ENSG00000283777) or (ENSG00000179218 and ENSG00000127022) -PROTEIN_Glucosidase_3_misfolded,r,PROTEIN-M9[r] => PROTEIN-M9-misfold[r],,ENSG00000089597 -PROTEIN_UGGT_Refolding_1,r,UDP-glucose[r] + PROTEIN-M9-misfold[r] + UGGT1[r] => PROTEIN-M9-UGGT1[r],,ENSG00000089597 -PROTEIN_UGGT_Refolding_2,r,PROTEIN-M9-UGGT1[r] => UDP[r] + PROTEIN-preG1M9[r] + UGGT1[r],,ENSG00000136731 -PROTEIN_Mannosidase_1B,r,H2O[r] + PROTEIN-M9[r] => mannose[r] + PROTEIN-M8B[r],,ENSG00000136731 -PROTEIN_GOLGI_MAN1A,g,H2O[g] + PROTEIN-M8B[g] => mannose[g] + PROTEIN-M7[g],,ENSG00000135506 and ENSG00000044574 and ENSG00000166598 and ENSG00000071537 -PROTEIN_GOLGI_MAN1B,g,H2O[g] + PROTEIN-M7[g] => mannose[g] + PROTEIN-M6[g],,ENSG00000111885 -PROTEIN_GOLGI_MAN1C,g,H2O[g] + PROTEIN-M6[g] => mannose[g] + PROTEIN-M5[g],,ENSG00000198162 -PROTEIN_GOLGI_MGAT1,g,UDP-N-acetylglucosamine[g] + PROTEIN-M5[g] => H+[g] + UDP[g] + PROTEIN-M5-GN[g],,ENSG00000117643 -PROTEIN_GOLGI_MAN2,g,H2O[g] + PROTEIN-M5-GN[g] => mannose[g] + PROTEIN-M4-GN[g],,ENSG00000131446 -PROTEIN_GOLGI_MAN3,g,H2O[g] + PROTEIN-M4-GN[g] => mannose[g] + PROTEIN-M3-GN[g],,ENSG00000196547 -PROTEIN_GOLGI_MGAT2,g,UDP-N-acetylglucosamine[g] + PROTEIN-M3-GN[g] => UDP[g] + PROTEIN-M3-GN2[g],,ENSG00000196547 -PROTEIN_LMAN1_recognition_A,r,LMAN1L[r] + PROTEIN-M8B[r] => PROTEIN-M8B-LMAN1L[r],,ENSG00000159202 and ENSG00000170310 and ENSG00000168818 -PROTEIN_COPII_recruit_A,rm,98 BET1[c] + 7279 PROTEIN-M8B-LMAN1L[r] + 10 RAB1A-GTP[c] + 84 SAR1B-GTP[c] + SEC13[c] + SEC16[c] + 98 SEC22B[c] + SEC23A[c] + SEC24A[c] + SEC31A[c] => PROTEIN-COPII-coated[c],, -PROTEIN_COPII_maturation_A,c,84 H2O[c] + PROTEIN-COPII-coated[c] => 84 Pi[c] + PROTEIN-COPII-uncoated[c] + 84 SAR1B-GDP[c] + SEC13[c] + SEC16[c] + SEC23A[c] + SEC24A[c] + SEC31A[c],,ENSG00000152700 and ENSG00000100934 and ENSG00000113615 and ENSG00000157020 and ENSG00000138674 and ENSG00000138069 and ENSG00000148396 and ENSG00000105829 and ENSG00000265808 -PROTEIN_COPII_fusion_A,gm,10 H2O[c] + 98 GOSR1[c] + PROTEIN-COPII-uncoated[c] + 98 STX5[c] => 10 Pi[c] + 98 BET1-SEC22B-GOSR1-STX5[c] + 7279 LMAN1L[r] + 7279 PROTEIN-M8B[g] + 10 RAB1A-GDP[c],, -PROTEIN_GOLGI_MGAT4B,g,3 UDP-N-acetylglucosamine[g] + PROTEIN-M3-GN2[g] => 3 UDP[g] + PROTEIN-M3-GN-GN2[g],,ENSG00000128268 -PROTEIN_GOLGI_MGAT5,g,3 UDP-N-acetylglucosamine[g] + PROTEIN-M3-GN-GN2[g] => 3 UDP[g] + PROTEIN-M3-GN2-GN2[g],,ENSG00000161013 or ENSG00000284501 -PROTEIN_GOLGI_FUT8_EPO,g,3 GDP-L-fucose[g] + PROTEIN-M3-GN2-GN2[g] => 3 GDP[g] + PROTEIN-M3-GN2-GN2-F[g],,ENSG00000140297 and ENSG00000171155 -PROTEIN_GOLGI_GAL_EPO,g,12 UDP-galactose[g] + PROTEIN-M3-GN2-GN2-F[g] => 12 UDP[g] + PROTEIN-M3-GN4-GL4-F[g],,ENSG00000033170 -PROTEIN_GOLGI_NEUAC_EPO,g,12 CMP-N-acetylneuraminate[g] + PROTEIN-M3-GN4-GL4-F[g] => 12 CMP[g] + PROTEIN-M3-GN4-GL4-NA4-F[g],,ENSG00000172318 or ENSG00000162630 or ENSG00000183778 -PROTEIN_LMAN2_recognition_B,r,LMAN2[r] + PROTEIN-dgpi_hs[r] => PROTEIN-GPI(man)3-LMAN2[r],,ENSG00000140506 -PROTEIN_COPII_recruit_B,rm,98 BET1[c] + 7279 PROTEIN-GPI(man)3-LMAN2[r] + 10 RAB1A-GTP[c] + 84 SAR1B-GTP[c] + SEC13[c] + SEC16[c] + 98 SEC22B[c] + SEC23A[c] + SEC24A[c] + SEC31A[c] => PROTEIN-COPII-coated-GPI3[c],,ENSG00000108587 and ENSG00000162236 and ENSG00000265808 -PROTEIN_COPII_maturation_B,c,84 H2O[c] + PROTEIN-COPII-coated-GPI3[c] => 84 Pi[c] + PROTEIN-COPII-uncoated-GPI3[c] + 84 SAR1B-GDP[c] + SEC13[c] + SEC16[c] + SEC23A[c] + SEC24A[c] + SEC31A[c],,ENSG00000152700 and ENSG00000100934 and ENSG00000113615 and ENSG00000157020 and ENSG00000138674 and ENSG00000138069 and ENSG00000148396 and ENSG00000105829 and ENSG00000265808 -PROTEIN_COPII_fusion_B,gm,10 H2O[c] + 98 GOSR1[c] + PROTEIN-COPII-uncoated-GPI3[c] + 98 STX5[c] => 10 Pi[c] + 98 BET1-SEC22B-GOSR1-STX5[c] + 7279 LMAN2[r] + 7279 PROTEIN-dgpi_hs[g] + 10 RAB1A-GDP[c],, -PROTEIN_LMAN1_recognition_C,r,LMAN1L[r] + PROTEIN_DSB[r] => PROTEIN-LMAN1L[r],,ENSG00000108587 and ENSG00000162236 and ENSG00000265808 -PROTEIN_COPII_recruit,rm,98 BET1[c] + 7279 PROTEIN-LMAN1L[r] + 10 RAB1A-GTP[c] + 84 SAR1B-GTP[c] + SEC13[c] + SEC16[c] + 98 SEC22B[c] + SEC23A[c] + SEC24A[c] + SEC31A[c] => PROTEIN-COPII-coated[c],,ENSG00000140506 -PROTEIN_COPII_maturation,c,84 H2O[c] + PROTEIN-COPII-coated[c] => 84 Pi[c] + PROTEIN-COPII-uncoated[c] + 84 SAR1B-GDP[c] + SEC13[c] + SEC16[c] + SEC23A[c] + SEC24A[c] + SEC31A[c],,ENSG00000152700 and ENSG00000100934 and ENSG00000113615 and ENSG00000157020 and ENSG00000138674 and ENSG00000138069 and ENSG00000148396 and ENSG00000105829 and ENSG00000265808 -PROTEIN_COPII_fusion,gm,10 H2O[c] + 98 GOSR1[c] + PROTEIN-COPII-uncoated[c] + 98 STX5[c] => 10 Pi[c] + 98 BET1-SEC22B-GOSR1-STX5[c] + 7279 LMAN1L[r] + 7279 PROTEIN[g] + 10 RAB1A-GDP[c],, -PROTEIN_LMAN1_recognition_Canonical,r,LMAN1L[r] + PROTEIN[r] => PROTEIN-LMAN1L[r],,ENSG00000140506 -PROTEIN_Start_OG_1,g,PROTEIN-M3-GN2[g] => PROTEIN_preOG[g],, -PROTEIN_Start_OG_2,g,PROTEIN-M3-GN4-GL4-NA4-F[g] => PROTEIN_preOG[g],, -PROTEIN_Start_OG_3,g,PROTEIN-dgpi_hs[g] => PROTEIN_preOG[g],, -PROTEIN_Start_OG_4,g,PROTEIN[g] => PROTEIN_preOG[g],, -PROTEIN_GOLGI_O_Gal,g,UDP-N-acetyl-D-galactosamine[g] + PROTEIN_preOG[g] => H+[g] + UDP[g] + PROTEIN-acgal[g],,ENSG00000073849 -PROTEIN_GOLGI_O_Core1,g,UDP-galactose[g] + COSMC[g] + PROTEIN-acgal[g] => H+[g] + UDP[g] + PROTEIN-Core1[g],,ENSG00000185274 or ENSG00000164574 or ENSG00000143641 or ENSG00000136542 or ENSG00000182870 or ENSG00000115339 or ENSG00000109586 or ENSG00000178234 or ENSG00000139629 or ENSG00000144278 or ENSG00000141429 or ENSG00000130035 or ENSG00000257594 -PROTEIN_GOLGI_O_Core2,g,UDP-N-acetylglucosamine[g] + PROTEIN-Core1[g] => H+[g] + UDP[g] + COSMC[g] + PROTEIN-Core2[g],,ENSG00000106392 and ENSG00000171155 -PROTEIN_Final_demand_g,,PROTEIN[g] => ,, -PROTEIN_Final_demand_gm,,PROTEIN[gm] => ,, -PROTEIN_Final_location_gm,g,PROTEIN[g] => PROTEIN[gm],, -PROTEIN_Start_COPI,g,PROTEIN-Core2[g] => PROTEIN_preCOPI[g],, -PROTEIN_COPI_recruit,gm,117 ARF1-GTP[c] + 32 BET1[c] + COPA[c] + COPB1[c] + COPB2[c] + COPD[c] + COPE[c] + COPG[c] + COPZ1[c] + COPZ2[c] + 3904 PROTEIN_preCOPI[g] + 10 RAB1A-GTP[c] + 32 SEC22B[c] => PROTEIN-COPI-coated[c],,ENSG00000122705 and ENSG00000175416 and ENSG00000141367 and ENSG00000100083 and ENSG00000103365 and ENSG00000125447 and ENSG00000154917 and ENSG00000079950 and ENSG00000143761 and ENSG00000135823 and ENSG00000117758 -PROTEIN_COPI_maturation,rm,117 H2O[c] + PROTEIN-COPI-coated[c] => 117 Pi[c] + 117 ARF1-GDP[c] + COPA[c] + COPB1[c] + COPB2[c] + COPD[c] + COPE[c] + COPG[c] + COPZ1[c] + COPZ2[c] + PROTEIN-COPI-uncoated[r],,ENSG00000122218 and ENSG00000129083 and ENSG00000184432 and ENSG00000095139 and ENSG00000105669 and ENSG00000181789 and ENSG00000111481 and ENSG00000005243 and ENSG00000138069 and ENSG00000105829 and ENSG00000265808 -PROTEIN_COPI_fusion,r,10 H2O[c] + PROTEIN-COPI-uncoated[r] + 32 STX18[c] + 32 STX8[c] + 32 USE1[c] => 10 Pi[c] + 32 BET1-SEC22B-USE1-STX8-STX18[c] + 3904 PROTEIN_mature[r] + 10 RAB1A-GDP[c],, -PROTEIN_Final_demand_r,,PROTEIN_mature[r] => ,, -PROTEIN_Final_location_rm,r,PROTEIN_mature[r] => PROTEIN_mature[rm],, -PROTEIN_Final_demand_rm,,PROTEIN_mature[rm] => ,, -PROTEIN_Start_Clathrin_vesicle,rm,PROTEIN_mature[r] => PROTEIN-preClathrin[g],, -PROTEIN_GOLGI_TO_ENDOSOME_1,gm,24 ARF1-GTP[c] + 120 CLTA[c] + 120 CLTB[c] + 120 CLTC[c] + 6 GGA1[c] + 6 GGA2[c] + 6 GGA3[c] + 811 PROTEIN-preClathrin[g] + 20 RAB6B-GTP[c] + STX7[c] => PROTEIN-GGA-coated[c],, -PROTEIN_GOLGI_TO_ENDOSOME_2,c,44 H2O[c] + PROTEIN-GGA-coated[c] + STX12[c] + STX6[c] => 44 Pi[c] + 24 ARF1-GDP[c] + 120 CLTA[c] + 120 CLTB[c] + 120 CLTC[c] + 6 GGA1[c] + 6 GGA2[c] + 6 GGA3[c] + 811 PROTEIN_mature[cv] + 20 RAB6B-GDP[c] + STX6712[c],,ENSG00000122705 and ENSG00000175416 and ENSG00000141367 and ENSG00000100083 and ENSG00000103365 and ENSG00000125447 and ENSG00000154917 and ENSG00000079950 and ENSG00000143761 -PROTEIN_Final_location_p,c,PROTEIN_mature[cv] => PROTEIN_mature[p],, -PROTEIN_Final_demand_p,,PROTEIN_mature[p] => ,, -PROTEIN_Final_location_l,c,PROTEIN_mature[cv] => PROTEIN_mature[l],, -PROTEIN_Final_demand_l,,PROTEIN_mature[l] => ,, -PROTEIN_Start_Secretion,c,PROTEIN_mature[cv] => PROTEIN-preSV[g],, -PROTEIN_SECRETION_1,gm,38 AP1B1[c] + 38 AP1G1[c] + 38 AP1M1[c] + 38 AP1S1[c] + 38 AP1S2[c] + 38 AP3B2[c] + 38 AP3D1[c] + 38 AP3M1[c] + 38 AP3M2[c] + 38 AP3S2[c] + 24 ARF1-GTP[c] + 120 CLTA[c] + 120 CLTB[c] + 120 CLTC[c] + EXOCYST[c] + 811 PROTEIN-preSV[g] + 20 RAB8B-GTP[c] + STX1B[c] + STX4[c] => PROTEIN-AP-coated[c],,ENSG00000185624 -PROTEIN_SECRETION_2,c,44 H2O[c] + PROTEIN-AP-coated[c] + STX11[c] + STX16[c] + STX19[c] => 44 H+[c] + 44 Pi[c] + 38 AP1B1[c] + 38 AP1G1[c] + 38 AP1M1[c] + 38 AP1S1[c] + 38 AP1S2[c] + 38 AP3B2[c] + 38 AP3D1[c] + 38 AP3M1[c] + 38 AP3M2[c] + 38 AP3S2[c] + 24 ARF1-GDP[c] + 120 CLTA[c] + 120 CLTB[c] + 120 CLTC[c] + EXOCYST[c] + 811 PROTEIN_mature[sv] + 20 RAB8B-GDP[c] + STX1B4111619[c],,ENSG00000122705 and ENSG00000175416 and ENSG00000141367 and ENSG00000100280 and ENSG00000072958 and ENSG00000106367 and ENSG00000182287 and ENSG00000166747 and ENSG00000065000 and ENSG00000185009 and ENSG00000070718 and ENSG00000103723 and ENSG00000157823 and ENSG00000166128 and ENSG00000099365 and ENSG00000103496 and ENSG00000143761 -PROTEIN_Final_location_s,c,PROTEIN_mature[sv] => PROTEIN_mature[s],, -PROTEIN_Final_demand_s,,PROTEIN_mature[s] => ,, -SEC61C,r,SEC61A1[r] + SEC61B[r] + SEC61G[r] => SEC61C[r],,ENSG00000058262 and ENSG00000106803 and ENSG00000132432 -TRAP,r,SSR1[r] + SSR2[r] + SSR3[r] + SSR4[r] => TRAP[r],,ENSG00000124783 and ENSG00000163479 and ENSG00000114850 and ENSG00000180879 -ARF1_gdp_binding,c,GDP[c] + ARF1[c] => ARF1-GDP[c],,ENSG00000143761 -ARF1_activation,c,GTP[c] + ARF1-GDP[c] => GDP[c] + ARF1-GTP[c],,ENSG00000107862 and ENSG00000143761 -ARF1_gdp_degradation,,ARF1-GDP[c] => ,,ENSG00000143761 -SAR1B_gdp_binding,c,GDP[c] + SAR1B[c] => SAR1B-GDP[c],,ENSG00000152700 -SAR1B_activation,c,GTP[c] + SAR1B-GDP[c] => GDP[c] + SAR1B-GTP[c],,ENSG00000138073 and ENSG00000152700 -SAR1B_gdp_degradation,,SAR1B-GDP[c] => ,,ENSG00000152700 -RAB1A_gdp_binding,c,GDP[c] + RAB1A[c] => RAB1A-GDP[c],,ENSG00000138069 -RAB6B_gdp_binding,c,GDP[c] + RAB6B[c] => RAB6B-GDP[c],,ENSG00000154917 -RAB8B_gdp_binding,c,GDP[c] + RAB8B[c] => RAB8B-GDP[c],,ENSG00000166128 -RAB1A_gdp_degradation,,RAB1A-GDP[c] => ,,ENSG00000138069 -RAB6B_gdp_degradation,,RAB6B-GDP[c] => ,,ENSG00000154917 -RAB8B_gdp_degradation,,RAB8B-GDP[c] => ,,ENSG00000166128 -RAB1A_activation,c,GTP[c] + RAB1A-GDP[c] => GDP[c] + RAB1A-GTP[c],,(ENSG00000170043 and ENSG00000141510 and ENSG00000054116 and ENSG00000181029 and ENSG00000007255 and ENSG00000182400 and ENSG00000141510 and ENSG00000196655) or (ENSG00000170043 and ENSG00000141510 and ENSG00000054116 and ENSG00000181029 and ENSG00000007255 and ENSG00000182400 and ENSG00000141510 and ENSG00000280495) -RAB6B_activation,c,GTP[c] + RAB6B-GDP[c] => GDP[c] + RAB6B-GTP[c],,(ENSG00000170043 and ENSG00000141510 and ENSG00000054116 and ENSG00000181029 and ENSG00000007255 and ENSG00000182400 and ENSG00000141510 and ENSG00000196655) or (ENSG00000170043 and ENSG00000141510 and ENSG00000054116 and ENSG00000181029 and ENSG00000007255 and ENSG00000182400 and ENSG00000141510 and ENSG00000280495) -RAB8B_activation,c,GTP[c] + RAB8B-GDP[c] => GDP[c] + RAB8B-GTP[c],,(ENSG00000170043 and ENSG00000141510 and ENSG00000054116 and ENSG00000181029 and ENSG00000007255 and ENSG00000182400 and ENSG00000141510 and ENSG00000196655) or (ENSG00000170043 and ENSG00000141510 and ENSG00000054116 and ENSG00000181029 and ENSG00000007255 and ENSG00000182400 and ENSG00000141510 and ENSG00000280495) -BiP_NEF,r,ATP[r] + BiP-ADP[r] => ADP[r] + BiP-ATP[r],,(ENSG00000120725 and ENSG00000044574 and ENSG00000280682) or (ENSG00000120725 and ENSG00000044574 and ENSG00000149428) -BiP_ATPase,r,H2O[r] + BiP-ATP[r] => Pi[r] + BiP-ADP[r],,ENSG00000044574 -BiP_atp_formation,r,ATP[r] + BiP[r] => BiP-ATP[r],,ENSG00000044574 -BiP_adp_degradation,,BiP-ADP[r] => ,,ENSG00000044574 -GOLGI_TO_ENDOSOME_3,c,ATP[c] + H2O[c] + NAPA[c] + 6 NSF[c] + STX6712[c] => ADP[c] + Pi[c] + NSF(6)NAPA[c] + STX12[c] + STX6[c] + STX7[c],,(ENSG00000105402 and ENSG00000278174) or (ENSG00000105402 and ENSG00000276262) or (ENSG00000105402 and ENSG00000073969) -COPI_recycling,c,ATP[c] + H2O[c] + BET1-SEC22B-USE1-STX8-STX18[c] + NAPA[c] + 6 NSF[c] => ADP[c] + Pi[c] + BET1[c] + NSF(6)NAPA[c] + SEC22B[c] + STX18[c] + STX8[c] + USE1[c],,(ENSG00000105402 and ENSG00000278174) or (ENSG00000105402 and ENSG00000276262) or (ENSG00000105402 and ENSG00000073969) -COPII_recycling,c,ATP[c] + H2O[c] + BET1-SEC22B-GOSR1-STX5[c] + NAPA[c] + 6 NSF[c] => ADP[c] + Pi[c] + BET1[c] + GOSR1[c] + NSF(6)NAPA[c] + SEC22B[c] + STX5[c],,(ENSG00000105402 and ENSG00000278174) or (ENSG00000105402 and ENSG00000276262) or (ENSG00000105402 and ENSG00000073969) -NSF_dissociation,c,NSF(6)NAPA[c] => NAPA[c] + 6 NSF[c],,(ENSG00000105402 and ENSG00000278174) or (ENSG00000105402 and ENSG00000276262) or (ENSG00000105402 and ENSG00000073969) -retro_TRANSLOC_1,rm,BCAP31[r] + DERL1[r] + DERL3[r] + NPLOC4[c] + SEC61C[r] + UFD1L[c] + VCP[c] + VIMP[c] => retroTranslocase[c],,(ENSG00000182446 and ENSG00000070010 and ENSG00000165280 and ENSG00000136986 and ENSG00000131871 and ENSG00000058262 and ENSG00000106803 and ENSG00000132432 and ENSG00000185825 and ENSG00000099958) or (ENSG00000182446 and ENSG00000070010 and ENSG00000165280 and ENSG00000136986 and ENSG00000131871 and ENSG00000058262 and ENSG00000106803 and ENSG00000132432 and ENSG00000185825 and ENSG00000274437) -Proteasome_complex,c,PROASCHAP1[c] + PROASCHAP2[c] + PROASCHAP3[c] + PROASCHAP4[c] + 14 PROTA[c] + 14 PROTB[c] + 2 PROTREG10[c] + 2 PROTREG11[c] + 2 PROTREG12[c] + 2 PROTREG13[c] + 2 PROTREG14[c] + 2 PROTREG4[c] + 2 PROTREG5[c] + 2 PROTREG6[c] + 2 PROTREG7[c] + 2 PROTREG8[c] + 2 PROTREG9[c] => Proteasome[c],,(ENSG00000129084 or ENSG00000106588 or ENSG00000100567 or ENSG00000041357 or ENSG00000143106 or ENSG00000101182 or ENSG00000154611) and ((ENSG00000281184 or ENSG00000008018) or ENSG00000126067 or ENSG00000275903) or ENSG00000277791 or ENSG00000159377 or ENSG00000100804 or ENSG00000142507 or ENSG00000136930 or (ENSG00000230669 or ENSG00000236443 or ENSG00000235715 or ENSG00000231631 or ENSG00000204264 or ENSG00000226201 or ENSG00000230034 or ENSG00000206298) or (ENSG00000243958 or ENSG00000240508 or ENSG00000240118 or ENSG00000239836 or ENSG00000243594 or ENSG00000240065 or ENSG00000242711 or ENSG00000243067 or ENSG00000205220 or ENSG00000222028) and ENSG00000183527 and ENSG00000128789 and ENSG00000157778 and ENSG00000180822 and ENSG00000173692 and ENSG00000175166 and ENSG00000095261 and ENSG00000159352 and ENSG00000163636 and ENSG00000103035 and ENSG00000099341 and ENSG00000110801 and ENSG00000101843 and ENSG00000108671 and ENSG00000197170 and ENSG00000185627 and ENSG00000115233 -ASNA1_atp,c,ATP[c] + ASNA1-ADP[c] => ADP[c] + ASNA1-ATP[c],,ENSG00000198356 -ASNA1_adp_degradation,,ASNA1-ADP[c] => ,,ENSG00000198356 -ASNA1_formation,c,ATP[c] + ASNA1[c] => ASNA1-ATP[c],,ENSG00000198356 -CALR_Ca2,r,CALR[r] + Ca2+[r] => CALR-Ca2[r],,ENSG00000179218 -CALR_Ca2_degradation,,CALR-Ca2[r] => ,,ENSG00000179218 -GTHOX_CtoR_transport,rm,GSSG[c] => GSSG[r],, -PDI_reoxidation_GSSG,r,GSSG[r] + P4HB[r] => 2 GSH[r] + P4HB-ox[r],,ENSG00000185624 -PDI_reoxidation_ERO1LB,r,ERO1LB-ox[r] + P4HB[r] => ERO1LB[r] + P4HB-ox[r],,ENSG00000185624 and ENSG00000086619 -PDI_reoxidation_H2O2,r,H2O2[r] + P4HB[r] => 2 H2O[r] + P4HB-ox[r],,ENSG00000185624 -ERO1LB_reoxidation_1,r,O2[r] + ERO1LB[r] => H2O2[r] + ERO1LB-ox[r],,ENSG00000086619 -ERO1A_reoxidation_1,r,O2[r] + ERO1A[r] => H2O2[r] + ERO1A-ox[r],,ENSG00000197930 -PDI_reoxidation_ERO1A,r,ERO1A-ox[r] + P4HB[r] => ERO1A[r] + P4HB-ox[r],,ENSG00000185624 and ENSG00000197930 -EXOCYST_COMPLEX,c,EXOC1[c] + EXOC2[c] + EXOC3[c] + EXOC4[c] + EXOC5[c] + EXOC6B[c] + EXOC7[c] + EXOC8[c] => EXOCYST[c],,ENSG00000182473 and ENSG00000112685 and ENSG00000180104 and ENSG00000131558 and ENSG00000070367 and ENSG00000144036 and ENSG00000182473 and ENSG00000116903 -EXOCYST_degradation,,EXOCYST[c] => ,,ENSG00000182473 and ENSG00000112685 and ENSG00000180104 and ENSG00000131558 and ENSG00000070367 and ENSG00000144036 and ENSG00000182473 and ENSG00000116903 -SECRETION_3,c,ATP[c] + H2O[c] + NAPA[c] + 6 NSF[c] + STX1B4111619[c] => ADP[c] + H+[c] + Pi[c] + NSF(6)NAPA[c] + STX11[c] + STX16[c] + STX19[c] + STX1B[c] + STX4[c],,(ENSG00000105402 and ENSG00000278174) or (ENSG00000105402 and ENSG00000276262) or (ENSG00000105402 and ENSG00000073969) -SRP,c,SRP14[c] + SRP19[c] + SRP54[c] + SRP68[c] + SRP72[c] => SRP[c],,ENSG00000140319 and ENSG00000153037 and ENSG00000100883 and ENSG00000167881 and ENSG00000174780 -SRPR,r,SRPRA[r] + SRPRB[r] => SRPR[r],,ENSG00000182934 and ENSG00000144867 -SPC,r,SEC11A[r] + SEC11C[r] + SPCS1[r] + SPCS2[r] + SPCS3[r] => SPC[r],,ENSG00000114902 and ENSG00000118363 and ENSG00000129128 and ENSG00000140612 and ENSG00000166562 -SPC_degradation,,SPC[r] => ,,ENSG00000114902 and ENSG00000118363 and ENSG00000129128 and ENSG00000140612 and ENSG00000166562 -co_TRANSLOC_7,r,Translocase[r] => DNAJC1[r] + SEC61C[r] + SEC62[r] + SEC63[r] + SERP1[r] + TRAM1[r] + TRAP[r],,ENSG00000058262 and ENSG00000106803 and ENSG00000132432 and ENSG00000008952 and ENSG00000025796 and ENSG00000124151 and ENSG00000124783 and ENSG00000163479 and ENSG00000114850 and ENSG00000180879 and ENSG00000136770 and ENSG00000120742 -TRAP_degradation,,TRAP[r] => ,,ENSG00000124783 and ENSG00000163479 and ENSG00000114850 and ENSG00000180879 -OST_complex,r,DAD1[r] + DDOST[r] + RPN1[r] + RPN2[r] + STT3A[r] + STT3B[r] => OST[r],,ENSG00000108587 and ENSG00000162236 and ENSG00000265808 -Proteasome_degradation,,Proteasome[c] => ,,(ENSG00000129084 or ENSG00000106588 or ENSG00000100567 or ENSG00000041357 or ENSG00000143106 or ENSG00000101182 or ENSG00000154611) and ((ENSG00000281184 or ENSG00000008018) or ENSG00000126067 or ENSG00000275903) or ENSG00000277791 or ENSG00000159377 or ENSG00000100804 or ENSG00000142507 or ENSG00000136930 or (ENSG00000230669 or ENSG00000236443 or ENSG00000235715 or ENSG00000231631 or ENSG00000204264 or ENSG00000226201 or ENSG00000230034 or ENSG00000206298) or (ENSG00000243958 or ENSG00000240508 or ENSG00000240118 or ENSG00000239836 or ENSG00000243594 or ENSG00000240065 or ENSG00000242711 or ENSG00000243067 or ENSG00000205220 or ENSG00000222028) and ENSG00000183527 and ENSG00000128789 and ENSG00000157778 and ENSG00000180822 and ENSG00000173692 and ENSG00000175166 and ENSG00000095261 and ENSG00000159352 and ENSG00000163636 and ENSG00000103035 and ENSG00000099341 and ENSG00000110801 and ENSG00000101843 and ENSG00000108671 and ENSG00000197170 and ENSG00000185627 and ENSG00000115233 -CAATPaser,c,ATP[c] + 2 Ca2+[c] + H2O[c] => ADP[c] + H+[r] + Pi[c] + 2 Ca2+[r],, -PROTA_formation,c,PSMA1[c] + PSMA2[c] + PSMA3[c] + PSMA4[c] + PSMA5[c] + PSMA7[c] + PSMA8[c] => PROTA[c],, -PROTB_formation,c,PROTB10[c] + PROTB11[c] + PROTB9[c] + PSMA8[c] + PSMB1[c] + PSMB2[c] + PSMB3[c] + PSMB4[c] + PSMB5[c] + PSMB6[c] + PSMB7[c] => PROTB[c],,ENSG00000129084 and ENSG00000106588 and ENSG00000100567 and ENSG00000041357 and ENSG00000143106 and ENSG00000101182 and ENSG00000154611 -H2O2ter,rm,H2O2[c] <=> H2O2[r],,(ENSG00000281184 or ENSG00000008018) and ENSG00000126067 and (ENSG00000275903 or ENSG00000277791) and ENSG00000159377 and ENSG00000100804 and ENSG00000142507 and ENSG00000136930 and (ENSG00000230669 or ENSG00000236443 or ENSG00000235715 or ENSG00000231631 or ENSG00000204264 or ENSG00000226201 or ENSG00000230034 or ENSG00000206298) and (ENSG00000243958 or ENSG00000240508 or ENSG00000240118 or ENSG00000239836 or ENSG00000243594 or ENSG00000240065 or ENSG00000242711 or ENSG00000243067) and ENSG00000205220 and ENSG00000222028 -gdp_trans,gm,GDP[c] <=> GDP[g],, \ No newline at end of file diff --git a/inputs/reaction node position.xlsx b/inputs/reaction node position.xlsx deleted file mode 100644 index 8a9a10f..0000000 Binary files a/inputs/reaction node position.xlsx and /dev/null differ diff --git a/inputs/secAddon.mat b/inputs/secAddon.mat deleted file mode 100755 index cc0ae88..0000000 Binary files a/inputs/secAddon.mat and /dev/null differ diff --git a/inputs/secAddon.xlsx b/inputs/secAddon.xlsx deleted file mode 100644 index 43741ba..0000000 Binary files a/inputs/secAddon.xlsx and /dev/null differ diff --git a/inputs/secgenes.xlsx b/inputs/secgenes.xlsx deleted file mode 100644 index ac36381..0000000 Binary files a/inputs/secgenes.xlsx and /dev/null differ diff --git a/inputs/tempRxns_v01.xlsx b/inputs/tempRxns_v01.xlsx deleted file mode 100644 index be9d526..0000000 Binary files a/inputs/tempRxns_v01.xlsx and /dev/null differ diff --git a/inputs/tempRxns_v02.xlsx b/inputs/tempRxns_v02.xlsx deleted file mode 100755 index 78542a7..0000000 Binary files a/inputs/tempRxns_v02.xlsx and /dev/null differ diff --git a/inputs/~$ihumanSec.xlsx b/inputs/~$ihumanSec.xlsx deleted file mode 100644 index 92cba90..0000000 Binary files a/inputs/~$ihumanSec.xlsx and /dev/null differ diff --git a/insert_prot_name_in_rxnFormula.m b/insert_prot_name_in_rxnFormula.m deleted file mode 100644 index 0de582b..0000000 --- a/insert_prot_name_in_rxnFormula.m +++ /dev/null @@ -1,9 +0,0 @@ -function newFormula=insert_prot_name_in_rxnFormula(formula,protein) - %Function that replaces the XXX template name for the UniProt ID - % - % - % - % - % Rasool Saghaleyni, 2018-02-16 - newFormula = strrep(formula,'XXX',protein); -end diff --git a/insert_prot_name_in_rxnName.m b/insert_prot_name_in_rxnName.m deleted file mode 100644 index 10c4206..0000000 --- a/insert_prot_name_in_rxnName.m +++ /dev/null @@ -1,13 +0,0 @@ -function newAbbreviation=insert_prot_name_in_rxnName(rxnAbbrev,protein) - % Function that replaces the XXX template name for the Reaction abbreviation - % - % - % - % - % Rasool Saghaleyni, 2018-02-16 - if contains(rxnAbbrev,protein) == 0 - newAbbreviation = strcat(protein,'_',rxnAbbrev); - else - newAbbreviation = rxnAbbrev; - end -end diff --git a/optimizeSecModel.m b/optimizeSecModel.m deleted file mode 100644 index 6f3569f..0000000 --- a/optimizeSecModel.m +++ /dev/null @@ -1,21 +0,0 @@ -function [new_secModel, sol]=optimizeSecModel(secModel, protein) - % - % - % - % - % - % - % - % - % - % - % - % - % - % - % Rasool Saghaleyni, 2018-02-16 - rxnName = strcat(protein ,'_Final_demand'); - new_secModel = secModel; - new_secModel = setParam(new_secModel, 'obj', rxnName, [1]); % set intrested protein production reaction as objective function - sol = solveLP(new_secModel,1); -end diff --git a/secModelGapFilling.m b/secModelGapFilling.m deleted file mode 100644 index caa2116..0000000 --- a/secModelGapFilling.m +++ /dev/null @@ -1,67 +0,0 @@ -function [fixedModel, fixingAddedRxns] = secModelGapFilling2(secModel,refModel,protein,psim,tempRxns,addedRxns) - % - % - % - % - % - % - % - % - % - % - % - % - % - % - % - % - % - objRxn = strcat(protein,'_Final_demand'); - outMet = parseRxnEqu(addedRxns.rxnFormula(find(ismember(addedRxns.rxnsNames,objRxn)))); - [secRefModel,~] = humanSec(refModel, protein, psim, tempRxns); - [~, sol] = optimizeSecModel(secRefModel, protein); - [in_ex, in_ex_ind] = getExchangeRxns(secRefModel,'in'); - [out_ex, out_ex_ind] = getExchangeRxns(secRefModel,'out'); - in_ex_havFlx = in_ex(find(sol.x(in_ex_ind))); - out_ex_havFlx = out_ex(find(sol.x(out_ex_ind))); - - in_mets = parseRxnEqu(constructEquations(secRefModel,in_ex_havFlx)); - out_mets = parseRxnEqu(constructEquations(secRefModel,out_ex_havFlx)); - -% taskStructure.inputs = in_mets; -% taskStructure.LBin(1:numel(taskStructure.inputs),1) = 0; -% taskStructure.UBin(1:numel(taskStructure.inputs),1) = 1000; - - taskStructure.inputs = {'O2[s]';'glucose[s]';'NH3[s]';'H2O[s]';'arginine[s]';'histidine[s]';'lysine[s]';'methionine[s]';'phenylalanine[s]';'tryptophan[s]';'tyrosine[s]';'alanine[s]';'glycine[s]';'serine[s]';'threonine[s]';'aspartate[s]';'glutamate[s]';'asparagine[s]';'glutamine[s]';'isoleucine[s]';'leucine[s]';'proline[s]';'valine[s]';'cysteine[s]'}; - taskStructure.LBin(1:numel(taskStructure.inputs),1) = 0; - taskStructure.UBin(1:numel(taskStructure.inputs),1) = 1000; - -% taskStructure.outputs = out_mets; -% taskStructure.LBout(1:numel(taskStructure.outputs)-1,1) = 0; -% taskStructure.LBout(numel(taskStructure.outputs),1) = 0.0001; -% taskStructure.UBout(1:numel(taskStructure.outputs),1) = 1000; - - taskStructure.outputs = vertcat({'CO2[s]';'H2O[s]';'H2S[s]';'urate[s]'},outMet); - taskStructure.LBout = [0;0;0;0;0.001]; - taskStructure.UBout(1:numel(taskStructure.outputs),1) = 1000; - - taskStructure.id = {'sec'}; - taskStructure.description = strcat({'production of '},protein); - taskStructure.shouldFail = 0; - taskStructure.printFluxes = 0; - taskStructure.comments = ''; - taskStructure.equations = {}; - taskStructure.LBequ = []; - taskStructure.UBequ = []; - taskStructure.changed = {}; - taskStructure.LBrxn = []; - taskStructure.UBrxn = []; - - [fixedModel, fixingAddedRxns] = fitTasks(secModel,refModel,[],[],[],taskStructure,[]); - fixingAddedRxns = refModel.rxns(find(fixingAddedRxns)); - - neededRxns = {'HMR_9034';'HMR_9038';'HMR_9039';'HMR_9040';'HMR_9041';'HMR_9042';'HMR_9043';'HMR_9044';'HMR_9045';'HMR_9046';'HMR_9047';'HMR_9048';'HMR_9058';'HMR_9061';'HMR_9062';'HMR_9063';'HMR_9064';'HMR_9065';'HMR_9066';'HMR_9067';'HMR_9068';'HMR_9069';'HMR_9070';'HMR_9071';'HMR_9073';'HMR_9075';'HMR_9103'}; - gapRxns = neededRxns(find(~ismember(neededRxns,fixedModel.rxns))); - fixedModel = copyRxn(fixedModel,refModel,gapRxns); - fixingAddedRxns = vertcat(fixingAddedRxns,gapRxns); -end diff --git a/splitComp.m b/splitComp.m deleted file mode 100644 index ac38007..0000000 --- a/splitComp.m +++ /dev/null @@ -1,33 +0,0 @@ -function [mets, comps]=splitComp(metComps) - % - % - % - % - % - % - % - % - % - % - % - % - % - % - % - % - % Rasool Saghaleyni, 2020-03-03 - for i=1:numel(metComps) - a1 = char(metComps(i)); - if isempty(strfind(a1,'pm')) == 1 && isempty(strfind(a1,'cv')) == 1 && isempty(strfind(a1,'sv')) == 1 && isempty(strfind(a1,'gm')) && isempty(strfind(a1,'rm')) - a2 = a1(1:end-3); - a3 = a1(end-2:end); - else - a2 = a1(1:end-4); - a3 = a1(end-3:end); - end - mets(i,1) = cellstr(a2); - comps(i,1) = cellstr(a3); - end - comps = strrep(comps,'[',''); - comps = strrep(comps,']',''); -end diff --git a/substitute_AAs_count.m b/substitute_AAs_count.m deleted file mode 100644 index d768263..0000000 --- a/substitute_AAs_count.m +++ /dev/null @@ -1,34 +0,0 @@ -function newFormula=substitute_AAs_count(formula,AAcounts) - %Define a function that substitutes question marks for AA counts in a formula (string) - %Useful for translation and protein degradation pathway - % - % - % - % - % - % - % - % - % Rasool Saghaleyni, 2018-02-16 - %replace "?" for aa based on aa count data - newFormula = strrep(formula, '? glycine[c]', strcat(num2str(AAcounts.G),' glycine[c]')); - newFormula = strrep(newFormula, '? alanine[c]', strcat(num2str(AAcounts.A),' alanine[c]')); - newFormula = strrep(newFormula, '? valine[c]', strcat(num2str(AAcounts.V),' valine[c]')); - newFormula = strrep(newFormula, '? leucine[c]', strcat(num2str(AAcounts.L),' leucine[c]')); - newFormula = strrep(newFormula, '? isoleucine[c]', strcat(num2str(AAcounts.I),' isoleucine[c]')); - newFormula = strrep(newFormula, '? methionine[c]', strcat(num2str(AAcounts.M),' methionine[c]')); - newFormula = strrep(newFormula, '? tryptophan[c]', strcat(num2str(AAcounts.W),' tryptophan[c]')); - newFormula = strrep(newFormula, '? phenylalanine[c]', strcat(num2str(AAcounts.F),' phenylalanine[c]')); - newFormula = strrep(newFormula, '? proline[c]', strcat(num2str(AAcounts.P),' proline[c]')); - newFormula = strrep(newFormula, '? serine[c]', strcat(num2str(AAcounts.S),' serine[c]')); - newFormula = strrep(newFormula, '? threonine[c]', strcat(num2str(AAcounts.T),' threonine[c]')); - newFormula = strrep(newFormula, '? cysteine[c]', strcat(num2str(AAcounts.C),' cysteine[c]')); - newFormula = strrep(newFormula, '? tyrosine[c]', strcat(num2str(AAcounts.Y),' tyrosine[c]')); - newFormula = strrep(newFormula, '? asparagine[c]', strcat(num2str(AAcounts.N),' asparagine[c]')); - newFormula = strrep(newFormula, '? glutamine[c]', strcat(num2str(AAcounts.Q),' glutamine[c]')); - newFormula = strrep(newFormula, '? glutamate[c]', strcat(num2str(AAcounts.E),' glutamate[c]')); - newFormula = strrep(newFormula, '? aspartate[c]', strcat(num2str(AAcounts.D),' aspartate[c]')); - newFormula = strrep(newFormula, '? lysine[c]', strcat(num2str(AAcounts.K),' lysine[c]')); - newFormula = strrep(newFormula, '? arginine[c]', strcat(num2str(AAcounts.R),' arginine[c]')); - newFormula = strrep(newFormula, '? histidine[c]', strcat(num2str(AAcounts.H),' histidine[c]')); -end diff --git a/translationRxn.m b/translationRxn.m deleted file mode 100644 index 261c28c..0000000 --- a/translationRxn.m +++ /dev/null @@ -1,30 +0,0 @@ -function translationFormula=translationRxn(psim, protein) - % Function that generates the translation reaction of a protein given its UniProt ID - % - % - % - % - % - % - % - % - % - % Rasool Saghaleyni, 2018-02-16 - %Obtain protein sequence and then length - p_row = find(ismember(psim.entry,protein)); %protein row in psim - sequence = char(psim.sequence(p_row)); - AAcounts = aacount(sequence); - templateFormula = string('? H2O[c] + ? ATP[c] + ? GTP[c] + ? glycine[c] + ? alanine[c] + ? valine[c] + ? leucine[c] + ? isoleucine[c] + ? methionine[c] + ? tryptophan[c] + ? phenylalanine[c] + ? proline[c] + ? serine[c] + ? threonine[c] + ? cysteine[c] + ? tyrosine[c] + ? asparagine[c] + ? glutamine[c] + ? glutamate[c] + ? aspartate[c] + ? lysine[c] + ? arginine[c] + ? histidine[c] => ? H+[c] + ? AMP[c] + ADP[c] + ? Pi[c] + ? GDP[c] + ? PPi[c] + XXX[c]'); - N = numel(sequence); %Number to replace ATP, GTP, PPi, Pi, H2O, AMP, and GTP - %then replace stochiometric coefficients based on calculated N index - translationFormula = substitute_AAs_count(templateFormula, AAcounts); - translationFormula = strrep(translationFormula, '? H2O[c]', strcat(num2str(2*N-1),' H2O[c]')); - translationFormula = strrep(translationFormula, '? H+[c]', strcat(num2str(2*N-1),' H+[c]')); - translationFormula = strrep(translationFormula, '? PPi[c]', strcat(num2str(N),' PPi[c]')); - translationFormula = strrep(translationFormula, '? Pi[c]', strcat(num2str(2*N-1),' Pi[c]')); - translationFormula = strrep(translationFormula, '? GDP[c]', strcat(num2str(2*N-2),' GDP[c]')); - translationFormula = strrep(translationFormula, '? AMP[c]', strcat(num2str(N),' AMP[c]')); - translationFormula = strrep(translationFormula, '? GTP[c]', strcat(num2str(2*N-2),' GTP[c]')); - translationFormula = strrep(translationFormula, '? ATP[c]', strcat(num2str(N+1),' ATP[c]')); - translationFormula = strrep(translationFormula, 'XXX[c]', strcat(protein,'[c]')); -end