Exemplo n.º 1
0
import numpy as np

gene_info = pd.DataFrame.from_csv('../data/ecoli_genome_info.csv', sep='\t')
copies_fL = pd.DataFrame.from_csv('../data/copies_fL.csv')
flux = pd.DataFrame.from_csv("../data/mmol_gCDW_h.csv")
abundance =  pd.DataFrame.from_csv("../data/g_gCDW.csv")
cu = CAPACITY_USAGE(flux, abundance)


x = pd.DataFrame({r:r.metabolites for r in cu.model.reactions}).T.stack()
r2stoich = x.reset_index()
r2stoich.columns = ['reaction', 'metabolite', 'coefficient']

#%%
l = []
for r,v  in cu.reactions_to_isozymes().iteritems():
    l+=(list(product([r], v, cu.cs)))
r2isozymes = pd.DataFrame(l)
r2isozymes.columns = ['reaction', 'enzyme', 'condition']

#%%
# include abudance of enzyme complexes - take the minimum abudance 
# across all associated genes in the complex
cmplxs = r2isozymes[r2isozymes.enzyme.str.contains(';')].enzyme.drop_duplicates()
for cmplx in cmplxs:
    try: 
        gs = cmplx.split(';')
        copies_fL.loc[cmplx, :] = copies_fL.loc[gs].min(skipna=False)
    except KeyError:
        continue
copies_fL.replace(np.nan, 0, inplace=True)