% 6/18/2006
% Thuy D. Vo, Bernhard Palsson Laboratory
% University of California, San Diego

% '-' in metabolite and reaction abbreviations are removed
% See Supplemental data for the official abbrevations of reactions and
% metabolites
% Suffices "_C" and "_E" stand for cytosol and extracellular
% Metabolites with no suffices are mitochondrial
% '_' delimits reaction_product_reactant
% AMMs and IMMs for transport reactions are unity 

%Glycolysis
ammHEX1_g6p_C_glcD_C = eye(6);
ammPGI_f6p_C_g6p_C = eye(6);
ammPFK_fdp_C_f6p_C = eye(6);
ammFBA_g3p_C_fdp_C = [zeros(3,3) eye(3)];
ammFBA_dhap_C_fdp_C = [eye(3) zeros(3,3)];
ammTPI_g3p_C_dhap_C = [rot90(eye(3))];
ammGAPD_13dpg_C_g3p_C = eye(3);
ammPGK_13dpg_C_3pg_C = eye(3);
ammPGM_3pg_C_2pg_C = eye(3);
ammENO_pep_C_2pg_C = eye(3);
ammPYK_pyr_C_pep_C = eye(3);

%TCA cycle
ammPDHm_accoa_pyr = [0 1 0; 0 0 1];
ammPDHm_co2_pyr = [1 0 0];
ammCSm_cit_accoa = [0,0; 0,0; 0,0; 0,1; 1,0; 0,0];
ammCSm_cit_oaa = [0,0,0,1; 0,0,1,0; 0,1,0,0; 0,0,0,0; 0,0,0,0; 1,0,0,0];
ammACONTm_icit_cit = eye(6);
ammICDHxm_akg_icit = [eye(5) zeros(5,1)];
ammICDHxm_co2_icit = [0 0 0 0 0 1];
ammICDHym_akg_icit = [eye(5) zeros(5,1)];
ammICDHym_co2_icit = [0 0 0 0 0 1];
ammAKGDm_co2_akg = [1 0 0 0 0];
ammAKGDm_succoa_akg = [zeros(4,1) eye(4)];
ammsymSUCOAS1m_succoa_succ = eye(4);
ammsymSUCD1m_fum_succ = rot90(eye(4));    
ammsymFUMm_malL_fum = eye(4);             
ammMDHm_oaa_malL = eye(4);

%Anaplerotic rxns and Pyruvate met (Voet 454, 579)
ammLDHL_pyr_C_lacL_C = eye(3);
ammLDHLm_pyr_lacL = eye(3);
ammME2m_pyr_malL = [eye(3) zeros(3,1)];
ammME2m_co2_malL = [0 0 0 1];
ammPCm_oaa_hco3 = [0 0 0 1]';
ammPCm_oaa_pyr = [eye(3); zeros(1,3)];
ammPEPCKm_co2_oaa = [0 0 0 1];
ammPEPCKm_pep_oaa = [eye(3) [0 0 0]'];
ammACITL_accoa_C_cit_C = ammCSm_cit_accoa';
ammACITL_oaa_C_cit_C = ammCSm_cit_oaa';

%Amino acid: ala, asn, asp
ammALATAL_gluL_C_akg_C = eye(5);
ammALATAL_pyr_C_alaL_C = eye(3);
ammASNNm_aspL_asnL = eye(4);		% copied from ASNN
%Amino acid: glu, gln
ammGLUDxm_akg_gluL = eye(5);
ammGLUDym_akg_gluL = eye(5);
ammGLUNm_gluL_glnL = eye(5);		% copied
ammGLNS_glnL_C_gluL_C = eye(5);

% Ketone bodies
ammACACT1rm_aacoa_accoa1 = [1 0; 0 1; 0 0; 0 0];				%Special case
ammACACT1rm_aacoa_accoa2 = [0 0; 0 0; 1 0; 0 1];
ammHMGCOASim_hmgcoa_aacoa = [eye(3) zeros(3,3); 0 0 0 0 0 1]';
ammHMGCOASim_hmgcoa_accoa = [0 0 0 1 0 0; 0 0 0 0 1 0]';
ammHMGLm_acac_hmgcoa = [zeros(4,2) [0 0 1 0; 0 1 0 0; 1 0 0 0; 0 0 0 1] ];
ammHMGLm_accoa_hmgcoa = [eye(2) zeros(2,4)];
ammOCOAT1m_aacoa_acac = eye(4);
ammsymOCOAT1m_succ_succoa = eye(4);
ammBDHm_acac_bhb = eye(4);

% Accoa, Ppcoa, and HCO3 (Voet 575-6)
ammMCD_accoa_malcoa = [1 0 0; 0 1 0];
ammMCD_co2_malcoa = [0 0 1];
ammACSm_accoa_ac = eye(2);
ammACCOACm_malcoa_accoa = ammMCD_accoa_malcoa';
ammACCOACm_malcoa_hco3 = ammMCD_co2_malcoa';
ammACCOALm_ppcoa_ppa = eye(3);
ammMMEm_mmcoaS_mmcoaR = eye(4);
ammMMMm_succoa_mmcoaR = [1 0 0 0; 0 0 0 1; 0 1 0 0; 0 0 1 0];
ammPPCOACm_mmcoaS_hco3   = [0 0 1 0]';
ammPPCOACm_mmcoaS_ppcoa = [1 0 0; 0 1 0; 0 0 0; 0 0 1];
ammHCO3Em_hco3_co2 = 1;

% Mal/Asp Shuttle (Lehninger p.564)
ammASPGLUm_aspL_C_aspL = eye(4);
ammASPGLUm_gluL_gluL_C = eye(5);
ammASPTA_gluL_C_akg_C = eye(5);
ammASPTA_oaa_C_aspL_C = eye(4);
ammMDH_oaa_C_malL_C = eye(4);
ammAKGMALtm_malL_malL_C = eye(4);
ammAKGMALtm_akg_C_akg = eye(5);
ammASPTAm_gluL_akg = eye(5);
ammASPTAm_oaa_aspL = eye(4);

% Heme synthesis
ammALASm_5aop_gly = [zeros(4,2); 0 1];
ammALASm_5aop_succoa = [rot90(eye(4)); 0 0 0 0];
ammALASm_co2_gly = [1 0];
amm5AOPtm_5aop_5aop_C = eye(5);
% Lipid
ammGLYKm_glyc3p_glyc = eye(3);
