Skip to content

Commit

Permalink
Merge pull request #613 from opencobra/solve_610
Browse files Browse the repository at this point in the history
docs: explain why C1 carriers are not considered for essential precursors
  • Loading branch information
Midnighter committed Feb 19, 2019
2 parents a629450 + c9ac4d3 commit f409293
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 3 deletions.
7 changes: 7 additions & 0 deletions memote/suite/tests/test_biomass.py
Original file line number Diff line number Diff line change
Expand Up @@ -452,6 +452,13 @@ def test_essential_precursors_not_in_biomass(model, reaction_id):
These metabolites were selected based on the results presented by
DOI:10.1016/j.ymben.2016.12.002
Please note, that the authors also suggest to count C1 carriers
(derivatives of tetrahydrofolate(B9) or tetrahydromethanopterin) as
universal cofactors. We have omitted these from this check because there
are many individual compounds that classify as C1 carriers, and it is not
clear a priori which one should be preferred. In a future update, we may
consider identifying these using a chemical ontology.
Implementation:
Determine whether the model employs a lumped or split biomass reaction.
Then, using an internal mapping table, try to identify the above list of
Expand Down
31 changes: 28 additions & 3 deletions memote/support/biomass.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,16 +36,34 @@
LOGGER = logging.getLogger(__name__)

# 20 Amino Acids, 4 Deoxyribonucleotides, 4 Ribonucleotides,
# 8 Cofactors, and H2O
# 8 Universal Cofactors, and H2O
ESSENTIAL_PRECURSOR_IDS = \
['MNXM94', 'MNXM55', 'MNXM134', 'MNXM76', 'MNXM61',
'MNXM97', 'MNXM53', 'MNXM114', 'MNXM42', 'MNXM142',
'MNXM37', 'MNXM89557', 'MNXM231', 'MNXM70', 'MNXM78',
'MNXM199', 'MNXM140', 'MNXM32', 'MNXM29', 'MNXM147',
# Deoxyribonucleotides
'MNXM286', 'MNXM360', 'MNXM394', 'MNXM344',
# Ribonucleotides
'MNXM3', 'MNXM51', 'MNXM63', 'MNXM121',
'MNXM8', 'MNXM5', 'MNXM16', 'MNXM33', 'MNXM161',
'MNXM12', 'MNXM256', 'MNXM119', 'MNXM2']
# NAD
'MNXM8',
# NADP
'MNXM5',
# S-adenosyl-L-methionine
'MNXM16',
# FAD
'MNXM33',
# Pyridoxal 5'-phosphate
'MNXM161',
# CoA
'MNXM12',
# Thiamine Diphosphate
'MNXM256',
# FMN
'MNXM119',
# H2O
'MNXM2']


def sum_biomass_weight(reaction):
Expand Down Expand Up @@ -426,6 +444,13 @@ def essential_precursors_not_in_biomass(model, reaction):
When a class of cofactors includes active and non-active interconvertible
forms, the active forms should be preferred. [1]_."
Please note, that [1]_ also suggest to count C1 carriers
(derivatives of tetrahydrofolate(B9) or tetrahydromethanopterin) as
universal cofactors. We have omitted these from this check because there
are many individual compounds that classify as C1 carriers, and it is not
clear a priori which one should be preferred. In a future update, we may
consider identifying these using a chemical ontology.
References
----------
.. [1] Xavier, J. C., Patil, K. R., & Rocha, I. (2017). Integration of
Expand Down

0 comments on commit f409293

Please sign in to comment.