**THIS CODE WAS WRITTEN FOR THE CONSTRAINT-BASED MODELING WORKSHOP J.REED (2/2008) sets genes /aceA,aceB,ackA,acnA,acnB,adhE,adk,aceE,aceF atpA,atpB,atpC,atpD,atpE,atpF,atpG,atpH,atpI crr,cydA,cydB,dctA,dcuC,eno,fba,fbp,focA,frdA,frdB,frdC,frdD fumA,fumB,fumC,gapA,gltA,gnd,icdA,ldhA,lpdA,maeB,mdh nuoA,nuoB,nuoE,nuoF,nuoG,nuoH,nuoI,nuoJ,nuoK,nuoL,nuoM,nuoN pckA,pfkA,pfkB,pflA,pflB,pflC,pflD,pgi,pgk,pgl,pgm,pitA,pitB pntA,pntB,ppc,ppsA,pta,ptsG,ptsH,ptsI,pykA,pykF,rpe,rpi sdhA,sdhB,sdhC,sdhD,sfcA,sucA,sucB,sucC,sucD,talA,tktA,tktB,tpi,zwf/ transcriptionfactors /Fnr,ArcA,DcuS,DcuR,FadR,IclR,Mlc,PdhR,Cra/ components(i) /ac_e,akg_e,etoh_e,formate_e,fumarate_e,glcD_e,lacD_e,o2_e,pyr_e,succ_e/; parameters reactionstatus(j) genestatus(genes) TFstatus(transcriptionfactors) medium(components) temp1 temp2; genestatus(genes)=1; reactionstatus(j)=1; ******************************************************************************** *****Determine What is Present in the Medium (Substrate & By-Produces*********** ******************************************************************************** if((LowerLimits('EX_ac_e')<0) or (v.l('EX_ac_e')>0), medium('ac_e')=1; else medium('ac_e')=0;); if((LowerLimits('EX_akg_e')<0) or (v.l('EX_akg_e')>0), medium('akg_e')=1; else medium('akg_e')=0;); if((LowerLimits('EX_etoh_e')<0) or (v.l('EX_etoh_e')>0), medium('etoh_e')=1; else medium('etoh_e')=0;); if((LowerLimits('EX_for_e')<0) or (v.l('EX_for_e')>0), medium('formate_e')=1; else medium('formate_e')=0;); if((LowerLimits('EX_fum_e')<0) or (v.l('EX_fum_e')>0), medium('fumarate_e')=1; else medium('fumarate_e')=0;); if((LowerLimits('EX_glc_e')<0) or (v.l('EX_glc_e')>0), medium('glcD_e')=1; else medium('glcD_e')=0;); if((LowerLimits('EX_lacD_e')<0) or (v.l('EX_lacD_e')>0), medium('lacD_e')=1; else medium('lacD_e')=0;); if((LowerLimits('EX_o2_e')<0) or (v.l('EX_o2_e')>0), medium('o2_e')=1; else medium('o2_e')=0;); if((LowerLimits('EX_pyr_e')<0) or (v.l('EX_pyr_e')>0), medium('pyr_e')=1; else medium('pyr_e')=0;); if((LowerLimits('EX_succ_e')<0) or (v.l('EX_succ_e')>0), medium('succ_e')=1; else medium('succ_e')=0;); ******************************************************************************** *****Determine Transcription Factor Activities (0=Active, 1=Inactive)*********** ******************************************************************************** TFstatus('Fnr')=1-medium('o2_e'); TFstatus('ArcA')=1-medium('o2_e'); TFstatus('DcuS')=medium('succ_e'); TFstatus('DcuR')=TFstatus('DcuS'); TFstatus('FadR')=max(medium('glcD_e'),1-medium('ac_e')); TFstatus('IclR')=TFstatus('FadR'); TFstatus('Mlc')=1-medium('glcD_e'); *The rule for PdhR depends on some of the fluxes in the unregulated FBA solution if((v.l('ME1')+v.l('ME2'))>0,temp1=1; else temp1=0;); if(((v.l('LDH_D')>0) or ((v.l('GLCpts')+v.l('PYK')+v.l('SUCCt2_2')+v.l('SUCCt2b'))>0)),temp2=1;else temp2=0;); TFstatus('PdhR')=1-min(1-temp1,1-temp2); *The rule for Cra depends on some of the fluxes in the unregulated FBA solution if(v.l('FBP')>0,temp1=1;else temp1=0;); if((v.l('TKT2')>0) or (v.l('TALA')>0) or (v.l('PGI')>0),temp2=1;else temp2=0;); TFstatus('Cra')=min(temp1,1-temp2); ******************************************************************************** **********Determine Gene Expression States for Metabolic Genes (0/1)************ ******************************************************************************** genestatus('aceA')=1-TFstatus('IclR'); genestatus('aceB')=1-max(TFstatus('IclR'),TFstatus('ArcA')); genestatus('adhE')=max(1-medium('o2_e'),1-min(medium('o2_e'),Tfstatus('Cra'))); genestatus('frdA')=max(TFstatus('Fnr'),TFstatus('DcuR')); genestatus('frdB')=max(TFstatus('Fnr'),TFstatus('DcuR')); genestatus('frdC')=max(TFstatus('Fnr'),TFstatus('DcuR')); genestatus('frdD')=max(TFstatus('Fnr'),TFstatus('DcuR')); genestatus('cydA')=max(1-TFstatus('Fnr'),TFstatus('ArcA')); genestatus('cydB')=max(1-TFstatus('Fnr'),TFstatus('ArcA')); genestatus('fumB')=TFstatus('Fnr'); genestatus('pflA')=max(TFstatus('Fnr'),TFstatus('ArcA')); genestatus('pflB')=max(TFstatus('Fnr'),TFstatus('ArcA')); genestatus('pflC')=max(TFstatus('Fnr'),TFstatus('ArcA')); genestatus('pflD')=max(TFstatus('Fnr'),TFstatus('ArcA')); genestatus('focA')=max(TFstatus('Fnr'),TFstatus('ArcA')); genestatus('dcuC')=max(TFstatus('Fnr'),TFstatus('ArcA')); genestatus('mdh')=1-TFstatus('Fnr'); genestatus('fumA')=1-max(TFstatus('Fnr'),TFstatus('ArcA')); genestatus('sdhA')=1-max(TFstatus('Fnr'),TFstatus('ArcA')); genestatus('sdhB')=1-max(TFstatus('Fnr'),TFstatus('ArcA')); genestatus('sdhC')=1-max(TFstatus('Fnr'),TFstatus('ArcA')); genestatus('sdhD')=1-max(TFstatus('Fnr'),TFstatus('ArcA')); genestatus('sucA')=1-TFstatus('PdhR'); genestatus('sucB')=1-TFstatus('PdhR'); genestatus('aceE')=max(1-TFstatus('PdhR'),1-max(TFstatus('Fnr'),TFstatus('ArcA'))); genestatus('aceF')=max(1-TFstatus('PdhR'),1-max(TFstatus('Fnr'),TFstatus('ArcA'))); genestatus('lpdA')=max(1-TFstatus('PdhR'),1-max(TFstatus('Fnr'),TFstatus('ArcA'))); genestatus('pykF')=1-TFstatus('Cra'); genestatus('ppsA')=TFstatus('Cra'); ******************************************************************************** **********Change Reaction Status to 0 When Genes Needed Aren't Expressed******** ******************************************************************************** reactionstatus('ICL')=genestatus('aceA'); reactionstatus('MALS')=genestatus('aceB'); reactionstatus('ACKr')=genestatus('ackA'); reactionstatus('ADHEr')=genestatus('adhE'); reactionstatus('ADK1')=genestatus('adk'); reactionstatus('FUMt2_2')=genestatus('dctA'); reactionstatus('SUCCt2_2')=genestatus('dctA'); reactionstatus('SUCCt2b')=genestatus('dcuC'); reactionstatus('ENO')=genestatus('eno'); reactionstatus('FBA')=genestatus('fba'); reactionstatus('FBP')=genestatus('fbp'); reactionstatus('FORt')=genestatus('focA'); reactionstatus('GAPD')=genestatus('gapA'); reactionstatus('CS')=genestatus('gltA'); reactionstatus('GND')=genestatus('gnd'); reactionstatus('ICDHyr')=genestatus('icdA'); reactionstatus('LDH_D')=genestatus('ldhA'); reactionstatus('ME2')=genestatus('maeB'); reactionstatus('MDH')=genestatus('mdh'); reactionstatus('PPCK')=genestatus('pckA'); reactionstatus('PGI')=genestatus('pgi'); reactionstatus('PGK')=genestatus('pgk'); reactionstatus('PGL')=genestatus('pgl'); reactionstatus('PGM')=genestatus('pgm'); reactionstatus('PPC')=genestatus('ppc'); reactionstatus('PPS')=genestatus('ppsA'); reactionstatus('PTAr')=genestatus('pta'); reactionstatus('RPE')=genestatus('rpe'); reactionstatus('RPI')=genestatus('rpi'); reactionstatus('ME1')=genestatus('sfcA'); reactionstatus('TALA')=genestatus('talA'); reactionstatus('TPI')=genestatus('tpi'); reactionstatus('G6PDH2r')=genestatus('zwf'); *These reactions have isozymes so if at least one is present the reaction can occur reactionstatus('ACONT')=max(genestatus('acnA'),genestatus('acnB')); reactionstatus('FUM')=max(genestatus('fumA'),genestatus('fumB'),genestatus('fumC')); reactionstatus('PFK')=max(genestatus('pfkA'),genestatus('pfkB')); reactionstatus('PFL')=max(min(genestatus('pflA'),genestatus('pflB')),min(genestatus('pflC'),genestatus('pflD'))); reactionstatus('PYK')=max(genestatus('pykA'),genestatus('pykF')); reactionstatus('TKT1')=max(genestatus('tktA'),genestatus('tktB')); reactionstatus('TKT2')=max(genestatus('tktA'),genestatus('tktB')); *These reactions are carried out by multiple gene products, all have to be expressed for the reaction to occur reactionstatus('SUCOAS')=min(genestatus('sucC'),genestatus('sucD')); reactionstatus('AKGDH')=min(genestatus('sucA'),genestatus('sucB'),genestatus('lpdA')); reactionstatus('PDH')=min(genestatus('aceE'),genestatus('aceF'),genestatus('lpdA')); reactionstatus('PIt')=min(genestatus('pitA'),genestatus('pitB')); reactionstatus('NADTRHD')=min(genestatus('pntA'),genestatus('pntB')); reactionstatus('THD2')=min(genestatus('pntA'),genestatus('pntB')); reactionstatus('SUCD1i')=min(genestatus('sdhA'),genestatus('sdhB'),genestatus('sdhC'),genestatus('sdhD')); reactionstatus('SUCD4')=min(genestatus('sdhA'),genestatus('sdhB'),genestatus('sdhC'),genestatus('sdhD')); reactionstatus('FRD')=min(genestatus('frdA'),genestatus('frdB'),genestatus('frdC'),genestatus('frdD')); reactionstatus('NADH11')=min(genestatus('nuoA'),genestatus('nuoB'),genestatus('nuoE'),genestatus('nuoF'),genestatus('nuoG'),genestatus('nuoH'),genestatus('nuoI'),genestatus('nuoJ'),genestatus('nuoK'),genestatus('nuoL'),genestatus('nuoM'),genestatus('nuoN')); reactionstatus('GLCpts')=min(genestatus('ptsG'),genestatus('ptsH'),genestatus('ptsI'),genestatus('crr')); reactionstatus('ATPS4r')=min(genestatus('atpA'),genestatus('atpB'),genestatus('atpC'),genestatus('atpD'),genestatus('atpE'),genestatus('atpF'),genestatus('atpG'),genestatus('atpH'),genestatus('atpI')); reactionstatus('CYTBD')=min(genestatus('cydA'),genestatus('cydB'));