Reading ModelSEED Biochemistry from ModelSEED DatabaseΒΆ
This notebook provides examples to read data from the biochemistry database
The biochemistry database is represented by the modelseedpy.biochem.modelseed_biochem.ModelSEEDDatabase class
The database can be instantiated from either a local github copy of the database repository or loaded via web url from github.
from_local- from_local(path to repository)Example:
first we obtain a copy of the repository:
git clone https://github.com/ModelSEED/ModelSEEDDatabase.gitthen we can load the repository with
from_local:from_local('/home/user/ModelSEEDDatabase')
from_github- from_github(commit version)Example:
load the dev branch from github (default: https://github.com/ModelSEED/ModelSEEDDatabase):
from_github('dev')load a specific commit version from github:
from_github('194ac8afe48f8a606c0dd07ba3c7af10c02ba2fd')load from another fork/repository:
from_github('master', 'https://raw.githubusercontent.com/Fxe/ModelSEEDDatabase')
[1]:
import logging
import pandas as pd
from modelseedpy.biochem.modelseed_biochem import get_structures_from_df, get_aliases_from_df, get_names_from_df, process_aliases, load_metabolites_from_df
from modelseedpy.biochem.modelseed_biochem import ALIAS_RXN_IDENTIFIERS_ORG, ALIAS_MODELS
from modelseedpy.biochem.modelseed_biochem import from_local2, from_local, from_github
from modelseedpy.biochem.modelseed_reaction import ModelSEEDReaction, ModelSEEDReaction2
logger = logging.getLogger(__name__)
[2]:
%%time
modelseed_local2 = from_local2('/home/fliu/workspace/python/ModelSEEDDatabase/')
CPU times: user 16.8 s, sys: 668 ms, total: 17.5 s
Wall time: 17.5 s
[3]:
%%time
modelseed_local1 = from_local('/home/fliu/workspace/python/ModelSEEDDatabase/')
CPU times: user 42.2 s, sys: 503 ms, total: 42.7 s
Wall time: 42.7 s
[4]:
%%time
modelseed_git = from_github('dev')
CPU times: user 18.8 s, sys: 1.12 s, total: 19.9 s
Wall time: 24.3 s
[5]:
inchi_key_lookup = {}
for cpd in modelseed_git.compounds:
inchi_key = cpd.inchi_key
inchi_key = None if pd.isna(inchi_key) or len(inchi_key) == 0 else inchi_key
cpd.inchi_key = inchi_key
if cpd.inchi_key:
a, b, p = cpd.inchi_key.split('-')
if a not in inchi_key_lookup:
inchi_key_lookup[a] = {}
if b not in inchi_key_lookup[a]:
inchi_key_lookup[a][b] = set()
inchi_key_lookup[a][b].add((cpd.id, p))
[6]:
metabolite_reactions = {}
for rxn in modelseed_git.reactions:
if not rxn.is_obsolete:
for m in rxn.metabolites:
if m.seed_id not in metabolite_reactions:
metabolite_reactions[m.seed_id] = set()
metabolite_reactions[m.seed_id].add(rxn.id)
[14]:
import cobrakbase
kbase = cobrakbase.KBaseAPI()
genome = kbase.get_from_ws('87388/3/1')
[38]:
genome.features.get_by_id('A3776_RS08395').data
[38]:
{'aliases': [['protein_id', 'WP_066378293.1'], ['locus_tag', 'A3776_RS08395']],
'cdss': ['A3776_RS08395_CDS_1'],
'dna_sequence': 'ATGATTGTACCCTTGCTATATCTGGCTTTAGCCGGAGCCTATCTATTAGTTGTCCCGGTGGCTTTAATGCTTTACCTCAACCTACGCTGGTATACGGCTGGCTCGATTGAGCGCACCGTCATGTATTTTTTTGTATTTTTGTTCTTTCCCGGACTGTTGGTTTTGTCGCCGTTTGTGAATCTGCGACCCAAACCCCGCAAAATTGAAGTTTAA',
'dna_sequence_length': 213,
'functions': ['NADH dehydrogenase subunit', 'NdhL'],
'id': 'A3776_RS08395',
'location': [['NZ_LUHI01000036.1', 21434, '-', 213]],
'md5': '1ae8b7b3d705b63184c99a9711785d23',
'protein_md5': '1ae8b7b3d705b63184c99a9711785d23',
'protein_translation': 'MIVPLLYLALAGAYLLVVPVALMLYLNLRWYTAGSIERTVMYFFVFLFFPGLLVLSPFVNLRPKPRKIEV',
'protein_translation_length': 70,
'quality': {'hit_count': 5, 'weighted_hit_count': 5.5205}}
[221]:
import json
data = None
with open('/home/fliu/workspace/data/sbml/iAnC892/iAnC892_single.json', 'r') as fh:
data = json.load(fh)
[222]:
%run /home/fliu/workspace/data/sbml/iAnC892/tools.py
integrate_to_seed(data)
[161]:
with open('/home/fliu/workspace/data/sbml/iAnC892/iAnC892_single_mapped.json', 'w') as fh:
fh.write(json.dumps(data, indent=4, sort_keys=True))
[162]:
[163]:
[223]:
[224]:
model_mapped.metabolites.cpd00011_p
[224]:
| Metabolite identifier | cpd00011_p |
| Name | CO2 |
| Memory address | 0x07fcba66f68e0 |
| Formula | CO2 |
| Compartment | p |
| In 2 reaction(s) | cpd00011exccc_p, cpd00011excpp_e |
[225]:
model_mapped = cobra.io.load_json_model('/home/fliu/workspace/data/sbml/iAnC892/iAnC892_single_mapped.json')
from modelseedpy import MSBuilder
from cobra.core import Reaction
MSBuilder.build_exchanges(model_mapped, 'e')
atp_obj = Reaction('obj_ATP', 'ATP objective function', 'objetive function', 0, 1000)
atp_obj.add_metabolites({
model_mapped.metabolites.cpd00001_c: -1,
model_mapped.metabolites.cpd00002_c: -1,
model_mapped.metabolites.cpd00008_c: 1,
model_mapped.metabolites.cpd00009_c: 1,
model_mapped.metabolites.cpd00067_c: 1,
})
model_mapped.add_reactions([atp_obj])
model_mapped.objective = 'obj_ATP'
model_mapped.medium = {
#'EX_cpd00067_e': 1,
'EX_cpd11632_e': 0.5,
#'EX_hvphoton2_e': 0.5,
'EX_hvphoton1_e': 0.5
}
#1.0 obj_ATP = 0.8035714285714285
model_mapped.summary()
[225]:
Objective
1.0 obj_ATP = 0.8035714285714285
Uptake
| Metabolite | Reaction | Flux | C-Number | C-Flux |
|---|---|---|---|---|
| cpd11632_e | EX_cpd11632_e | 0.5 | 0 | 0.00% |
| hvphoton1_e | EX_hvphoton1_e | 0.5 | 0 | 0.00% |
Secretion
| Metabolite | Reaction | Flux | C-Number | C-Flux |
|---|
[197]:
model_mapped.medium = {
'EX_cpd00067_e': 1
}
sol = cobra.flux_analysis.pfba(model_mapped)
[ ]:
for a in [{'EX_cpd11632_e': 1}, {'EX_hvphoton1_e': 1}]:
model_mapped.medium = {
k.id: 1,
}
sol = cobra.flux_analysis.pfba(model_mapped)
print(model_mapped.medium)
ss = f"{cpd.id}\t{cpd.name}\t{sol.fluxes['obj_ATP']}\t{sol.status}"
print(ss)
[ ]:
#glc/O2 22.857142857142854
#glc 0
[218]:
model_mapped.medium = {
'EX_cpd00067_e': 1000,
'EX_cpd00001_e': 1000,
'EX_cpd00242_e': 1, #H2CO3
'EX_cpd00528_e': 1000, #N2
'EX_cpd00011_e': 1000, #co2
'EX_cpd00007_e': 0, #O2
'EX_cpd11632_e': 0,
'EX_hvphoton1_e': 0,
'EX_cpd00027_e': 1,
'EX_cpd00048_e': 1,
'EX_cpd00209_e': 1,
'EX_cpd11640_e': 1, #H2
'EX_cpd00268_e': 10
}
model_mapped.summary()
[218]:
Objective
1.0 obj_ATP = 0.0
Uptake
| Metabolite | Reaction | Flux | C-Number | C-Flux |
|---|
Secretion
| Metabolite | Reaction | Flux | C-Number | C-Flux |
|---|
[203]:
for k in model_mapped.exchanges:
cpd = list(k.metabolites)[0]
model_mapped.medium = {
k.id: 1,
}
sol = cobra.flux_analysis.pfba(model_mapped)
ss = f"{cpd.id}\t{cpd.name}\t{sol.fluxes['obj_ATP']}\t{sol.status}"
print(ss)
cpd11632_e Photosystem 2 photon 0.8571428571428571 optimal
hvphoton1_e Photosystem 1 photon 0.75 optimal
cpd00067_e H+ 0.0 optimal
cpd00001_e H2O 0.0 optimal
cpd00007_e O2 0.0 optimal
cpd00009_e Phosphate 0.0 optimal
cpd00048_e Sulfate 0.0 optimal
cpd00209_e Nitrate 0.0 optimal
cpd00254_e Mg 0.0 optimal
cpd10515_e Fe+2 0.0 optimal
cpd00149_e Co2+ 0.0 optimal
cpd00034_e Zn2+ 0.0 optimal
cpd00058_e Cu2+ 0.0 optimal
cpd20863_e Mn2+ 0.0 optimal
cpd00063_e Ca2+ 0.0 optimal
cpd00205_e K+ 0.0 optimal
cpd00971_e Na+ 0.0 optimal
cpd11574_e Molybdate 0.0 optimal
cpd00011_e CO2 0.0 optimal
cpd00528_e N2 0.0 optimal
cpd00027_e D-Glucose 0.0 optimal
cpd00053_e L-Glutamine 0.0 optimal
cpd00107_e L-Leucine 0.0 optimal
cpd00118_e Putrescine 0.0 optimal
cpd00129_e L-Proline 0.0 optimal
cpd00156_e L-Valine 0.0 optimal
cpd00179_e Maltose 0.0 optimal
cpd00264_e Spermidine 0.0 optimal
cpd00268_e H2S2O3 0.0 optimal
cpd00322_e L-Isoleucine 0.0 optimal
cpd03725_e Fe(III)dicitrate 0.0 optimal
cpd00060_e L-Methionine 0.0 optimal
cpd00104_e BIOT 0.0 optimal
cpd01012_e Cd2+ 0.0 optimal
cpd11593_e ala-L-asp-L 0.0 optimal
cpd00159_e L-Lactate 0.0 optimal
cpd01262_e Amylotriose 0.0 optimal
cpd01329_e Maltohexaose 0.0 optimal
cpd00242_e H2CO3 0.0 optimal
cpd00013_e cpd00013[e] 0.0 optimal
cpd11640_e H2 0.0 optimal
[43]:
for k in ['A3776_RS12690', 'A3776_RS16110']:
for o in genome.features.get_by_id(k).functions:
print(o)
Dihydroorotate dehydrogenase (quinone) (EC 1.3.5.2)
Putative dihydropyrimidine dehydrogenase [NADP+], similar to dihydroorotate dehydrogenase
[19]:
for rxn_id in super_c:
if rxn_id in model.reactions:
stoich_key, compartment_setup = super_c[rxn_id]
rxn_model = model.reactions.get_by_id(rxn_id)
print(rxn_model.id, rxn_model.gene_reaction_rule)
NDH1_1u_k A3776_RS06230 and A3776_RS16180 and A3776_RS20905 and A3776_RS06215 and A3776_RS06220 and A3776_RS19180 and ( A3776_RS06225 or A3776_RS21975 ) and A3776_RS20895 and A3776_RS20900 and A3776_RS08395 and A3776_RS11390 and A3776_RS03245 and A3776_RS09810 and A3776_RS09805 and A3776_RS09800 and ( A3776_RS08060 or A3776_RS10415 or A3776_RS22280 ) and ( A3776_RS03760 or A3776_RS08065 or A3776_RS18720 )
NDH1_1p_p A3776_RS06230 and A3776_RS16180 and A3776_RS20905 and A3776_RS06215 and A3776_RS06220 and A3776_RS19180 and ( A3776_RS06225 or A3776_RS21975 ) and A3776_RS20895 and A3776_RS20900 and A3776_RS08395 and A3776_RS11390 and A3776_RS03245 and A3776_RS09810 and A3776_RS09805 and A3776_RS09800 and ( A3776_RS08060 or A3776_RS10415 or A3776_RS22280 ) and ( A3776_RS03760 or A3776_RS08065 or A3776_RS18720 )
NDH1_4pp_p A3776_RS06230 and A3776_RS16180 and A3776_RS20905 and A3776_RS06215 and A3776_RS06220 and A3776_RS19180 and ( A3776_RS06225 or A3776_RS21975 ) and A3776_RS20895 and A3776_RS20900 and A3776_RS08395 and A3776_RS11390 and A3776_RS03245 and A3776_RS09810 and A3776_RS09805 and A3776_RS09800 and ( A3776_RS03765 or A3776_RS18715 ) and ( A3776_RS03760 or A3776_RS08065 or A3776_RS18720 ) and A3776_RS03770
NDH1_3u_k A3776_RS06230 and A3776_RS16180 and A3776_RS20905 and A3776_RS06215 and A3776_RS06220 and A3776_RS19180 and ( A3776_RS06225 or A3776_RS21975 ) and A3776_RS20895 and A3776_RS20900 and A3776_RS08395 and A3776_RS11390 and A3776_RS03245 and A3776_RS09810 and A3776_RS09805 and A3776_RS09800 and ( A3776_RS08060 or A3776_RS10415 or A3776_RS22280 ) and ( A3776_RS03760 or A3776_RS08065 or A3776_RS18720 ) and A3776_RS18710 and A3776_RS04105
NDH1_2p_p A3776_RS06230 and A3776_RS16180 and A3776_RS20905 and A3776_RS06215 and A3776_RS06220 and A3776_RS19180 and ( A3776_RS06225 or A3776_RS21975 ) and A3776_RS20895 and A3776_RS20900 and A3776_RS08395 and A3776_RS11390 and A3776_RS03245 and A3776_RS09810 and A3776_RS09805 and A3776_RS09800 and ( A3776_RS08060 or A3776_RS10415 or A3776_RS22280 ) and ( A3776_RS03760 or A3776_RS08065 or A3776_RS18720 )
NDH1_2u_k A3776_RS06230 and A3776_RS16180 and A3776_RS20905 and A3776_RS06215 and A3776_RS06220 and A3776_RS19180 and ( A3776_RS06225 or A3776_RS21975 ) and A3776_RS20895 and A3776_RS20900 and A3776_RS08395 and A3776_RS11390 and A3776_RS03245 and A3776_RS09810 and A3776_RS09805 and A3776_RS09800 and ( A3776_RS08060 or A3776_RS10415 or A3776_RS22280 ) and ( A3776_RS03760 or A3776_RS08065 or A3776_RS18720 )
rxn08335_p_p A3776_RS12690
DHORD_PQ9_k A3776_RS12690 or A3776_RS16110
[7]:
import cobra
model = cobra.io.load_json_model('/home/fliu/workspace/data/sbml/iAnC892/iAnC892_single.json')
[64]:
model.reactions.CBFCu_k
[64]:
| Reaction identifier | CBFCu_k |
| Name | cytochrome b6/f complex |
| Memory address | 0x07fcbbf9f9f70 |
| Stoichiometry |
2.0 cpd00067_c + 2.0 cpd12265_k + cpd16503_k --> 4.0 cpd00067_k + cpd07274_k + 2.0 cpd12239_k 2.0 H+ + 2.0 Oxidized plastocyanin + Plastoquinol-9 --> 4.0 H+ + Plastoquinone A + 2.0 Reduced plastocyanin |
| GPR | A3776_RS13955 or A3776_RS22750 |
| Lower bound | 0.0 |
| Upper bound | 1000.0 |
[62]:
seed_build = {
'PSII_k': ('rxn46370', {'0': 'k', '1': 'c'}),
}
modelseed_git.reactions.rxn46370.to_template_reaction({'0': 'k', '1': 'c'})
cpd00007_0 0 cpd00007_k
-1.0
cpd00067_0 0 cpd00067_k
-4.0
cpd16503_0 0 cpd16503_k
-2.0
cpd00001_0 0 cpd00001_k
2.0
cpd00067_1 1 cpd00067_c
4.0
cpd07274_0 0 cpd07274_k
2.0
cpd11632_0 0 cpd11632_k
1.0
[62]:
| Reaction identifier | rxn46370_k |
| Name | nan |
| Memory address | 0x07fcbbc01f790 |
| Stoichiometry |
cpd00007_k + 4.0 cpd00067_k + 2.0 cpd16503_k <=> 2.0 cpd00001_k + 4.0 cpd00067_c + 2.0 cpd07274_k + cpd11632_k O2 + 4.0 H+ + 2.0 Plastoquinol-9 <=> 2.0 H2O + 4.0 H+ + 2.0 Plastoquinone A + hn |
| GPR | |
| Lower bound | -1000 |
| Upper bound | 1000 |
[ ]:
[170]:
#rxn37623: cpd00005_0 + 3.0 cpd00067_0 + cpd07274_0 <=> cpd00006_0 + cpd29046_0
#rxn37623 NADPH + 3.0 H+ + Plastoquinone A <=> NADP + plastoquinol A
#rxn36824 NADPH + H+ + Plastoquinone A <=> NADP + Plastoquinol-9
#rxn36824: cpd00005_0 + cpd00067_0 + cpd07274_0 <=> cpd00006_0 + cpd16503_0
super_c = {
'NDH1_1u_k': ('NDH1_1u_k', {'0': 'c', '1': 'k'}),
'NDH1_1p_p': ('NDH1_1u_k', {'0': 'c', '1': 'p'}),
'NDH1_4pp_p': ('NDH1_3u_k', {'0': 'c', '1': 'p'}),
'NDH1_3u_k': ('NDH1_3u_k', {'0': 'c', '1': 'k'}),
'NDH1_2p_p': ('NDH1_2u_k', {'0': 'c', '1': 'p'}),
'NDH1_2u_k': ('NDH1_2u_k', {'0': 'c', '1': 'k'}),
'rxn08335_p_p': ('DHORD_PQ9_k', {'0': 'c', '1': 'p'}),
'DHORD_PQ9_k': ('DHORD_PQ9_k', {'0': 'c', '1': 'k'}),
'FQR_k': ('FQR_k', {'0': 'c', '1': 'k'}),
'CBFCu_k': ('CBFCu_k', {'0': 'c', '1': 'k'}),
}
# cpd00005_c + 4.0 cpd00067_c + cpd07274_k --> cpd00006_c + 3.0 cpd00067_k + cpd16503_k
#NDH1_1p_p: cpd00005_c + 4.0 cpd00067_c + cpd07274_p --> cpd00006_c + 3.0 cpd00067_p + cpd16503_p
#NDH1_1u_k: cpd00005_c + 4.0 cpd00067_c + cpd07274_k --> cpd00006_c + 3.0 cpd00067_k + cpd16503_k
super_s = {
'NDH1_1u_k': {
('cpd00005', '0'): -1,
('cpd00067', '0'): -4,
('cpd07274', '1'): -1,
('cpd00006', '0'): 1,
('cpd00067', '1'): 3,
('cpd16503', '1'): 1
},
#NDH1_4pp_p: cpd00001_c + cpd00005_c + cpd00011_p + 3.0 cpd00067_c + cpd07274_p --> cpd00006_c + 3.0 cpd00067_p + cpd00242_c + cpd16503_p
#NDH1_3u_k : cpd00001_c + cpd00005_c + cpd00011_p + 3.0 cpd00067_c + cpd07274_k --> cpd00006_c + 3.0 cpd00067_k + cpd00242_c + cpd16503_k
'NDH1_3u_k': {
('cpd00001', '0'): -1,
('cpd00005', '0'): -1,
('cpd00011', '0'): -1,
('cpd00067', '0'): -3,
('cpd07274', '1'): -1,
('cpd00006', '0'): 1,
('cpd00067', '1'): 3,
('cpd00242', '0'): 1,
('cpd16503', '1'): 1
},
#NDH1_2p_p: cpd00004_c + 4.0 cpd00067_c + cpd07274_p --> cpd00003_c + 3.0 cpd00067_p + cpd16503_p
#NDH1_2u_k: cpd00004_c + 4.0 cpd00067_c + cpd07274_k --> cpd00003_c + 3.0 cpd00067_k + cpd16503_k
'NDH1_2u_k': {
('cpd00004', '0'): -1,
('cpd00067', '0'): -4,
('cpd07274', '1'): -1,
('cpd00003', '0'): 1,
('cpd00067', '1'): 3,
('cpd16503', '1'): 1
},
#NDH2_syn_k: cpd00004_c + cpd00067_c + cpd07274_k --> cpd00003_c + cpd16503_k
'NDH2_syn_k': {
('cpd00004', 'c'): -1,
('cpd00067', 'c'): -1,
('cpd07274', 'k'): -1,
('cpd00003', 'c'): 1,
('cpd16503', 'k'): 1
},
#rxn08335_p_p: cpd00282_c + cpd07274_p --> cpd00247_c + cpd16503_p
#DHORD_PQ9_k : cpd00282_c + cpd07274_k --> cpd00247_c + cpd16503_k
'DHORD_PQ9_k': {
('cpd00282', '0'): -1,
('cpd07274', '1'): -1,
('cpd00247', '0'): 1,
('cpd16503', '1'): 1
},
#FQR_k: 2.0 cpd00067_c + cpd07274_k + 2.0 cpd11620_c --> 2.0 cpd11621_c + cpd16503_k
'FQR_k': {
('cpd00067', '0'): -2,
('cpd07274', '1'): -1,
('cpd11620', '0'): -2,
('cpd11621', '0'): 2,
('cpd16503', '1'): 1
},
#CBFCu_k: 2.0 cpd00067_c + 2.0 cpd12265_k + cpd16503_k --> 4.0 cpd00067_k + cpd07274_k + 2.0 cpd12239_k
'CBFCu_k': {
('cpd00067', '0'): -2,
('cpd12265', '1'): -2,
('cpd16503', '1'): -1,
('cpd00067', '1'): 4,
('cpd07274', '1'): 1,
('cpd12239', '1'): 2
},
}
[150]:
# CYTBDu_k -> DB with pq9
[ ]:
[174]:
def test(model_mapped):
for rxn_id in super_c:
if rxn_id in model_mapped.reactions:
stoich_key, compartment_setup = super_c[rxn_id]
rxn_model = model_mapped.reactions.get_by_id(rxn_id)
#print(rxn_id, rxn_model)
#
rxn_s_model = dict(map(lambda x: (x[0].id, x[1]), rxn_model.metabolites.items()))
rxn_s_match = {}
for (cpd_id, cmp_token), v in super_s[stoich_key].items():
_cpd_id = f'{cpd_id}_{compartment_setup[cmp_token]}'
rxn_s_match[_cpd_id] = v
valid = rxn_s_model == rxn_s_match
print(rxn_id, valid)
if not valid:
print(rxn_id, compartment_setup)
print('rxn_s_match', rxn_s_match)
print('rxn_s_model', rxn_s_model)
test(model_mapped)
NDH1_1u_k True
NDH1_1p_p True
NDH1_4pp_p True
NDH1_3u_k True
NDH1_2p_p True
NDH1_2u_k True
rxn08335_p_p True
DHORD_PQ9_k True
FQR_k True
CBFCu_k True
[ ]:
[ ]:
rxn14159: cpd00006_0 + cpd00067_0 + 2.0 cpd11620_0 <=> cpd00005_0 + 2.0 cpd11621_0
rxn14159 NADP + H+ + 2.0 Reducedferredoxin <=> NADPH + 2.0 Oxidizedferredoxin
rxn05937: cpd00006_0 + cpd00067_0 + cpd11620_0 <=> cpd00005_0 + cpd11621_0
rxn05937 NADP + H+ + Reducedferredoxin <=> NADPH + Oxidizedferredoxin
[228]:
def finddd(a, b):
c = set(a) | set(b)
super_match = None
for i in c:
if i in metabolite_reactions:
if super_match is None:
super_match = set(metabolite_reactions[i])
super_match &= set(metabolite_reactions[i])
return super_match
#finddd(['cpd00003'], ['cpd00004'])
#cpd00001_k + 2.0 cpd00067_c + cpd07274_k + 2.0 hvphoton2_c --> 0.5 cpd00007_k + 2.0 cpd00067_k + cpd16503_k
#2 cpd00001_k + 4.0 cpd00067_c + 2 cpd07274_k + 4.0 hvphoton2_c --> 1 cpd00007_k + 4.0 cpd00067_k + 2 cpd16503_k
for r in finddd(['cpd00006', 'cpd11620'], ['cpd00005', 'cpd11621']):
rxn = modelseed_git.reactions.get_by_id(r)
print(rxn, rxn.compartments)
print(rxn.id, rxn.build_reaction_string(True))
print()
break
rxn34892: 4.0 cpd00005_0 + cpd00007_0 + cpd11621_0 + cpd30237_0 <=> 2.0 cpd00001_0 + 4.0 cpd00006_0 + cpd11620_0 + cpd30238_0 {'0'}
rxn34892 4.0 NADPH + O2 + Oxidizedferredoxin + Digalactosyldiacylglycerol (1-(9Z)-octadecenoyl,2-(7Z,10Z)-hexadecadienoyl, 18:1(9Z)/16:2(7Z,10Z)) <=> 2.0 H2O + 4.0 NADP + Reducedferredoxin + Digalactosyldiacylglycerol (1-(9Z)-octadecenoyl,2-(4Z,7Z,10Z)-hexadecatrienoyl, 18:1(9Z)/16:3(4Z,7Z,10Z))
[ ]:
#2 cpd00001_0 + 4.0 cpd00067_1 + 2 cpd07274_0 + cpd11632_0 --> 1 cpd00007_0 + 4.0 cpd00067_0 + 2 cpd16503_0
#2 cpd00001_k + 4.0 cpd00067_c + 2 cpd07274_k + 4.0 hvphoton2_c --> 1 cpd00007_k + 4.0 cpd00067_k + 2 cpd16503_k
[48]:
modelseed_git.reactions.rxn05937
[48]:
| Reaction identifier | rxn05937 |
| Name | Ferredoxin:NADP+ oxidoreductase |
| Memory address | 0x07fcbbd112c70 |
| Stoichiometry |
cpd00006_0 + cpd00067_0 + cpd11620_0 <=> cpd00005_0 + cpd11621_0 NADP + H+ + Reducedferredoxin <=> NADPH + Oxidizedferredoxin |
| GPR | |
| Lower bound | -1000 |
| Upper bound | 1000 |
[283]:
model_full.reactions.EX_cpd00027[e]
[283]:
| Reaction identifier | ATP_syn_l__hc |
| Name | ATP synthetase(u) |
| Memory address | 0x07fcb9a4b07f0 |
| Stoichiometry |
3.0 cpd00008[hc] + 3.0 cpd00009[hc] + 14.0 cpd00067[hl] --> 3.0 cpd00001[hc] + 3.0 cpd00002[hc] + 11.0 cpd00067[hc] 3.0 ADP + 3.0 Phosphate + 14.0 H+ --> 3.0 H2O + 3.0 ATP + 11.0 H+ |
| GPR | ( A3776_RS10860 or A3776_RS13440 ) and ( A3776_RS10820 or A3776_RS10980 ) and ( A3776_RS10975 or... |
| Lower bound | 0.0 |
| Upper bound | 1000.0 |
[759]:
model_full_mapped = cobra.io.load_json_model('/home/fliu/workspace/data/sbml/iAnC892/iAnC892_mapped.json')
from cobra.core import Reaction
ex_hn = Reaction('EX_cpd11632_e0', 'Exchange for photon', '', -1000, 1000)
ex_hn.add_metabolites({
model_full_mapped.metabolites.cpd11632_e0: -1
})
model_full_mapped.add_reactions([ex_hn])
model_full_mapped
[759]:
| Name | M_iAnC892 |
| Memory address | 0x07fcb9861eee0 |
| Number of metabolites | 1811 |
| Number of reactions | 1848 |
| Number of groups | 0 |
| Objective expression | 1.0*biomass_eq_33047_c0 - 1.0*biomass_eq_33047_c0_reverse_4b9c5 |
| Compartments | Vegetative cytoplasm, Vegetative lumen, Vegetative periplasm, Extracellular space, Vegetative carboxysome, Heterocyst cytoplasm, Heterocyst lumen, Heterocyst periplasm, Pseudo compartment |
[ ]:
[769]:
for m in model_full.metabolites:
if m.compartment == 'vp':
print(m, m.name)
for r in m.reactions:
print('\t', r)
print()
print()
cpd00001[vp] H2O
CYO1b2pp_syn__vc: 0.5 cpd00007[vp] + 4.0 cpd00067[vc] + 2.0 cpd12239[vp] --> cpd00001[vp] + 2.0 cpd00067[vp] + 2.0 cpd12265[vp]
CYTBDpp__vc: 0.5 cpd00007[vp] + cpd16503[vp] --> cpd00001[vp] + cpd07274[vp]
rxn08687__vc: cpd00001[vp] <=> cpd00001[vc]
CYO1bpp_syn__vc: 0.5 cpd00007[vp] + 4.0 cpd00067[vc] + 2.0 focytc_6[vp] --> cpd00001[vp] + 2.0 cpd00067[vp] + 2.0 ficytc_6[vp]
rxn08686__vc: cpd00001[e] <=> cpd00001[vp]
cpd00007[vp] O2
CYO1b2pp_syn__vc: 0.5 cpd00007[vp] + 4.0 cpd00067[vc] + 2.0 cpd12239[vp] --> cpd00001[vp] + 2.0 cpd00067[vp] + 2.0 cpd12265[vp]
CYTBDpp__vc: 0.5 cpd00007[vp] + cpd16503[vp] --> cpd00001[vp] + cpd07274[vp]
rxn09031__vc: cpd00007[e] <=> cpd00007[vp]
CYO1bpp_syn__vc: 0.5 cpd00007[vp] + 4.0 cpd00067[vc] + 2.0 focytc_6[vp] --> cpd00001[vp] + 2.0 cpd00067[vp] + 2.0 ficytc_6[vp]
O2tpp__vc: cpd00007[vp] <=> cpd00007[vc]
cpd00067[vp] H+
CBFC2pp__vc: 2.0 cpd00067[vc] + cpd16503[vp] + 2.0 ficytc_6[vp] --> 4.0 cpd00067[vp] + cpd07274[vp] + 2.0 focytc_6[vp]
CBFCpp__vc: 2.0 cpd00067[vc] + 2.0 cpd12265[vp] + cpd16503[vp] --> 4.0 cpd00067[vp] + cpd07274[vp] + 2.0 cpd12239[vp]
rxn05312__vc: cpd00009[vp] + cpd00067[vp] <=> cpd00009[vc] + cpd00067[vc]
rxn05602__vc: cpd00067[vp] + cpd00159[vp] <=> cpd00067[vc] + cpd00159[vc]
H+tex__vc: cpd00067[e] <=> cpd00067[vp]
NDH1_2p__vc: cpd00004[vc] + 4.0 cpd00067[vc] + cpd07274[vp] --> cpd00003[vc] + 3.0 cpd00067[vp] + cpd16503[vp]
rxn05209__vc: cpd00067[vc] + cpd00971[vp] <=> cpd00067[vp] + cpd00971[vc]
CYO1b2pp_syn__vc: 0.5 cpd00007[vp] + 4.0 cpd00067[vc] + 2.0 cpd12239[vp] --> cpd00001[vp] + 2.0 cpd00067[vp] + 2.0 cpd12265[vp]
NDH1_4pp__vc: cpd00001[vc] + cpd00005[vc] + cpd00011[vp] + 3.0 cpd00067[vc] + cpd07274[vp] --> cpd00006[vc] + 3.0 cpd00067[vp] + cpd00242[vc] + cpd16503[vp]
NDH1_1p__vc: cpd00005[vc] + 4.0 cpd00067[vc] + cpd07274[vp] --> cpd00006[vc] + 3.0 cpd00067[vp] + cpd16503[vp]
THD2__vc: cpd00004[vc] + cpd00006[vc] + 2.0 cpd00067[vp] --> cpd00003[vc] + cpd00005[vc] + 2.0 cpd00067[vc]
CYO1bpp_syn__vc: 0.5 cpd00007[vp] + 4.0 cpd00067[vc] + 2.0 focytc_6[vp] --> cpd00001[vp] + 2.0 cpd00067[vp] + 2.0 ficytc_6[vp]
ATP_syn_p__vc: 3.0 cpd00008[vc] + 3.0 cpd00009[vc] + 14.0 cpd00067[vp] --> 3.0 cpd00001[vc] + 3.0 cpd00002[vc] + 11.0 cpd00067[vc]
cpd07274[vp] Plastoquinone A
CBFC2pp__vc: 2.0 cpd00067[vc] + cpd16503[vp] + 2.0 ficytc_6[vp] --> 4.0 cpd00067[vp] + cpd07274[vp] + 2.0 focytc_6[vp]
CBFCpp__vc: 2.0 cpd00067[vc] + 2.0 cpd12265[vp] + cpd16503[vp] --> 4.0 cpd00067[vp] + cpd07274[vp] + 2.0 cpd12239[vp]
CYTBDpp__vc: 0.5 cpd00007[vp] + cpd16503[vp] --> cpd00001[vp] + cpd07274[vp]
NDH1_2p__vc: cpd00004[vc] + 4.0 cpd00067[vc] + cpd07274[vp] --> cpd00003[vc] + 3.0 cpd00067[vp] + cpd16503[vp]
rxn09272_p__vc: cpd00036[vc] + cpd07274[vp] --> cpd00106[vc] + cpd16503[vp]
NDH1_4pp__vc: cpd00001[vc] + cpd00005[vc] + cpd00011[vp] + 3.0 cpd00067[vc] + cpd07274[vp] --> cpd00006[vc] + 3.0 cpd00067[vp] + cpd00242[vc] + cpd16503[vp]
rxn08335_p__vc: cpd00282[vc] + cpd07274[vp] --> cpd00247[vc] + cpd16503[vp]
NDH1_1p__vc: cpd00005[vc] + 4.0 cpd00067[vc] + cpd07274[vp] --> cpd00006[vc] + 3.0 cpd00067[vp] + cpd16503[vp]
cpd12239[vp] Reduced plastocyanin
CYO1b2pp_syn__vc: 0.5 cpd00007[vp] + 4.0 cpd00067[vc] + 2.0 cpd12239[vp] --> cpd00001[vp] + 2.0 cpd00067[vp] + 2.0 cpd12265[vp]
CBFCpp__vc: 2.0 cpd00067[vc] + 2.0 cpd12265[vp] + cpd16503[vp] --> 4.0 cpd00067[vp] + cpd07274[vp] + 2.0 cpd12239[vp]
cpd12265[vp] Oxidized plastocyanin
CYO1b2pp_syn__vc: 0.5 cpd00007[vp] + 4.0 cpd00067[vc] + 2.0 cpd12239[vp] --> cpd00001[vp] + 2.0 cpd00067[vp] + 2.0 cpd12265[vp]
CBFCpp__vc: 2.0 cpd00067[vc] + 2.0 cpd12265[vp] + cpd16503[vp] --> 4.0 cpd00067[vp] + cpd07274[vp] + 2.0 cpd12239[vp]
cpd16503[vp] Plastoquinol-9
CBFC2pp__vc: 2.0 cpd00067[vc] + cpd16503[vp] + 2.0 ficytc_6[vp] --> 4.0 cpd00067[vp] + cpd07274[vp] + 2.0 focytc_6[vp]
CBFCpp__vc: 2.0 cpd00067[vc] + 2.0 cpd12265[vp] + cpd16503[vp] --> 4.0 cpd00067[vp] + cpd07274[vp] + 2.0 cpd12239[vp]
CYTBDpp__vc: 0.5 cpd00007[vp] + cpd16503[vp] --> cpd00001[vp] + cpd07274[vp]
NDH1_2p__vc: cpd00004[vc] + 4.0 cpd00067[vc] + cpd07274[vp] --> cpd00003[vc] + 3.0 cpd00067[vp] + cpd16503[vp]
rxn09272_p__vc: cpd00036[vc] + cpd07274[vp] --> cpd00106[vc] + cpd16503[vp]
NDH1_4pp__vc: cpd00001[vc] + cpd00005[vc] + cpd00011[vp] + 3.0 cpd00067[vc] + cpd07274[vp] --> cpd00006[vc] + 3.0 cpd00067[vp] + cpd00242[vc] + cpd16503[vp]
rxn08335_p__vc: cpd00282[vc] + cpd07274[vp] --> cpd00247[vc] + cpd16503[vp]
NDH1_1p__vc: cpd00005[vc] + 4.0 cpd00067[vc] + cpd07274[vp] --> cpd00006[vc] + 3.0 cpd00067[vp] + cpd16503[vp]
ficytc_6[vp] Ferricytochrome c6
CBFC2pp__vc: 2.0 cpd00067[vc] + cpd16503[vp] + 2.0 ficytc_6[vp] --> 4.0 cpd00067[vp] + cpd07274[vp] + 2.0 focytc_6[vp]
CYO1bpp_syn__vc: 0.5 cpd00007[vp] + 4.0 cpd00067[vc] + 2.0 focytc_6[vp] --> cpd00001[vp] + 2.0 cpd00067[vp] + 2.0 ficytc_6[vp]
focytc_6[vp] Ferrocytochrome c6
CBFC2pp__vc: 2.0 cpd00067[vc] + cpd16503[vp] + 2.0 ficytc_6[vp] --> 4.0 cpd00067[vp] + cpd07274[vp] + 2.0 focytc_6[vp]
CYO1bpp_syn__vc: 0.5 cpd00007[vp] + 4.0 cpd00067[vc] + 2.0 focytc_6[vp] --> cpd00001[vp] + 2.0 cpd00067[vp] + 2.0 ficytc_6[vp]
hvphoton2[vp] Photosystem 2 photon
PHOtpp2__vc: hvphoton2[vp] <=> hvphoton2[vc]
PHOtex2__vc: hvphoton2[e] <=> hvphoton2[vp]
hvphoton1[vp] Photosystem 1 photon
PHOtpp1__vc: hvphoton1[vp] <=> hvphoton1[vc]
PHOtex1__vc: hvphoton1[e] <=> hvphoton1[vp]
cpd00011[vp] CO2
NDH1_3u__vc: cpd00001[vc] + cpd00005[vc] + cpd00011[vp] + 3.0 cpd00067[vc] + cpd07274[vl] --> cpd00006[vc] + 3.0 cpd00067[vl] + cpd00242[vc] + cpd16503[vl]
NDH1_4pp__vc: cpd00001[vc] + cpd00005[vc] + cpd00011[vp] + 3.0 cpd00067[vc] + cpd07274[vp] --> cpd00006[vc] + 3.0 cpd00067[vp] + cpd00242[vc] + cpd16503[vp]
cpd00011excpp__vc: cpd00011[vp] <=> cpd00011[e]
cpd00011exccc__vc: cpd00011[vc] <=> cpd00011[vp]
cpd00009[vp] Phosphate
cpd00009excpp__vc: cpd00009[vp] <=> cpd00009[e]
rxn05312__vc: cpd00009[vp] + cpd00067[vp] <=> cpd00009[vc] + cpd00067[vc]
rxn05145__vc: cpd00001[vc] + cpd00002[vc] + cpd00009[vp] --> cpd00008[vc] + 2.0 cpd00009[vc] + cpd00067[vc]
cpd00048[vp] Sulfate
cpd00048excpp__vc: cpd00048[vp] <=> cpd00048[e]
rxn05153__vc: cpd00001[vc] + cpd00002[vc] + cpd00048[vp] --> cpd00008[vc] + cpd00009[vc] + cpd00048[vc] + cpd00067[vc]
cpd00209[vp] Nitrate
cpd00209excpp__vc: cpd00209[vp] <=> cpd00209[e]
NO3abcpp__vc: cpd00001[vc] + cpd00002[vc] + cpd00209[vp] --> cpd00008[vc] + cpd00009[vc] + cpd00067[vc] + cpd00209[vc]
cpd00254[vp] Mg
rxn05616__vc: cpd00254[vc] <=> cpd00254[vp]
cpd00254excpp__vc: cpd00254[vp] <=> cpd00254[e]
cpd10515[vp] Fe+2
Fe+2abc__vc: cpd00001[vc] + cpd00002[vc] + cpd10515[vp] --> cpd00008[vc] + cpd00009[vc] + cpd00067[vc] + cpd10515[vc]
cpd10515excpp__vc: cpd10515[vp] <=> cpd10515[e]
cpd00149[vp] Co2+
cpd00149excpp__vc: cpd00149[vp] <=> cpd00149[e]
rxn10474__vc: cpd00149[vc] <=> cpd00149[vp]
cpd00034[vp] Zn2+
cpd00034excpp__vc: cpd00034[vp] <=> cpd00034[e]
Znabc__vc: cpd00001[vc] + cpd00002[vc] + cpd00034[vp] --> cpd00008[vc] + cpd00009[vc] + cpd00034[vc] + cpd00067[vc]
cpd00058[vp] Cu2+
rxn05528__vc: cpd00001[vc] + cpd00002[vc] + cpd00058[vc] --> cpd00008[vc] + cpd00009[vc] + cpd00058[vp] + cpd00067[vc]
cpd00058excpp__vc: cpd00058[vp] <=> cpd00058[e]
rxn10481__vc: cpd00001[vc] + cpd00002[vc] + cpd00058[vp] --> cpd00008[vc] + cpd00009[vc] + cpd00058[vc] + cpd00067[vc]
cpd20863[vp] Mn2+
cpd20863excpp__vc: cpd20863[vp] <=> cpd20863[e]
Mn+2abc__vc: cpd00001[vc] + cpd00002[vc] + cpd20863[vp] --> cpd00008[vc] + cpd00009[vc] + cpd00067[vc] + cpd20863[vc]
cpd00063[vp] Ca2+
rxn05513__vc: cpd00001[vc] + cpd00002[vc] + cpd00063[vp] --> cpd00008[vc] + cpd00009[vc] + cpd00063[vc] + cpd00067[vc]
cpd00063excpp__vc: cpd00063[vp] <=> cpd00063[e]
cpd00205[vp] K+
cpd00205excpp__vc: cpd00205[vp] <=> cpd00205[e]
Kabc__vc: cpd00001[vc] + cpd00002[vc] + cpd00205[vp] --> cpd00008[vc] + cpd00009[vc] + cpd00067[vc] + cpd00205[vc]
rxn05206__vc: cpd00205[vp] <=> cpd00205[vc]
cpd00971[vp] Na+
H2CO3_NAt_syn__vc: cpd00242[vp] + cpd00971[vp] --> cpd00242[vc] + cpd00971[vc]
rxn05209__vc: cpd00067[vc] + cpd00971[vp] <=> cpd00067[vp] + cpd00971[vc]
cpd00971excpp__vc: cpd00971[vp] <=> cpd00971[e]
cpd11574[vp] Molybdate
cpd11574excpp__vc: cpd11574[vp] <=> cpd11574[e]
rxn05619__vc: cpd00001[vc] + cpd00002[vc] + cpd11574[vp] --> cpd00008[vc] + cpd00009[vc] + cpd00067[vc] + cpd11574[vc]
cpd00027[vp] D-Glucose
cpd00027excpp__vc: cpd00027[vp] <=> cpd00027[e]
rxn05147__vc: cpd00001[vc] + cpd00002[vc] + cpd00027[vp] --> cpd00008[vc] + cpd00009[vc] + cpd00027[vc] + cpd00067[vc]
cpd00053[vp] L-Glutamine
rxn05155__vc: cpd00001[vc] + cpd00002[vc] + cpd00053[vp] --> cpd00008[vc] + cpd00009[vc] + cpd00053[vc] + cpd00067[vc]
cpd00053excpp__vc: cpd00053[vp] <=> cpd00053[e]
cpd00107[vp] L-Leucine
cpd00107excpp__vc: cpd00107[vp] <=> cpd00107[e]
rxn05161__vc: cpd00001[vc] + cpd00002[vc] + cpd00107[vp] --> cpd00008[vc] + cpd00009[vc] + cpd00067[vc] + cpd00107[vc]
cpd00118[vp] Putrescine
rxn05163__vc: cpd00001[vc] + cpd00002[vc] + cpd00118[vp] --> cpd00008[vc] + cpd00009[vc] + cpd00067[vc] + cpd00118[vc]
cpd00118excpp__vc: cpd00118[vp] <=> cpd00118[e]
cpd00129[vp] L-Proline
rxn05165__vc: cpd00001[vc] + cpd00002[vc] + cpd00129[vp] --> cpd00008[vc] + cpd00009[vc] + cpd00067[vc] + cpd00129[vc]
cpd00129excpp__vc: cpd00129[vp] <=> cpd00129[e]
cpd00156[vp] L-Valine
rxn05168__vc: cpd00001[vc] + cpd00002[vc] + cpd00156[vp] --> cpd00008[vc] + cpd00009[vc] + cpd00067[vc] + cpd00156[vc]
cpd00156excpp__vc: cpd00156[vp] <=> cpd00156[e]
cpd00179[vp] Maltose
cpd00179excpp__vc: cpd00179[vp] <=> cpd00179[e]
rxn05170__vc: cpd00001[vc] + cpd00002[vc] + cpd00179[vp] --> cpd00008[vc] + cpd00009[vc] + cpd00067[vc] + cpd00179[vc]
cpd00264[vp] Spermidine
cpd00264excpp__vc: cpd00264[vp] <=> cpd00264[e]
rxn05175__vc: cpd00001[vc] + cpd00002[vc] + cpd00264[vp] --> cpd00008[vc] + cpd00009[vc] + cpd00067[vc] + cpd00264[vc]
cpd00268[vp] H2S2O3
cpd00268excpp__vc: cpd00268[vp] <=> cpd00268[e]
rxn05176__vc: cpd00001[vc] + cpd00002[vc] + cpd00268[vp] --> cpd00008[vc] + cpd00009[vc] + cpd00067[vc] + cpd00268[vc]
cpd00322[vp] L-Isoleucine
cpd00322excpp__vc: cpd00322[vp] <=> cpd00322[e]
rxn05179__vc: cpd00001[vc] + cpd00002[vc] + cpd00322[vp] --> cpd00008[vc] + cpd00009[vc] + cpd00067[vc] + cpd00322[vc]
cpd03725[vp] Fe(III)dicitrate
rxn05189__vc: cpd00001[vc] + cpd00002[vc] + cpd03725[vp] --> cpd00008[vc] + cpd00009[vc] + cpd00067[vc] + cpd03725[vc]
cpd03725excpp__vc: cpd03725[vp] <=> cpd03725[e]
cpd00060[vp] L-Methionine
rxn05219__vc: cpd00001[vc] + cpd00002[vc] + cpd00060[vp] --> cpd00008[vc] + cpd00009[vc] + cpd00060[vc] + cpd00067[vc]
cpd00060excpp__vc: cpd00060[vp] <=> cpd00060[e]
cpd00104[vp] BIOT
rxn05223__vc: cpd00001[vc] + cpd00002[vc] + cpd00104[vp] --> cpd00008[vc] + cpd00009[vc] + cpd00067[vc] + cpd00104[vc]
cpd00104excpp__vc: cpd00104[vp] <=> cpd00104[e]
cpd01012[vp] Cd2+
rxn05516__vc: cpd00001[vc] + cpd00002[vc] + cpd01012[vc] --> cpd00008[vc] + cpd00009[vc] + cpd00067[vc] + cpd01012[vp]
cpd01012excpp__vc: cpd01012[vp] <=> cpd01012[e]
cpd11593[vp] ala-L-asp-L
cpd11593excpp__vc: cpd11593[vp] <=> cpd11593[e]
rxn05533__vc: cpd00001[vc] + cpd00002[vc] + cpd11593[vp] --> cpd00008[vc] + cpd00009[vc] + cpd00067[vc] + cpd11593[vc]
cpd00159[vp] L-Lactate
cpd00159excpp__vc: cpd00159[vp] <=> cpd00159[e]
rxn05602__vc: cpd00067[vp] + cpd00159[vp] <=> cpd00067[vc] + cpd00159[vc]
cpd01262[vp] Amylotriose
cpd01262excpp__vc: cpd01262[vp] <=> cpd01262[e]
rxn05608__vc: cpd00001[vc] + cpd00002[vc] + cpd01262[vp] --> cpd00008[vc] + cpd00009[vc] + cpd00067[vc] + cpd01262[vc]
cpd01329[vp] Maltohexaose
rxn10174__vc: cpd00001[vc] + cpd00002[vc] + cpd01329[vp] --> cpd00008[vc] + cpd00009[vc] + cpd00067[vc] + cpd01329[vc]
cpd01329excpp__vc: cpd01329[vp] <=> cpd01329[e]
cpd00099[vp] Cl-
rxn10473__vc: cpd00099[vp] <=> cpd00099[vc]
cpd00242[vp] H2CO3
H2CO3_abc__vc: cpd00001[vc] + cpd00002[vc] + cpd00242[vp] --> cpd00008[vc] + cpd00009[vc] + cpd00067[vc] + cpd00242[vc]
H2CO3_NAt_syn__vc: cpd00242[vp] + cpd00971[vp] --> cpd00242[vc] + cpd00971[vc]
cpd00242excpp__vc: cpd00242[vp] <=> cpd00242[e]
cpd00013[vp] cpd00013[p]
cpd00013excpp__vc: cpd00013[vp] --> cpd00013[e]
cpd00013exccc__vc: cpd00013[vc] <=> cpd00013[vp]
cpd11640[vp] H2
cpd11640excpp_vc: cpd11640[vp] <=> cpd11640[e]
cpd11640exccc_vc: cpd11640[vc] <=> cpd11640[vp]
[ ]:
[ ]:
[633]:
#model_full_mapped.summary()
#0.18240098144906972
#cpd00242_e0 EX_cpd00242[e] 8.486
#hvphoton1_e0 EX_PHO1 61.35
#hvphoton2_e0 EX_PHO2 51.03
sol = cobra.flux_analysis.pfba(model_full_mapped)
[629]:
sol.fluxes.to_csv('/home/fliu/workspace/data/sbml/iAnC892/solution_wt.csv')
[733]:
model_full_json = None
with open('/home/fliu/workspace/data/sbml/iAnC892/iAnC892.json', 'r') as fh:
model_full_json = json.load(fh)
[734]:
%run /home/fliu/workspace/data/sbml/iAnC892/tools.py
[735]:
model_full_json_copy = copy.deepcopy(model_full_json)
[736]:
MyIntegrator.rename_compound('hvphoton1[vp]', 'cpd11632[e]', model_full_json_copy)
MyIntegrator.rename_compound('hvphoton1[hp]', 'cpd11632[e]', model_full_json_copy)
MyIntegrator.rename_compound('hvphoton2[vp]', 'cpd11632[e]', model_full_json_copy)
MyIntegrator.rename_compound('hvphoton1[vc]', 'cpd11632[vc]', model_full_json_copy)
MyIntegrator.rename_compound('hvphoton1[hc]', 'cpd11632[hc]', model_full_json_copy)
MyIntegrator.rename_compound('hvphoton2[vc]', 'cpd11632[vc]', model_full_json_copy)
MyIntegrator.delete_reaction('PHOtex1__vc', model_full_json_copy)
MyIntegrator.delete_reaction('PHOtex1__hc', model_full_json_copy)
MyIntegrator.delete_reaction('PHOtex2__vc', model_full_json_copy)
MyIntegrator.delete_reaction('EX_PHO2', model_full_json_copy)
MyIntegrator.delete_reaction('EX_PHO1', model_full_json_copy)
MyIntegrator.rename_compound('cpd00011[hp]', 'cpd00011[e]', model_full_json_copy)
MyIntegrator.rename_compound('cpd00011[vp]', 'cpd00011[e]', model_full_json_copy)
MyIntegrator.delete_reaction('cpd00011excpp__vc', model_full_json_copy)
MyIntegrator.delete_reaction('cpd00011excpp__hc', model_full_json_copy)
MyIntegrator.delete_reaction('EX_cpd00011[e]', model_full_json_copy)
[771]:
remove_periplasm_rename = {
'cpd07274[hp]': 'cpd07274[hc]',
'cpd16503[hp]': 'cpd16503[hc]',
'ficytc_6[hp]': 'ficytc_6[hc]',
'focytc_6[hp]': 'focytc_6[hc]',
'cpd12239[hp]': 'cpd12239[hc]',
'cpd12265[hp]': 'cpd12265[hc]',
'cpd07274[vp]': 'cpd07274[vc]',
'cpd16503[vp]': 'cpd16503[vc]',
'cpd12239[vp]': 'cpd12239[vc]',
'cpd12265[vp]': 'cpd12265[vc]',
'ficytc_6[vp]': 'ficytc_6[vc]',
'focytc_6[vp]': 'focytc_6[vc]'
}
for i in remove_periplasm_rename:
MyIntegrator.rename_compound(i, remove_periplasm_rename[i], model_full_json_copy)
[ ]:
[737]:
dups = MyIntegrator.dups(model_full_json_copy)
print(dups.keys())
deleted = MyIntegrator.filter_dups(model_full_json_copy)
print(len(deleted))
dups = MyIntegrator.dups(model_full_json_copy)
print(dups.keys())
dict_keys(['cpd11632[vc]', 'cpd11632[e]'])
3
dict_keys([])
[738]:
integrate = MyIntegrator(model_full_json_copy)
[739]:
model_full_json_mapped = integrate.integrate_full_model_to_seed()
EX_PHO2
EX_PHO1
suc_vc_hc_exch
glu_vc_hc_exch
akg_vc_hc_exch
gln_vc_hc_exch
cpd11640exccc_hc
cpd11640excpp_hc
cpd11640exccc_vc
cpd11640excpp_vc
[ ]:
[ ]:
[ ]:
[709]:
list(filter(lambda x: x[1] == 'hvphoton1_e0', integrate.compound_rename.items()))
[709]:
[('hvphoton1[e]', 'hvphoton1_e0')]
[740]:
from modelseedpy.core.msmodel import get_cmp_token
ids = set()
for rxn_from in integrate.reaction_rename:
rxn_to = integrate.reaction_rename[rxn_from]
if rxn_to in ids:
print('!')
ids.add(rxn_to)
integrate.data_reactions[rxn_from]['id'] = rxn_to
[ ]:
[744]:
import math
data_metabolites = dict(map(lambda x: (x['id'], x), model_full_json_mapped['metabolites']))
for r in model_full_json_mapped['reactions']:
#print(r['id'])
metabolites = list(map(lambda x: data_metabolites[x], r['metabolites']))
indexes = set(map(lambda x: x['index'], metabolites))
cmps = set(map(lambda x: x['compartment'][:-1], metabolites))
rxn_cmp = get_cmp_token(cmps)
if cmps == {'e', 'p'}:
rxn_cmp = 'p'
if cmps == {'c', 'k', 'p'}:
rxn_cmp = 'k'
if rxn_cmp is None:
print(r['id'], cmps, rxn_cmp)
elif len(indexes) == 1:
suffix = rxn_cmp + list(indexes)[0]
if not r['id'].endswith(suffix):
#print(r['id'], suffix)
pass
flux = sol.fluxes[r['id']]
if len(indexes) > 1 and math.fabs(flux) > 0:
print(r['id'], cmps, indexes, flux)
PHOtpp1_c1 {'c', 'e'} {'1', '0'} 16.433701168825166
H+tex_c1 {'e', 'p'} {'0', '1'} 1.8604672397566566
rxn08686_c1 {'e', 'p'} {'0', '1'} -0.6301653188076215
rxn09031_c1 {'e', 'p'} {'0', '1'} 0.007060133469360138
cpd00011excpp_c1 {'e', 'p'} {'0', '1'} 0.9082375363436314
cpd00528excpp_c1 {'e', 'p'} {'1', '0'} -0.6772462674375839
cpd00009excpp_c1 {'e', 'p'} {'0', '1'} -0.007102530301648417
cpd00048excpp_c1 {'e', 'p'} {'0', '1'} -0.006401000613388471
cpd00254excpp_c1 {'e', 'p'} {'0', '1'} -0.0005122802570501466
cpd10515excpp_c1 {'e', 'p'} {'1', '0'} -0.0002548326163591996
cpd00149excpp_c1 {'e', 'p'} {'0', '1'} -5.7935855860126646e-05
cpd00034excpp_c1 {'e', 'p'} {'0', '1'} -5.395734017578539e-05
cpd00058excpp_c1 {'e', 'p'} {'0', '1'} -5.395734017578539e-05
cpd20863excpp_c1 {'e', 'p'} {'0', '1'} -5.395734017578539e-05
cpd00063excpp_c1 {'e', 'p'} {'0', '1'} -8.084697174853654e-05
cpd00205excpp_c1 {'e', 'p'} {'0', '1'} -0.0030344325960243667
cpd00971excpp_c1 {'e', 'p'} {'0', '1'} -6.749119447730253e-05
cpd11574excpp_c1 {'e', 'p'} {'0', '1'} -5.395734017578539e-05
suc_vc_hc_exch {'c'} {'1', '0'} -0.21715810373903982
glu_vc_hc_exch {'c', 'z'} {'1', '0'} -1.2313574522131312
akg_vc_hc_exch {'c'} {'1', '0'} 0.18524178733858515
gln_vc_hc_exch {'c', 'z'} {'1', '0'} 1.2313574522131312
[ ]:
[745]:
list(filter(lambda x: x[1] == 'EX_cpd0000_e0', integrate.reaction_rename.items()))
[745]:
[]
[746]:
for k in integrate.reaction_rename:
print(k, integrate.reaction_rename[k])
break
ATP_syn_l__vc ATP_syn_l_c0
[760]:
model_full_mapped.reactions.cpd00011excpp_c1
[760]:
| Reaction identifier | cpd00011excpp_c1 |
| Name | cpd00011excpp |
| Memory address | 0x07fcb94191fd0 |
| Stoichiometry |
cpd00011_p1 <=> cpd00011_e0 CO2 <=> CO2 |
| GPR | |
| Lower bound | -1000.0 |
| Upper bound | 1000.0 |
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[747]:
with open('/home/fliu/workspace/data/sbml/iAnC892/iAnC892_mapped.json', 'w') as fh:
fh.write(json.dumps(model_full_json_mapped))
[343]:
model_full = cobra.io.load_json_model('/home/fliu/workspace/data/sbml/iAnC892/iAnC892.json')
[324]:
model_full.medium = {
'EX_PHO2': 0, #Photosystem 2 photon
'EX_PHO1': 100, #Photosystem 1 photon
'EX_cpd00067[e]': 1000, #H+
'EX_cpd00001[e]': 1000, #H2O
'EX_cpd00007[e]': 1000, #O2
'EX_cpd00009[e]': 1000, #Phosphate
'EX_cpd00048[e]': 1000, #Sulfate
'EX_cpd00209[e]': 1000, #Nitrate
'EX_cpd00254[e]': 1000, #Mg
'EX_cpd10515[e]': 1000, #Fe+2
'EX_cpd00149[e]': 1000, #Co2+
'EX_cpd00034[e]': 1000, #Zn2+
'EX_cpd00058[e]': 1000, #Cu2+
'EX_cpd20863[e]': 1000, #Mn2+
'EX_cpd00063[e]': 1000, #Ca2+
'EX_cpd00205[e]': 1000, #K+
'EX_cpd00971[e]': 1000, #Na+
'EX_cpd11574[e]': 1000, #Molybdate
'EX_cpd00011[e]': 1000, #CO2
'EX_cpd00528[e]': 0, #N2
'EX_cpd00027[e]': 1000, #D-Glucose
'EX_cpd00053[e]': 1000, #L-Glutamine
'EX_cpd00107[e]': 1000, #L-Leucine
'EX_cpd00118[e]': 1000, #Putrescine
'EX_cpd00129[e]': 1000, #L-Proline
'EX_cpd00156[e]': 1000, #L-Valine
'EX_cpd00179[e]': 1000, #Maltose
'EX_cpd00264[e]': 1000, #Spermidine
'EX_cpd00268[e]': 1000, #H2S2O3
'EX_cpd00322[e]': 1000, #L-Isoleucine
'EX_cpd03725[e]': 1000, #Fe(III)dicitrate
'EX_cpd00060[e]': 1000, #L-Methionine
'EX_cpd00104[e]': 1000, #BIOT
'EX_cpd01012[e]': 1000, #Cd2+
'EX_cpd11593[e]': 1000, #ala-L-asp-L
'EX_cpd00159[e]': 1000, #L-Lactate
'EX_cpd01262[e]': 1000, #Amylotriose
'EX_cpd01329[e]': 1000, #Maltohexaose
'EX_cpd00242[e]': 1000, #H2CO3
'EX_cpd00013[e]': 1000, #cpd00013[e]
'EX_cpd11640[e]': 1000, #H2
}
model_full.summary()
[324]:
Objective
1.0 biomass_eq_33047__vc = 19.82460353465784
Uptake
| Metabolite | Reaction | Flux | C-Number | C-Flux |
|---|---|---|---|---|
| hvphoton1[e] | EX_PHO1 | 100 | 0 | 0.00% |
| cpd00007[e] | EX_cpd00007[e] | 325 | 0 | 0.00% |
| cpd00009[e] | EX_cpd00009[e] | 7.601 | 0 | 0.00% |
| cpd00013[e] | EX_cpd00013[e] | 74.52 | 0 | 0.00% |
| cpd00027[e] | EX_cpd00027[e] | 164.6 | 6 | 81.61% |
| cpd00034[e] | EX_cpd00034[e] | 0.0587 | 0 | 0.00% |
| cpd00048[e] | EX_cpd00048[e] | 1.315 | 0 | 0.00% |
| cpd00053[e] | EX_cpd00053[e] | 16.06 | 5 | 6.63% |
| cpd00058[e] | EX_cpd00058[e] | 0.0587 | 0 | 0.00% |
| cpd00060[e] | EX_cpd00060[e] | 5.523 | 5 | 2.28% |
| cpd00063[e] | EX_cpd00063[e] | 0.08795 | 0 | 0.00% |
| cpd00067[e] | EX_cpd00067[e] | 1000 | 0 | 0.00% |
| cpd00107[e] | EX_cpd00107[e] | 3.375 | 6 | 1.67% |
| cpd00118[e] | EX_cpd00118[e] | 0.62 | 4 | 0.20% |
| cpd00129[e] | EX_cpd00129[e] | 5.886 | 5 | 2.43% |
| cpd00149[e] | EX_cpd00149[e] | 0.06303 | 0 | 0.00% |
| cpd00156[e] | EX_cpd00156[e] | 3.8 | 5 | 1.57% |
| cpd00205[e] | EX_cpd00205[e] | 3.301 | 0 | 0.00% |
| cpd00254[e] | EX_cpd00254[e] | 0.5573 | 0 | 0.00% |
| cpd00264[e] | EX_cpd00264[e] | 0.1261 | 7 | 0.07% |
| cpd00322[e] | EX_cpd00322[e] | 7.114 | 6 | 3.53% |
| cpd00971[e] | EX_cpd00971[e] | 0.07342 | 0 | 0.00% |
| cpd10515[e] | EX_cpd10515[e] | 0.2772 | 0 | 0.00% |
| cpd11574[e] | EX_cpd11574[e] | 0.0587 | 0 | 0.00% |
| cpd20863[e] | EX_cpd20863[e] | 0.0587 | 0 | 0.00% |
Secretion
| Metabolite | Reaction | Flux | C-Number | C-Flux |
|---|---|---|---|---|
| cpd15380[hc] | DM_cpd15380__hc | -0.0007828 | 5 | 0.00% |
| cpd15380[vc] | DM_cpd15380__vc | -0.004324 | 5 | 0.01% |
| dialurate[hc] | DM_dialurate__hc | -3.979E-06 | 4 | 0.00% |
| dialurate[vc] | DM_dialurate__vc | -0.004324 | 4 | 0.00% |
| cpd00001[e] | EX_cpd00001[e] | -687 | 0 | 0.00% |
| cpd00011[e] | EX_cpd00011[e] | -372 | 1 | 99.99% |
[301]:
base_n2_light1_2 = {
'EX_PHO2': 100.0,
'EX_PHO1': 100.0,
'EX_cpd00528[e]': 10.0,
'EX_cpd00067[e]': 1000.0,
'EX_cpd00001[e]': 1000.0,
'EX_cpd00009[e]': 1000.0,
'EX_cpd00048[e]': 1000.0,
'EX_cpd00254[e]': 1000.0,
'EX_cpd10515[e]': 1000.0,
'EX_cpd00149[e]': 1000.0,
'EX_cpd00034[e]': 1000.0,
'EX_cpd00058[e]': 1000.0,
'EX_cpd20863[e]': 1000.0,
'EX_cpd00063[e]': 1000.0,
'EX_cpd00205[e]': 1000.0,
'EX_cpd00971[e]': 1000.0,
'EX_cpd11574[e]': 1000.0,
}
default_medium = {
'EX_PHO2': 100.0,
'EX_PHO1': 100.0,
'EX_cpd00067[e]': 1000.0,
'EX_cpd00001[e]': 1000.0,
'EX_cpd00009[e]': 1000.0,
'EX_cpd00048[e]': 1000.0,
'EX_cpd00254[e]': 1000.0,
'EX_cpd10515[e]': 1000.0,
'EX_cpd00149[e]': 1000.0,
'EX_cpd00034[e]': 1000.0,
'EX_cpd00058[e]': 1000.0,
'EX_cpd20863[e]': 1000.0,
'EX_cpd00063[e]': 1000.0,
'EX_cpd00205[e]': 1000.0,
'EX_cpd00971[e]': 1000.0,
'EX_cpd11574[e]': 1000.0,
'EX_cpd00528[e]': 10.0,
'EX_cpd00242[e]': 8.486
}
for k in default_medium:
cpd = list(model_full.reactions.get_by_id(k).metabolites)[0]
print(cpd.id, cpd.name)
hvphoton2[e] Photosystem 2 photon
hvphoton1[e] Photosystem 1 photon
cpd00067[e] H+
cpd00001[e] H2O
cpd00009[e] Phosphate
cpd00048[e] Sulfate
cpd00254[e] Mg
cpd10515[e] Fe+2
cpd00149[e] Co2+
cpd00034[e] Zn2+
cpd00058[e] Cu2+
cpd20863[e] Mn2+
cpd00063[e] Ca2+
cpd00205[e] K+
cpd00971[e] Na+
cpd11574[e] Molybdate
cpd00528[e] N2
cpd00242[e] H2CO3
[323]:
for e in model_full.exchanges:
cpd = list(e.metabolites)[0]
print(f"'{e.id}': 1000, #{cpd.name}")
'EX_PHO2': 1000, #Photosystem 2 photon
'EX_PHO1': 1000, #Photosystem 1 photon
'EX_cpd00067[e]': 1000, #H+
'EX_cpd00001[e]': 1000, #H2O
'EX_cpd00007[e]': 1000, #O2
'EX_cpd00009[e]': 1000, #Phosphate
'EX_cpd00048[e]': 1000, #Sulfate
'EX_cpd00209[e]': 1000, #Nitrate
'EX_cpd00254[e]': 1000, #Mg
'EX_cpd10515[e]': 1000, #Fe+2
'EX_cpd00149[e]': 1000, #Co2+
'EX_cpd00034[e]': 1000, #Zn2+
'EX_cpd00058[e]': 1000, #Cu2+
'EX_cpd20863[e]': 1000, #Mn2+
'EX_cpd00063[e]': 1000, #Ca2+
'EX_cpd00205[e]': 1000, #K+
'EX_cpd00971[e]': 1000, #Na+
'EX_cpd11574[e]': 1000, #Molybdate
'EX_cpd00011[e]': 1000, #CO2
'EX_cpd00528[e]': 1000, #N2
'EX_cpd00027[e]': 1000, #D-Glucose
'EX_cpd00053[e]': 1000, #L-Glutamine
'EX_cpd00107[e]': 1000, #L-Leucine
'EX_cpd00118[e]': 1000, #Putrescine
'EX_cpd00129[e]': 1000, #L-Proline
'EX_cpd00156[e]': 1000, #L-Valine
'EX_cpd00179[e]': 1000, #Maltose
'EX_cpd00264[e]': 1000, #Spermidine
'EX_cpd00268[e]': 1000, #H2S2O3
'EX_cpd00322[e]': 1000, #L-Isoleucine
'EX_cpd03725[e]': 1000, #Fe(III)dicitrate
'EX_cpd00060[e]': 1000, #L-Methionine
'EX_cpd00104[e]': 1000, #BIOT
'EX_cpd01012[e]': 1000, #Cd2+
'EX_cpd11593[e]': 1000, #ala-L-asp-L
'EX_cpd00159[e]': 1000, #L-Lactate
'EX_cpd01262[e]': 1000, #Amylotriose
'EX_cpd01329[e]': 1000, #Maltohexaose
'EX_cpd00242[e]': 1000, #H2CO3
'EX_cpd00013[e]': 1000, #cpd00013[e]
'EX_cpd11640[e]': 1000, #H2
[312]:
import copy
for e in model_full.exchanges:
if e.id not in base_n2_light1_2:
cpd = list(e.metabolites)[0]
m = copy.deepcopy(base_n2_light1_2)
m.update({'EX_cpd00007[e]': 1000})
m.update({e.id: 1})
model_full.medium = m
v = model_full.slim_optimize()
print(e.id, cpd.name, v)
EX_cpd00007[e] O2 nan
EX_cpd00209[e] Nitrate nan
EX_cpd00011[e] CO2 0.005403764017101146
EX_cpd00027[e] D-Glucose 0.12362258410257106
EX_cpd00053[e] L-Glutamine 0.09997882008547625
EX_cpd00107[e] L-Leucine nan
EX_cpd00118[e] Putrescine nan
EX_cpd00129[e] L-Proline nan
EX_cpd00156[e] L-Valine nan
EX_cpd00179[e] Maltose nan
EX_cpd00264[e] Spermidine nan
EX_cpd00268[e] H2S2O3 nan
EX_cpd00322[e] L-Isoleucine nan
EX_cpd03725[e] Fe(III)dicitrate nan
EX_cpd00060[e] L-Methionine nan
EX_cpd00104[e] BIOT nan
EX_cpd01012[e] Cd2+ nan
EX_cpd11593[e] ala-L-asp-L nan
EX_cpd00159[e] L-Lactate nan
EX_cpd01262[e] Amylotriose nan
EX_cpd01329[e] Maltohexaose nan
EX_cpd00242[e] H2CO3 0.005403764017096219
EX_cpd00013[e] cpd00013[e] nan
EX_cpd11640[e] H2 nan
[304]:
import copy
for e in model_full.exchanges:
if e.id not in base_n2_light1_2:
cpd = list(e.metabolites)[0]
m = copy.deepcopy(base_n2_light1_2)
m.update({e.id: 1})
model_full.medium = m
v = model_full.slim_optimize()
print(e.id, cpd.name, v)
EX_cpd00007[e] O2 nan
EX_cpd00209[e] Nitrate nan
EX_cpd00011[e] CO2 0.005403764017095576
EX_cpd00027[e] D-Glucose 0.12362258410257534
EX_cpd00053[e] L-Glutamine 0.09997882008547528
EX_cpd00107[e] L-Leucine nan
EX_cpd00118[e] Putrescine nan
EX_cpd00129[e] L-Proline nan
EX_cpd00156[e] L-Valine nan
EX_cpd00179[e] Maltose nan
EX_cpd00264[e] Spermidine nan
EX_cpd00268[e] H2S2O3 nan
EX_cpd00322[e] L-Isoleucine nan
EX_cpd03725[e] Fe(III)dicitrate nan
EX_cpd00060[e] L-Methionine nan
EX_cpd00104[e] BIOT nan
EX_cpd01012[e] Cd2+ nan
EX_cpd11593[e] ala-L-asp-L nan
EX_cpd00159[e] L-Lactate nan
EX_cpd01262[e] Amylotriose nan
EX_cpd01329[e] Maltohexaose nan
EX_cpd00242[e] H2CO3 0.005403764017095296
EX_cpd00013[e] cpd00013[e] nan
EX_cpd11640[e] H2 nan
[300]:
model_full.medium = default_medium
# 61.35 51.03 0.18240098144906766
sol = cobra.flux_analysis.pfba(model_full)
for r in ['ATP_syn_l__hc', 'ATP_syn_p__hc', 'ATP_syn_l__vc', 'ATP_syn_p__vc']:
print(r, sol.fluxes[r])
model_full.summary(sol)
ATP_syn_l__hc 4.075736423833654
ATP_syn_p__hc 0.13238801433210912
ATP_syn_l__vc 11.591623093233354
ATP_syn_p__vc 1.5455133470271156
[300]:
Objective
1.0 biomass_eq_33047__vc = 0.18240098144907063
Uptake
| Metabolite | Reaction | Flux | C-Number | C-Flux |
|---|---|---|---|---|
| hvphoton1[e] | EX_PHO1 | 61.35 | 0 | 0.00% |
| hvphoton2[e] | EX_PHO2 | 51.03 | 0 | 0.00% |
| cpd00009[e] | EX_cpd00009[e] | 0.07813 | 0 | 0.00% |
| cpd00034[e] | EX_cpd00034[e] | 0.0005935 | 0 | 0.00% |
| cpd00048[e] | EX_cpd00048[e] | 0.07041 | 0 | 0.00% |
| cpd00058[e] | EX_cpd00058[e] | 0.0005935 | 0 | 0.00% |
| cpd00063[e] | EX_cpd00063[e] | 0.0008893 | 0 | 0.00% |
| cpd00067[e] | EX_cpd00067[e] | 19.48 | 0 | 0.00% |
| cpd00149[e] | EX_cpd00149[e] | 0.0006373 | 0 | 0.00% |
| cpd00205[e] | EX_cpd00205[e] | 0.03338 | 0 | 0.00% |
| cpd00242[e] | EX_cpd00242[e] | 8.486 | 1 | 100.00% |
| cpd00254[e] | EX_cpd00254[e] | 0.005635 | 0 | 0.00% |
| cpd00528[e] | EX_cpd00528[e] | 0.6772 | 0 | 0.00% |
| cpd00971[e] | EX_cpd00971[e] | 0.0007424 | 0 | 0.00% |
| cpd10515[e] | EX_cpd10515[e] | 0.002803 | 0 | 0.00% |
| cpd11574[e] | EX_cpd11574[e] | 0.0005935 | 0 | 0.00% |
| cpd20863[e] | EX_cpd20863[e] | 0.0005935 | 0 | 0.00% |
Secretion
| Metabolite | Reaction | Flux | C-Number | C-Flux |
|---|---|---|---|---|
| cpd02791[hc] | DM_cpd02791__hc | -0.0001159 | 6 | 8.65% |
| cpd02791[vc] | DM_cpd02791__vc | -0.001159 | 6 | 86.46% |
| cpd15380[hc] | DM_cpd15380__hc | -3.979E-06 | 5 | 0.25% |
| cpd15380[vc] | DM_cpd15380__vc | -3.979E-05 | 5 | 2.47% |
| dialurate[hc] | DM_dialurate__hc | -3.979E-06 | 4 | 0.20% |
| dialurate[vc] | DM_dialurate__vc | -3.979E-05 | 4 | 1.98% |
| cpd00001[e] | EX_cpd00001[e] | -2.027 | 0 | 0.00% |
| cpd00007[e] | EX_cpd00007[e] | -10.28 | 0 | 0.00% |
[231]:
ws = 87388 # Anabaena sp. ATCC 33047
genome = kbase.get_from_ws('GCF_001597855.1.RAST', ws)
[233]:
from modelseedpy import RastClient, MSBuilder
rast = RastClient()
rast.annotate_genome(genome)
[233]:
[{'parameters': ['-a',
'-g',
200,
'-m',
5,
'-d',
'/opt/patric-common/data/kmer_metadata_v2',
'-u',
'http://pear.mcs.anl.gov:6100/query'],
'id': '2D3A7502-0132-11EC-BA47-A5E5BBF382BD',
'hostname': 'pear',
'tool_name': 'kmer_search',
'execution_time': 1629407556.04401},
{'tool_name': 'KmerAnnotationByFigfam',
'execution_time': 1629407556.23076,
'hostname': 'pear',
'parameters': ['annotate_hypothetical_only=1',
'dataset_name=Release70',
'kmer_size=8'],
'id': '2D56F4FC-0132-11EC-BA47-A5E5BBF382BD'},
{'id': '2F2423F4-0132-11EC-BBE9-4688BCF382BD',
'parameters': [],
'tool_name': 'annotate_proteins_similarity',
'hostname': 'pear',
'execute_time': 1629407559.25314}]
[234]:
template_core = kbase.get_from_ws('CoreBacteriaTest_FIX', 82183)
[237]:
builder = MSBuilder(genome, template_core)
[238]:
model_test = builder.build('m', '0', False, False)
[277]:
model_full.reactions.ATP_syn_p_p
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
/usr/local/lib/python3.8/site-packages/cobra/core/dictlist.py in __getattr__(self, attr)
454 try:
--> 455 return DictList.get_by_id(self, attr)
456 except KeyError:
/usr/local/lib/python3.8/site-packages/cobra/core/dictlist.py in get_by_id(self, id)
57 """return the element with a matching id"""
---> 58 return list.__getitem__(self, self._dict[id])
59
KeyError: 'ATP_syn_p_p'
During handling of the above exception, another exception occurred:
AttributeError Traceback (most recent call last)
<ipython-input-277-93ab54e08f28> in <module>
----> 1 model_full.reactions.ATP_syn_p_p
/usr/local/lib/python3.8/site-packages/cobra/core/dictlist.py in __getattr__(self, attr)
455 return DictList.get_by_id(self, attr)
456 except KeyError:
--> 457 raise AttributeError("DictList has no attribute or entry %s" % attr)
458
459 def __dir__(self):
AttributeError: DictList has no attribute or entry ATP_syn_p_p
[262]:
genome.features.A3776_RS09565.ontology_terms
[262]:
{'RAST': ['Pyruvate decarboxylase (EC 4.1.1.1)',
'Indole-3-pyruvate decarboxylase (EC 4.1.1.74)']}
[335]:
from cobra.core.gene import parse_gpr
expr, variables = parse_gpr("a or (b and c)")
[ ]:
import pyea
[342]:
expr.body.values
[342]:
[<_ast.Name at 0x7fcbc4c76f40>, <_ast.BoolOp at 0x7fcbc4c768e0>]
[325]:
for r in model_test.reactions:
i = r.id
seed_id = i[:-3]
print(r, r.gene_reaction_rule)
if f'{seed_id}__vc' in model_full.reactions:
rxn_other = model_full.reactions.get_by_id(f'{seed_id}__vc')
print(rxn_other, rxn_other.gene_reaction_rule)
if f'{seed_id}__hc' in model_full.reactions:
rxn_other = model_full.reactions.get_by_id(f'{seed_id}__hc')
print(rxn_other, rxn_other.gene_reaction_rule)
print()
rxn00549_c0: cpd00001_c0 + cpd00290_c0 --> cpd00009_c0 + cpd00072_c0 (A3776_RS07680) or (A3776_RS19020)
rxn00549__vc: cpd00001[vc] + cpd00290[vc] --> cpd00009[vc] + cpd00072[vc] A3776_RS07680 or A3776_RS19020
rxn00549__hc: cpd00001[hc] + cpd00290[hc] --> cpd00009[hc] + cpd00072[hc] A3776_RS07680 or A3776_RS19020
rxn14427_c0: 4 cpd00067_c0 + cpd00209_c0 + cpd18074_c0 --> cpd00001_c0 + 2 cpd00067_e0 + cpd00075_c0 + cpd18072_c0 (A3776_RS11430) or (A3776_RS11430)
rxn05040_c0: cpd00171_c0 --> cpd00047_c0 + cpd00067_c0 + cpd11225_c0 (A3776_RS22120)
rxn05040__vc: cpd00171[vc] --> cpd00047[vc] + cpd00067[vc] + cpd11225[vc] A3776_RS22120
rxn05040__hc: cpd00171[hc] --> cpd00047[hc] + cpd00067[hc] + cpd11225[hc] A3776_RS22120
rxn00545_c0: cpd00002_c0 + cpd00072_c0 --> cpd00008_c0 + cpd00067_c0 + cpd00290_c0 (A3776_RS16105)
rxn08977_c0: cpd00005_c0 + cpd00067_c0 + cpd15560_c0 --> cpd00006_c0 + cpd15561_c0 (A3776_RS00950)
rxn01333_c0: cpd00102_c0 + cpd00238_c0 <=> cpd00072_c0 + cpd00236_c0 (A3776_RS22325) or (A3776_RS19015) or (A3776_RS04325)
rxn01333__vc: cpd00102[vc] + cpd00238[vc] <=> cpd00072[vc] + cpd00236[vc] A3776_RS19015 or A3776_RS22325 or A3776_RS04325
rxn01333__hc: cpd00102[hc] + cpd00238[hc] <=> cpd00072[hc] + cpd00236[hc] A3776_RS19015 or A3776_RS22325 or A3776_RS04325
rxn00224_c0: cpd01476_c0 + cpd10515_c0 <=> cpd00028_c0 + 2 cpd00067_c0 (A3776_RS09410) or (A3776_RS07385)
rxn00224__vc: cpd01476[vc] + cpd10515[vc] --> cpd00028[vc] + 2.0 cpd00067[vc] A3776_RS09410 or A3776_RS07385
rxn00224__hc: cpd01476[hc] + cpd10515[hc] --> cpd00028[hc] + 2.0 cpd00067[hc] A3776_RS09410 or A3776_RS07385
rxn00256_c0: cpd00010_c0 + cpd00067_c0 + cpd00137_c0 <-- cpd00001_c0 + cpd00022_c0 + cpd00032_c0 (A3776_RS06235)
rxn00256__vc: cpd00001[vc] + cpd00022[vc] + cpd00032[vc] --> cpd00010[vc] + cpd00067[vc] + cpd00137[vc] A3776_RS06235
rxn00256__hc: cpd00001[hc] + cpd00022[hc] + cpd00032[hc] --> cpd00010[hc] + cpd00067[hc] + cpd00137[hc] A3776_RS06235
rxn00011_c0: cpd00011_c0 + cpd03049_c0 <-- cpd00020_c0 + cpd00056_c0 + cpd00067_c0 (A3776_RS09565) or (A3776_RS09185 and A3776_RS21415) or (A3776_RS15740 and A3776_RS20500)
rxn00011__vc: cpd00020[vc] + cpd00056[vc] + cpd00067[vc] --> cpd00011[vc] + cpd03049[vc] A3776_RS09185 and ( A3776_RS21415 or A3776_RS06445 )
rxn00011__hc: cpd00020[hc] + cpd00056[hc] + cpd00067[hc] --> cpd00011[hc] + cpd03049[hc] A3776_RS09185 and ( A3776_RS21415 or A3776_RS06445 )
rxn09272_c0: cpd00036_c0 + cpd15560_c0 --> cpd00106_c0 + cpd15561_c0 (A3776_RS02410) or (A3776_RS03685) or (A3776_RS21955)
rxn09272__vc: cpd00036[vc] + cpd07274[vl] --> cpd00106[vc] + cpd16503[vl] A3776_RS02410 and A3776_RS21955
rxn09272__hc: cpd00036[hc] + cpd07274[hl] --> cpd00106[hc] + cpd16503[hl] A3776_RS02410 and A3776_RS21955
rxn00747_c0: cpd00102_c0 <=> cpd00095_c0 (A3776_RS10895)
rxn00747__vc: cpd00102[vc] <=> cpd00095[vc] A3776_RS10895
rxn00747__hc: cpd00102[hc] <=> cpd00095[hc] A3776_RS10895
rxn05602_c0: cpd00067_e0 + cpd00159_e0 <=> cpd00067_c0 + cpd00159_c0 (A3776_RS08485)
rxn05602__vc: cpd00067[vp] + cpd00159[vp] <=> cpd00067[vc] + cpd00159[vc] A3776_RS08485
rxn05602__hc: cpd00067[hp] + cpd00159[hp] <=> cpd00067[hc] + cpd00159[hc] A3776_RS08485
rxn05937_c0: cpd00006_c0 + cpd00067_c0 + cpd11620_c0 --> cpd00005_c0 + cpd11621_c0 (A3776_RS06700)
rxn05937__vc: cpd00006[vc] + cpd00067[vc] + 2.0 cpd11620[vc] <=> cpd00005[vc] + 2.0 cpd11621[vc] A3776_RS06700
rxn05937__hc: cpd00006[hc] + cpd00067[hc] + 2.0 cpd11620[hc] <=> cpd00005[hc] + 2.0 cpd11621[hc] A3776_RS06700
rxn00785_c0: cpd00072_c0 + cpd00102_c0 <=> cpd00198_c0 + cpd00236_c0 (A3776_RS03700) or (A3776_RS10870) or (A3776_RS08320)
rxn00785__vc: cpd00072[vc] + cpd00102[vc] <=> cpd00198[vc] + cpd00236[vc] A3776_RS03700 or A3776_RS10870 or A3776_RS08320
rxn00785__hc: cpd00072[hc] + cpd00102[hc] <=> cpd00198[hc] + cpd00236[hc] A3776_RS03700 or A3776_RS10870 or A3776_RS08320
rxn00974_c0: cpd00137_c0 <=> cpd00001_c0 + cpd00331_c0 (A3776_RS00425)
rxn05209_c0: cpd00067_c0 + cpd00971_e0 <=> cpd00067_e0 + cpd00971_c0 (A3776_RS10835) or (A3776_RS13785) or (A3776_RS10605) or (A3776_RS09210) or (A3776_RS05940) or (A3776_RS03490) or (A3776_RS03495) or (A3776_RS10835) or (A3776_RS13785) or (A3776_RS10605) or (A3776_RS09210) or (A3776_RS05940) or (A3776_RS03480) or (A3776_RS03470) or (A3776_RS14385) or (A3776_RS15950) or (A3776_RS03475) or (A3776_RS03465) or (A3776_RS03485)
rxn05209__vc: cpd00067[vc] + cpd00971[vp] <=> cpd00067[vp] + cpd00971[vc] Unknown
rxn05209__hc: cpd00067[hc] + cpd00971[hp] <=> cpd00067[hp] + cpd00971[hc] Unknown
rxn01116_c0: cpd00171_c0 <=> cpd00198_c0 (A3776_RS21850)
rxn01116__vc: cpd00171[vc] <=> cpd00198[vc] A3776_RS21850
rxn01116__hc: cpd00171[hc] <=> cpd00198[hc] A3776_RS21850
rxn00777_c0: cpd00101_c0 <=> cpd00171_c0 (A3776_RS09340)
rxn00777__vc: cpd00101[vc] <=> cpd00171[vc] A3776_RS09340
rxn00777__hc: cpd00101[hc] <=> cpd00171[hc] A3776_RS09340
rxn00285_c0: cpd00002_c0 + cpd00010_c0 + cpd00036_c0 <=> cpd00008_c0 + cpd00009_c0 + cpd00078_c0 (A3776_RS12785 and A3776_RS12790)
rxn00285__vc: cpd00002[vc] + cpd00010[vc] + cpd00036[vc] <=> cpd00008[vc] + cpd00009[vc] + cpd00078[vc] A3776_RS12785 and A3776_RS12790
rxn00285__hc: cpd00002[hc] + cpd00010[hc] + cpd00036[hc] <=> cpd00008[hc] + cpd00009[hc] + cpd00078[hc] A3776_RS12785 and A3776_RS12790
rxn01115_c0: cpd00006_c0 + cpd00284_c0 --> cpd00005_c0 + cpd00011_c0 + cpd00171_c0 (A3776_RS16830)
rxn01115__vc: cpd00006[vc] + cpd00284[vc] --> cpd00005[vc] + cpd00011[vc] + cpd00171[vc] A3776_RS16830
rxn01115__hc: cpd00006[hc] + cpd00284[hc] --> cpd00005[hc] + cpd00011[hc] + cpd00171[hc] A3776_RS16830
rxn00147_c0: cpd00001_c0 + cpd00002_c0 + cpd00020_c0 --> cpd00009_c0 + cpd00018_c0 + cpd00061_c0 + 3 cpd00067_c0 (A3776_RS16060) or (A3776_RS01500) or (A3776_RS18135)
rxn00147__vc: cpd00001[vc] + cpd00002[vc] + cpd00020[vc] --> cpd00009[vc] + cpd00018[vc] + cpd00061[vc] + 3.0 cpd00067[vc] A3776_RS01500 or A3776_RS16060 or A3776_RS18135 or A3776_RS15970
rxn00147__hc: cpd00001[hc] + cpd00002[hc] + cpd00020[hc] --> cpd00009[hc] + cpd00018[hc] + cpd00061[hc] + 3.0 cpd00067[hc] A3776_RS01500 or A3776_RS16060 or A3776_RS18135 or A3776_RS15970
rxn01241_c0: cpd00003_c0 + cpd00449_c0 <=> cpd00004_c0 + cpd00067_c0 + cpd00213_c0 (A3776_RS19200) or (A3776_RS19200)
rxn01241__vc: cpd00003[vc] + cpd00449[vc] <=> cpd00004[vc] + cpd00067[vc] + cpd00213[vc] A3776_RS19200
rxn01241__hc: cpd00003[hc] + cpd00449[hc] <=> cpd00004[hc] + cpd00067[hc] + cpd00213[hc] A3776_RS19200
rxn01187_c0: cpd00009_c0 + cpd00198_c0 --> cpd00001_c0 + cpd00102_c0 + cpd00196_c0 (A3776_RS22340)
rxn01187__vc: cpd00009[vc] + cpd00198[vc] --> cpd00001[vc] + cpd00102[vc] + cpd00196[vc] A3776_RS22340
rxn01187__hc: cpd00009[hc] + cpd00198[hc] --> cpd00001[hc] + cpd00102[hc] + cpd00196[hc] A3776_RS22340
rxn00122_c0: cpd00002_c0 + cpd00050_c0 --> cpd00012_c0 + cpd00015_c0 (A3776_RS01880)
rxn00122__vc: cpd00002[vc] + cpd00050[vc] --> cpd00012[vc] + cpd00015[vc] A3776_RS01880
rxn00122__hc: cpd00002[hc] + cpd00050[hc] --> cpd00012[hc] + cpd00015[hc] A3776_RS01880
rxn04794_c0: cpd00010_c0 + cpd00094_c0 <=> cpd00047_c0 + cpd00086_c0 (A3776_RS06860)
rxn00543_c0: cpd00003_c0 + cpd00363_c0 <=> cpd00004_c0 + cpd00067_c0 + cpd00071_c0 (A3776_RS09485) or (A3776_RS06850)
rxn00543__vc: cpd00004[vc] + cpd00067[vc] + cpd00071[vc] --> cpd00003[vc] + cpd00363[vc] A3776_RS06850 or A3776_RS09485
rxn00543__hc: cpd00004[hc] + cpd00067[hc] + cpd00071[hc] --> cpd00003[hc] + cpd00363[hc] A3776_RS06850 or A3776_RS09485
rxn00506_c0: cpd00001_c0 + cpd00003_c0 + cpd00071_c0 --> cpd00004_c0 + cpd00029_c0 + 2 cpd00067_c0 (A3776_RS19000) or (A3776_RS02000) or (A3776_RS06130)
rxn00506__vc: cpd00004[vc] + cpd00029[vc] + 2.0 cpd00067[vc] --> cpd00001[vc] + cpd00003[vc] + cpd00071[vc] A3776_RS02000 or A3776_RS19000
rxn00506__hc: cpd00004[hc] + cpd00029[hc] + 2.0 cpd00067[hc] --> cpd00001[hc] + cpd00003[hc] + cpd00071[hc] A3776_RS02000 or A3776_RS19000
rxn00225_c0: cpd00002_c0 + cpd00029_c0 <=> cpd00008_c0 + cpd00196_c0 (A3776_RS22320)
rxn00225__vc: cpd00002[vc] + cpd00029[vc] --> cpd00008[vc] + cpd00196[vc] A3776_RS22320
rxn00225__hc: cpd00002[hc] + cpd00029[hc] --> cpd00008[hc] + cpd00196[hc] A3776_RS22320
rxn05145_c0: cpd00001_c0 + cpd00002_c0 + cpd00009_e0 --> cpd00008_c0 + 2 cpd00009_c0 + cpd00067_c0 (A3776_RS18750) or (A3776_RS05535) or (A3776_RS21700) or (A3776_RS20835) or (A3776_RS00795) or (A3776_RS15490) or (A3776_RS15165) or (A3776_RS15495) or (A3776_RS15160) or (A3776_RS15500) or (A3776_RS15155) or (A3776_RS15505) or (A3776_RS15170) or (A3776_RS02990) or (A3776_RS15485)
rxn05145__vc: cpd00001[vc] + cpd00002[vc] + cpd00009[vp] --> cpd00008[vc] + 2.0 cpd00009[vc] + cpd00067[vc] ( A3776_RS15160 or A3776_RS15495 ) and ( A3776_RS15155 or A3776_RS15500 or A3776_RS15505 ) and ( A3776_RS15165 or A3776_RS15490 ) and ( A3776_RS02990 or A3776_RS15170 or A3776_RS15485 )
rxn05145__hc: cpd00001[hc] + cpd00002[hc] + cpd00009[hp] --> cpd00008[hc] + 2.0 cpd00009[hc] + cpd00067[hc] ( A3776_RS15160 or A3776_RS15495 ) and ( A3776_RS15155 or A3776_RS15500 or A3776_RS15505 ) and ( A3776_RS15165 or A3776_RS15490 ) and ( A3776_RS02990 or A3776_RS15170 or A3776_RS15485 )
rxn01106_c0: cpd00482_c0 <=> cpd00169_c0 (A3776_RS15870) or (A3776_RS03430)
rxn01106__vc: cpd00482[vc] <=> cpd00169[vc] A3776_RS03430 or A3776_RS15870
rxn01106__hc: cpd00482[hc] <=> cpd00169[hc] A3776_RS03430 or A3776_RS15870
rxn01334_c0: cpd00349_c0 <=> cpd00095_c0 + cpd00236_c0 (A3776_RS20005) or (A3776_RS20480)
rxn01334__vc: cpd00349[vc] <=> cpd00095[vc] + cpd00236[vc] A3776_RS20005 or A3776_RS20480
rxn01334__hc: cpd00349[hc] <=> cpd00095[hc] + cpd00236[hc] A3776_RS20005 or A3776_RS20480
rxn00786_c0: cpd00290_c0 <=> cpd00095_c0 + cpd00102_c0 (A3776_RS20005) or (A3776_RS20480)
rxn00786__vc: cpd00290[vc] <=> cpd00095[vc] + cpd00102[vc] A3776_RS20005 or A3776_RS20480
rxn00786__hc: cpd00290[hc] <=> cpd00095[hc] + cpd00102[hc] A3776_RS20005 or A3776_RS20480
rxn00869_c0: cpd00003_c0 + cpd00010_c0 + cpd01011_c0 <-- cpd00004_c0 + cpd00067_c0 + cpd00120_c0 (A3776_RS06850)
rxn00869__vc: cpd00003[vc] + cpd00010[vc] + cpd01011[vc] <=> cpd00004[vc] + cpd00067[vc] + cpd00120[vc] A3776_RS06850
rxn00869__hc: cpd00003[hc] + cpd00010[hc] + cpd01011[hc] <=> cpd00004[hc] + cpd00067[hc] + cpd00120[hc] A3776_RS06850
rxn05627_c0: cpd00067_e0 + cpd00209_e0 --> cpd00067_c0 + cpd00209_c0 (A3776_RS11430) or (A3776_RS11430)
rxn01343_c0: cpd00002_c0 + cpd00238_c0 --> cpd00008_c0 + cpd00067_c0 + cpd00349_c0 (A3776_RS16105)
rxn01343__vc: cpd00002[vc] + cpd00238[vc] --> cpd00008[vc] + cpd00067[vc] + cpd00349[vc] A3776_RS16105
rxn01343__hc: cpd00002[hc] + cpd00238[hc] --> cpd00008[hc] + cpd00067[hc] + cpd00349[hc] A3776_RS16105
rxn05528_c0: cpd00001_c0 + cpd00002_c0 + cpd00058_c0 --> cpd00008_c0 + cpd00009_c0 + cpd00058_e0 + cpd00067_c0 (A3776_RS17745) or (A3776_RS18685) or (A3776_RS17740) or (A3776_RS12080) or (A3776_RS06845)
rxn05528__vc: cpd00001[vc] + cpd00002[vc] + cpd00058[vc] --> cpd00008[vc] + cpd00009[vc] + cpd00058[vp] + cpd00067[vc] A3776_RS06845 or A3776_RS12890 or A3776_RS17740 or A3776_RS17745
rxn05528__hc: cpd00001[hc] + cpd00002[hc] + cpd00058[hc] --> cpd00008[hc] + cpd00009[hc] + cpd00058[hp] + cpd00067[hc] A3776_RS06845 or A3776_RS12890 or A3776_RS17740 or A3776_RS17745
rxn02342_c0: cpd00213_c0 + cpd03049_c0 --> cpd00056_c0 + cpd00836_c0 (A3776_RS15740 and A3776_RS20500)
rxn00148_c0: cpd00002_c0 + cpd00020_c0 <-- cpd00008_c0 + cpd00061_c0 + cpd00067_c0 (A3776_RS05300) or (A3776_RS22330)
rxn00148__vc: cpd00008[vc] + cpd00061[vc] + cpd00067[vc] --> cpd00002[vc] + cpd00020[vc] A3776_RS05300 or A3776_RS22330 or A3776_RS16050
rxn00148__hc: cpd00008[hc] + cpd00061[hc] + cpd00067[hc] --> cpd00002[hc] + cpd00020[hc] A3776_RS05300 or A3776_RS22330 or A3776_RS16050
rxn00199_c0: cpd00067_c0 + cpd03187_c0 --> cpd00011_c0 + cpd00024_c0 (A3776_RS20350)
rxn00615_c0: cpd00002_c0 + cpd00100_c0 --> cpd00008_c0 + cpd00067_c0 + cpd00080_c0 (A3776_RS19965)
rxn00615__vc: cpd00002[vc] + cpd00100[vc] --> cpd00008[vc] + cpd00067[vc] + cpd00080[vc] A3776_RS19965
rxn00615__hc: cpd00002[hc] + cpd00100[hc] --> cpd00008[hc] + cpd00067[hc] + cpd00080[hc] A3776_RS19965
rxn00392_c0: cpd00002_c0 + cpd00220_c0 <=> cpd00008_c0 + cpd00050_c0 + cpd00067_c0 (A3776_RS01880)
rxn00392__vc: cpd00002[vc] + cpd00220[vc] --> cpd00008[vc] + cpd00050[vc] A3776_RS01880
rxn00392__hc: cpd00002[hc] + cpd00220[hc] --> cpd00008[hc] + cpd00050[hc] A3776_RS01880
rxn00083_c0: cpd00003_c0 + cpd00005_c0 --> cpd00004_c0 + cpd00006_c0 (A3776_RS04700) or (A3776_RS04690) or (A3776_RS04695)
rxn00161_c0: cpd00006_c0 + cpd00130_c0 --> cpd00005_c0 + cpd00011_c0 + cpd00020_c0 (A3776_RS21625)
rxn00161__vc: cpd00006[vc] + cpd00130[vc] --> cpd00005[vc] + cpd00011[vc] + cpd00020[vc] A3776_RS21625
rxn00161__hc: cpd00006[hc] + cpd00130[hc] --> cpd00005[hc] + cpd00011[hc] + cpd00020[hc] A3776_RS21625
rxn00985_c0: cpd00002_c0 + cpd00141_c0 <=> cpd00008_c0 + cpd01844_c0 (A3776_RS22320)
rxn14418_c0: cpd15561_c0 + cpd18075_c0 --> 2 cpd00067_e0 + cpd15560_c0 + cpd18076_c0 (A3776_RS02530) or (A3776_RS02530) or (A3776_RS02530 and A3776_RS02525) or (A3776_RS02525)
rxn00171_c0: cpd00003_c0 + cpd00010_c0 + cpd00071_c0 <=> cpd00004_c0 + cpd00022_c0 + cpd00067_c0 (A3776_RS06850) or (A3776_RS09485) or (A3776_RS06850)
rxn00171__vc: cpd00004[vc] + cpd00022[vc] + cpd00067[vc] --> cpd00003[vc] + cpd00010[vc] + cpd00071[vc] A3776_RS06850
rxn00171__hc: cpd00004[hc] + cpd00022[hc] + cpd00067[hc] --> cpd00003[hc] + cpd00010[hc] + cpd00071[hc] A3776_RS06850
rxn14420_c0: cpd15499_c0 + cpd18075_c0 --> 2 cpd00067_e0 + cpd15500_c0 + cpd18076_c0 (A3776_RS02530) or (A3776_RS02530 and A3776_RS02525) or (A3776_RS08000)
rxn00248_c0: cpd00003_c0 + cpd00130_c0 <=> cpd00004_c0 + cpd00032_c0 + cpd00067_c0 (A3776_RS07725)
rxn00248__vc: cpd00003[vc] + cpd00130[vc] <=> cpd00004[vc] + cpd00032[vc] + cpd00067[vc] A3776_RS07725
rxn00248__hc: cpd00003[hc] + cpd00130[hc] <=> cpd00004[hc] + cpd00032[hc] + cpd00067[hc] A3776_RS07725
rxn00604_c0: cpd00006_c0 + cpd00079_c0 --> cpd00005_c0 + cpd00067_c0 + cpd00911_c0 (A3776_RS19010)
rxn00604__vc: cpd00006[vc] + cpd00079[vc] --> cpd00005[vc] + cpd00067[vc] + cpd00911[vc] A3776_RS19010
rxn00604__hc: cpd00006[hc] + cpd00079[hc] --> cpd00005[hc] + cpd00067[hc] + cpd00911[hc] A3776_RS19010
rxn00371_c0: cpd00003_c0 + cpd00047_c0 --> cpd00004_c0 + cpd00011_c0 (A3776_RS10715)
rxn01100_c0: cpd00002_c0 + cpd00169_c0 <=> cpd00008_c0 + cpd00203_c0 (A3776_RS01285)
rxn01100__vc: cpd00002[vc] + cpd00169[vc] <=> cpd00008[vc] + cpd00203[vc] A3776_RS01285
rxn01100__hc: cpd00002[hc] + cpd00169[hc] <=> cpd00008[hc] + cpd00203[hc] A3776_RS01285
rxn00216_c0: cpd00002_c0 + cpd00027_c0 <=> cpd00008_c0 + cpd00067_c0 + cpd00079_c0 (A3776_RS11205)
rxn00216__vc: cpd00002[vc] + cpd00027[vc] --> cpd00008[vc] + cpd00067[vc] + cpd00079[vc] A3776_RS02165 or A3776_RS03075 or A3776_RS11205
rxn00216__hc: cpd00002[hc] + cpd00027[hc] --> cpd00008[hc] + cpd00067[hc] + cpd00079[hc] A3776_RS02165 or A3776_RS03075 or A3776_RS11205
rxn08655_c0: cpd00139_c0 + cpd15560_c0 --> cpd00040_c0 + cpd15561_c0 (A3776_RS17185 and A3776_RS17180 and A3776_RS21160)
rxn00175_c0: cpd00002_c0 + cpd00010_c0 + cpd00029_c0 --> cpd00012_c0 + cpd00018_c0 + cpd00022_c0 + cpd00067_c0 (A3776_RS18320)
rxn00175__vc: cpd00002[vc] + cpd00010[vc] + cpd00029[vc] --> cpd00012[vc] + cpd00018[vc] + cpd00022[vc] + cpd00067[vc] A3776_RS18320
rxn00175__hc: cpd00002[hc] + cpd00010[hc] + cpd00029[hc] --> cpd00012[hc] + cpd00018[hc] + cpd00022[hc] + cpd00067[hc] A3776_RS18320
rxn00763_c0: cpd00003_c0 + cpd00100_c0 <=> cpd00004_c0 + cpd00067_c0 + cpd00448_c0 (A3776_RS09485) or (A3776_RS06850)
rxn00763__vc: cpd00004[vc] + cpd00067[vc] + cpd00448[vc] --> cpd00003[vc] + cpd00100[vc] A3776_RS01770 or A3776_RS06850 or A3776_RS09485
rxn00763__hc: cpd00004[hc] + cpd00067[hc] + cpd00448[hc] --> cpd00003[hc] + cpd00100[hc] A3776_RS01770 or A3776_RS06850 or A3776_RS09485
rxn01476_c0: cpd00001_c0 + cpd00911_c0 --> cpd00067_c0 + cpd00284_c0 (A3776_RS11870)
rxn01476__vc: cpd00001[vc] + cpd00911[vc] --> cpd00067[vc] + cpd00284[vc] A3776_RS11870
rxn01476__hc: cpd00001[hc] + cpd00911[hc] --> cpd00067[hc] + cpd00284[hc] A3776_RS11870
rxn05625_c0: cpd00067_e0 + cpd00075_e0 <=> cpd00067_c0 + cpd00075_c0 (A3776_RS11430) or (A3776_RS11430)
rxn06493_c0: cpd00003_c0 + cpd12225_c0 <=> cpd00004_c0 + cpd00067_c0 + cpd12005_c0 (A3776_RS19200) or (A3776_RS14650 and A3776_RS14655) or (A3776_RS14655)
rxn06493__vc: cpd00003[vc] + cpd12225[vc] <=> cpd00004[vc] + cpd00067[vc] + cpd12005[vc] A3776_RS19200
rxn06493__hc: cpd00003[hc] + cpd12225[hc] <=> cpd00004[hc] + cpd00067[hc] + cpd12005[hc] A3776_RS19200
rxn01388_c0: cpd00260_c0 <=> cpd00001_c0 + cpd00331_c0 (A3776_RS00425)
rxn00459_c0: cpd00482_c0 <=> cpd00001_c0 + cpd00061_c0 (A3776_RS22110)
rxn00459__vc: cpd00482[vc] <=> cpd00001[vc] + cpd00061[vc] A3776_RS22110
rxn00459__hc: cpd00482[hc] <=> cpd00001[hc] + cpd00061[hc] A3776_RS22110
rxn01275_c0: cpd00002_c0 + cpd00222_c0 --> cpd00008_c0 + cpd00067_c0 + cpd00284_c0 (A3776_RS23010)
rxn01275__vc: cpd00002[vc] + cpd00222[vc] --> cpd00008[vc] + cpd00067[vc] + cpd00284[vc] A3776_RS23010
rxn01275__hc: cpd00002[hc] + cpd00222[hc] --> cpd00008[hc] + cpd00067[hc] + cpd00284[hc] A3776_RS23010
rxn01871_c0: cpd00022_c0 + cpd00449_c0 <-- cpd00010_c0 + cpd00836_c0 (A3776_RS19785)
rxn01871__vc: cpd00022[vc] + cpd00449[vc] <=> cpd00010[vc] + cpd00836[vc] A3776_RS19785
rxn01871__hc: cpd00022[hc] + cpd00449[hc] <=> cpd00010[hc] + cpd00836[hc] A3776_RS19785
rxn01870_c0: cpd00802_c0 <=> cpd00095_c0 + cpd00448_c0 (A3776_RS20480)
rxn01870__vc: cpd00802[vc] <=> cpd00095[vc] + cpd00448[vc] A3776_RS20005 or A3776_RS20480
rxn01870__hc: cpd00802[hc] <=> cpd00095[hc] + cpd00448[hc] A3776_RS20005 or A3776_RS20480
rxn01200_c0: cpd00102_c0 + cpd00238_c0 <=> cpd00101_c0 + cpd00198_c0 (A3776_RS03700) or (A3776_RS10870) or (A3776_RS08320)
rxn01200__vc: cpd00102[vc] + cpd00238[vc] <=> cpd00101[vc] + cpd00198[vc] A3776_RS03700 or A3776_RS10870 or A3776_RS08320
rxn01200__hc: cpd00102[hc] + cpd00238[hc] <=> cpd00101[hc] + cpd00198[hc] A3776_RS03700 or A3776_RS10870 or A3776_RS08320
rxn14419_c0: 0.5 cpd00007_c0 + 4 cpd00067_c0 + cpd18076_c0 --> cpd00001_c0 + 2 cpd00067_e0 + cpd18075_c0 (A3776_RS02530) or (A3776_RS02530) or (A3776_RS02530 and A3776_RS02525) or (A3776_RS02525)
rxn00548_c0: cpd00009_c0 + cpd00072_c0 <=> cpd00001_c0 + cpd00196_c0 + cpd00236_c0 (A3776_RS22340)
rxn00548__vc: cpd00009[vc] + cpd00072[vc] --> cpd00001[vc] + cpd00196[vc] + cpd00236[vc] A3776_RS09675 or A3776_RS22340
rxn00548__hc: cpd00009[hc] + cpd00072[hc] --> cpd00001[hc] + cpd00196[hc] + cpd00236[hc] A3776_RS09675 or A3776_RS22340
rxn00558_c0: cpd00079_c0 <=> cpd00072_c0 (A3776_RS07090) or (A3776_RS07710)
rxn00558__vc: cpd00079[vc] <=> cpd00072[vc] A3776_RS07710 or A3776_RS07090
rxn00558__hc: cpd00079[hc] <=> cpd00072[hc] A3776_RS07710 or A3776_RS07090
rxn00544_c0: cpd00056_c0 + cpd00071_c0 <-- cpd03049_c0 (A3776_RS09565)
rxn00157_c0: cpd00022_c0 + cpd00047_c0 <-- cpd00010_c0 + cpd00020_c0 (A3776_RS06855) or (A3776_RS06860)
rxn00157__vc: cpd00022[vc] + cpd00047[vc] <=> cpd00010[vc] + cpd00020[vc] A3776_RS06860
rxn00157__hc: cpd00022[hc] + cpd00047[hc] <=> cpd00010[hc] + cpd00020[hc] A3776_RS06860
rxn10122_c0: cpd00004_c0 + 4.5 cpd00067_c0 + cpd15560_c0 --> cpd00003_c0 + 3.5 cpd00067_e0 + cpd15561_c0 (A3776_RS00950)
rxn00568_c0: 2 cpd00001_c0 + 3 cpd00003_c0 + cpd00013_c0 <-- 3 cpd00004_c0 + 5 cpd00067_c0 + cpd00075_c0 (A3776_RS11430)
rxn02314_c0: cpd00002_c0 + cpd00805_c0 <=> cpd00008_c0 + cpd00067_c0 + cpd02371_c0 (A3776_RS16105)
rxn03884_c0: cpd02711_c0 --> cpd00020_c0 + cpd00102_c0 (A3776_RS10780)
rxn03884__vc: cpd02711[vc] <=> cpd00020[vc] + cpd00102[vc] A3776_RS10780
rxn03884__hc: cpd02711[hc] <=> cpd00020[hc] + cpd00102[hc] A3776_RS10780
rxn08971_c0: cpd00004_c0 + cpd00067_c0 + cpd15500_c0 --> cpd00003_c0 + cpd15499_c0 (A3776_RS10740) or (A3776_RS17150) or (A3776_RS16420) or (A3776_RS02065) or (A3776_RS17155)
rxn00770_c0: cpd00002_c0 + cpd00101_c0 <=> cpd00018_c0 + cpd00067_c0 + cpd00103_c0 (A3776_RS04015)
rxn00770__vc: cpd00002[vc] + cpd00101[vc] --> cpd00018[vc] + cpd00067[vc] + cpd00103[vc] A3776_RS04015
rxn00770__hc: cpd00002[hc] + cpd00101[hc] --> cpd00018[hc] + cpd00067[hc] + cpd00103[hc] A3776_RS04015
rxn00077_c0: cpd00002_c0 + cpd00003_c0 <=> cpd00006_c0 + cpd00008_c0 + cpd00067_c0 (A3776_RS19230) or (A3776_RS06210)
rxn00077__vc: cpd00002[vc] + cpd00003[vc] --> cpd00006[vc] + cpd00008[vc] + cpd00067[vc] A3776_RS06210 or A3776_RS19230
rxn00077__hc: cpd00002[hc] + cpd00003[hc] --> cpd00006[hc] + cpd00008[hc] + cpd00067[hc] A3776_RS06210 or A3776_RS19230
rxn00251_c0: cpd00009_c0 + cpd00032_c0 + cpd00067_c0 <=> cpd00001_c0 + cpd00011_c0 + cpd00061_c0 (A3776_RS20435) or (A3776_RS07835) or (A3776_RS16425)
rxn00251__vc: cpd00001[vc] + cpd00011[vc] + cpd00061[vc] --> cpd00009[vc] + cpd00032[vc] + cpd00067[vc] A3776_RS20435 or A3776_RS07835 or A3776_RS16425
rxn00251__hc: cpd00001[hc] + cpd00011[hc] + cpd00061[hc] --> cpd00009[hc] + cpd00032[hc] + cpd00067[hc] A3776_RS20435 or A3776_RS07835 or A3776_RS16425
rxn08975_c0: cpd00004_c0 + cpd00067_c0 + cpd15560_c0 --> cpd00003_c0 + cpd15561_c0 (A3776_RS10740) or (A3776_RS17150) or (A3776_RS16420) or (A3776_RS02065) or (A3776_RS17155)
rxn00781_c0: cpd00003_c0 + cpd00009_c0 + cpd00102_c0 <=> cpd00004_c0 + cpd00067_c0 + cpd00203_c0 (A3776_RS22210) or (A3776_RS02985)
rxn00781__vc: cpd00003[vc] + cpd00009[vc] + cpd00102[vc] --> cpd00004[vc] + cpd00067[vc] + cpd00203[vc] A3776_RS02985 or A3776_RS22335
rxn00781__hc: cpd00003[hc] + cpd00009[hc] + cpd00102[hc] --> cpd00004[hc] + cpd00067[hc] + cpd00203[hc] A3776_RS02985 or A3776_RS22335
rxn08656_c0: cpd00139_c0 + cpd15500_c0 --> cpd00040_c0 + cpd15499_c0 (A3776_RS17185 and A3776_RS17180 and A3776_RS21160)
rxn00762_c0: cpd00003_c0 + cpd00100_c0 <=> cpd00004_c0 + cpd00067_c0 + cpd00157_c0 (A3776_RS03005)
rxn00762__vc: cpd00003[vc] + cpd00100[vc] --> cpd00004[vc] + cpd00067[vc] + cpd00157[vc] A3776_RS03005
rxn00762__hc: cpd00003[hc] + cpd00100[hc] --> cpd00004[hc] + cpd00067[hc] + cpd00157[hc] A3776_RS03005
rxn01387_c0: cpd00006_c0 + cpd00260_c0 <=> cpd00005_c0 + cpd00067_c0 + cpd03187_c0 (A3776_RS20350)
rxn00799_c0: cpd00130_c0 <=> cpd00001_c0 + cpd00106_c0 (A3776_RS00630)
rxn00799__vc: cpd00130[vc] <=> cpd00001[vc] + cpd00106[vc] A3776_RS00630
rxn00799__hc: cpd00130[hc] <=> cpd00001[hc] + cpd00106[hc] A3776_RS00630
rxn08734_c0: 2 cpd00067_c0 + cpd11640_c0 + cpd15560_c0 --> 2 cpd00067_e0 + cpd15561_c0 (A3776_RS12315) or (A3776_RS02530) or (A3776_RS12320)
rxn09001_c0: 2 cpd00067_c0 + cpd00209_c0 + cpd15561_c0 --> cpd00001_c0 + 2 cpd00067_e0 + cpd00075_c0 + cpd15560_c0 (A3776_RS11430)
rxn09003_c0: 2 cpd00067_c0 + cpd00209_c0 + cpd15499_c0 --> cpd00001_c0 + 2 cpd00067_e0 + cpd00075_c0 + cpd15500_c0 (A3776_RS11430)
rxn08173_c0: cpd00008_c0 + cpd00009_c0 + 4 cpd00067_e0 <=> cpd00001_c0 + cpd00002_c0 + 3 cpd00067_c0 (A3776_RS13435 and A3776_RS10975 and A3776_RS13440 and A3776_RS13445 and A3776_RS10980 and A3776_RS13470) or (A3776_RS10825 and A3776_RS13435 and A3776_RS13440 and A3776_RS13445 and A3776_RS10980 and A3776_RS13470) or (A3776_RS13465) or (A3776_RS13450) or (A3776_RS13455) or (A3776_RS13460)
rxn09295_c0: cpd00004_c0 + cpd00006_c0 + 2 cpd00067_e0 --> cpd00003_c0 + cpd00005_c0 + 2 cpd00067_c0 (A3776_RS04690) or (A3776_RS04700) or (A3776_RS04695)
rxn05312_c0: cpd00009_e0 + cpd00067_e0 <-- cpd00009_c0 + cpd00067_c0 (A3776_RS09530) or (A3776_RS11030)
rxn05312__vc: cpd00009[vp] + cpd00067[vp] <=> cpd00009[vc] + cpd00067[vc] A3776_RS09530 or A3776_RS11030
rxn05312__hc: cpd00009[hp] + cpd00067[hp] <=> cpd00009[hc] + cpd00067[hc] A3776_RS09530 or A3776_RS11030
rxn08976_c0: cpd00004_c0 + cpd00067_c0 + cpd15352_c0 --> cpd00003_c0 + cpd15353_c0 (A3776_RS10740) or (A3776_RS17150) or (A3776_RS16420) or (A3776_RS02065) or (A3776_RS17155)
rxn00507_c0: cpd00001_c0 + cpd00006_c0 + cpd00071_c0 --> cpd00005_c0 + cpd00029_c0 + 2.0 cpd00067_c0 (A3776_RS06600) or (A3776_RS04425)
rxn00612_c0: cpd00006_c0 + cpd00080_c0 <=> cpd00005_c0 + cpd00067_c0 + cpd00095_c0 (A3776_RS22795)
rxn00612__vc: cpd00005[vc] + cpd00067[vc] + cpd00095[vc] --> cpd00006[vc] + cpd00080[vc] A3776_RS22795
rxn00612__hc: cpd00005[hc] + cpd00067[hc] + cpd00095[hc] --> cpd00006[hc] + cpd00080[hc] A3776_RS22795
rxn00206_c0: 2.0 cpd00067_c0 + 2.0 cpd00532_c0 <-- cpd00007_c0 + cpd00025_c0 (A3776_RS09260) or (A3776_RS01410)
rxn00206__vc: 2.0 cpd00067[vc] + 2.0 cpd00532[vc] --> cpd00007[vc] + cpd00025[vc] A3776_RS01410 or A3776_RS09260
rxn00206__hc: 2.0 cpd00067[hc] + 2.0 cpd00532[hc] --> cpd00007[hc] + cpd00025[hc] A3776_RS01410 or A3776_RS09260
rxn01834_c0: cpd02182_c0 <=> cpd00042_c0 + cpd00428_c0 (A3776_RS02965) or (A3776_RS22105)
rxn01834__vc: cpd02182[vc] <=> cpd00042[vc] + cpd00428[vc] A3776_RS22105 or A3776_RS02965
rxn01834__hc: cpd02182[hc] <=> cpd00042[hc] + cpd00428[hc] A3776_RS22105 or A3776_RS02965
rxn05466_c0: cpd00013_e0 <=> cpd00013_c0 (A3776_RS13855) or (A3776_RS13890) or (A3776_RS13860)
rxn01274_c0: cpd00001_c0 + cpd02182_c0 --> cpd00042_c0 + cpd00067_c0 + cpd00221_c0 (A3776_RS08720)
rxn01274__vc: cpd00001[vc] + cpd02182[vc] --> cpd00042[vc] + cpd00067[vc] + cpd00221[vc] A3776_RS08720 or A3776_RS12840 or A3776_RS16165
rxn01274__hc: cpd00001[hc] + cpd02182[hc] --> cpd00042[hc] + cpd00067[hc] + cpd00221[hc] A3776_RS08720 or A3776_RS12840 or A3776_RS16165
rxn00611_c0: cpd00003_c0 + cpd00080_c0 <=> cpd00004_c0 + cpd00067_c0 + cpd00095_c0 (A3776_RS22795)
rxn00611__vc: cpd00004[vc] + cpd00067[vc] + cpd00095[vc] --> cpd00003[vc] + cpd00080[vc] A3776_RS22795
rxn00611__hc: cpd00004[hc] + cpd00067[hc] + cpd00095[hc] --> cpd00003[hc] + cpd00080[hc] A3776_RS22795
rxn05467_c0: cpd00011_e0 <=> cpd00011_c0
rxn05488_c0: cpd00029_e0 + cpd00067_e0 <=> cpd00029_c0 + cpd00067_c0
rxn05468_c0: cpd00007_e0 --> cpd00007_c0
rxn05559_c0: cpd00047_e0 + cpd00067_e0 <=> cpd00047_c0 + cpd00067_c0
rxn05319_c0: cpd00001_e0 <=> cpd00001_c0
rxn05469_c0: cpd00020_e0 + cpd00067_e0 <=> cpd00020_c0 + cpd00067_c0
rxn08428_c0: cpd00363_c0 <=> cpd00363_e0
rxn08691_c0: cpd11640_c0 <=> cpd11640_e0
rxn08350_c0: cpd00067_e0 + cpd00221_e0 --> cpd00067_c0 + cpd00221_c0
EX_cpd00067_e0: cpd00067_e0 <=>
EX_cpd00159_e0: cpd00159_e0 <=>
EX_cpd00971_e0: cpd00971_e0 <=>
EX_cpd00009_e0: cpd00009_e0 <=>
EX_cpd00209_e0: cpd00209_e0 <=>
EX_cpd00058_e0: cpd00058_e0 <=>
EX_cpd00075_e0: cpd00075_e0 <=>
EX_cpd00013_e0: cpd00013_e0 <=>
EX_cpd00011_e0: cpd00011_e0 <=>
EX_cpd00029_e0: cpd00029_e0 <=>
EX_cpd00007_e0: cpd00007_e0 <=>
EX_cpd00047_e0: cpd00047_e0 <=>
EX_cpd00001_e0: cpd00001_e0 <=>
EX_cpd00020_e0: cpd00020_e0 <=>
EX_cpd00363_e0: cpd00363_e0 <=>
EX_cpd11640_e0: cpd11640_e0 <=>
EX_cpd00221_e0: cpd00221_e0 <=>
bio1: 41.257 cpd00001_c0 + 41.257 cpd00002_c0 + 3.547 cpd00003_c0 + 1.8225 cpd00005_c0 + 2.8328 cpd00020_c0 + 3.7478 cpd00022_c0 + 1.0789 cpd00024_c0 + 1.7867 cpd00032_c0 + 0.5191 cpd00061_c0 + 0.0709 cpd00072_c0 + 0.205 cpd00079_c0 + 0.8977 cpd00101_c0 + 0.129 cpd00102_c0 + 1.496 cpd00169_c0 + 0.8977 cpd00236_c0 --> 3.547 cpd00004_c0 + 1.8225 cpd00006_c0 + 41.257 cpd00008_c0 + 41.257 cpd00009_c0 + 3.7478 cpd00010_c0 + 46.6265 cpd00067_c0 + cpd11416_c0
bio2: 41.257 cpd00001_c0 + 41.257 cpd00002_c0 --> 41.257 cpd00008_c0 + 41.257 cpd00009_c0 + 46.6265 cpd00067_c0
SK_cpd11416_c0: cpd11416_c0 -->
[ ]: