Releases: SBRG/cobrame
Check versions
-
Adds checks to confirm the correct COBRApy version is being used
-
Improve Docker builds
Add Docker
Adds support for Docker
-
Dockerfiles added which can install COBRAme, ECOLIme, solvemepy, soplex_cython and a compiled version of qMINOS and SoPlex. It also installs all of the dependencies and builds iJL1678b-ME
-
A Docker image containing all of the above can now be obtained from DockerHub .
-
Fixes #23
Adds compartments to ME-model JSONs and refactored JSON saving/loading scripts
- Fixes #21
- Save/load full ME-model with:
from cobrame.io.json import save_json_me_model, load_json_me_model
save_json_me_model(me_model, '[save_loc]/model.json')
new_me_model = load_json_me_model('[save_loc]/model.json')
- Save/load reduced versino of ME-model with:
from cobrame.io.json import save_reduced_json_me_model, load_reduced_json_me_model
save_reduced_json_me_model(me_model, '[save_loc]/model.json')
new_me_model = load_reduced_json_me_model('[save_loc]/model.json')
Mass
is no longer a property of model metabolites
- Now uses
formula_weight
and calculates mass based on formula - Fixes #22
Additional changes
- Updated documentation to include examples of coupling constraint derivations
Update Documentation
v0.0.7 To version 0.0.7
Refactor, update and rename to iJL1678b
To avoid confusion with future E. coli ME-model releases, the output of the model building process included in ECOLIme will be renamed from iLE1678-ME to iJL1678b-ME. There is no new genetic content added to the model. The major differences between iJL1678-ME and iJL1678b-ME are:
- The model structure has been reformulated to the COBRAme structure
- Membrane surface area constraints are not included in the model
- The model has been corrected and gap filled when necessary
The specific changes included in this release are described below:
COBRAme
Cobrame changes
-
COBRAme Refactoring
- PEP8 compliance, wild card imports removed, modules renamed to be PEP8 compliant
- Removed complex_data.chaperones. Chaperone activity should be handled as a subreaction and currently had no functionality.
- _update_parent_reactions was changed to a public function
-
Model Structure Changes
- Previously, a
MEModel
object contains both a process_data dictlist along with dictlists for each individualProcessData
type. This is redundant and can lead to confusing behavior. The individualProcessData
dictlists were removed and replaced with getters that return a generator containing all instances of the specificProcessData
type PostTranslationReaction
was updated to include biomass contributions of subreactions (ie. lipid modifications for lipoproteins)- The translocation pathway usage has no value associated with them. Therefore this was refactored to include a set of the pathways used, not a dict. The
JSONSCHEMA
and json dumping/loading was edited to reflect this. - Functionally,
ModificationData
andSubreactionData
are identical. This lead to a lot of redundant and inefficient code. COBRAme was refactored to removeModificationData
as aProcessData
class. Moving forward modifications will be represented asSubreactionData
and will be denoted by the “mod_” prefix in the ID. - Move subreaction attributes + translocation_multipliers from global info. Global info should be reserved for true global parameteris (i.e. m_rr, f_tRNA, etc.)
- Removed rho_dependant from transcription_data attributes. This is bacteria specific.
- Previously, a
-
COBRAme Bug Fixes
- Corrected typo from coupling constraint formulation for k_mrna
New COBRAme Features
-
Added
JSONSCHEMA
and loading/dumping of fully functional ME-models- Using
cobrame.io.json.save_full_me_model()
- Using
-
Mass Balance Handling
- Added
formulas.py
- Functions to add formulas for all complexes produced from metabolic reactions based mostly on formulas in modifications.txt
- Added
-
Improved Documentation
- Most of core module completely documented
- Updated tutorial and readthedocs
-
Misc new features
- Add
SubreactionData.get_all_usages()
method to yield all instances where a process_data uses the subreaction. - Prepare for compatibility with new COBRApy versions
- Add setters for elemental_contribution in
SubreactionData
and stoichiometry inStoichiometricData
- Add
ECOLIme
ECOLIme (iJL1678b) Changes
-
Reformulated biomass constraint
- Add biomass constraint types in one model method as well as conversion of biomass types to global "biomass"
- This requires a "biomass_type" attribute for
PosttranslationData
to know what biomass constraint to create as a result of modifications fromSubreactionData
. TheJSONSCHEMA
and json loading/dumping was modified to reflect this change.
-
Parameter changes
m_rr
listed on bionumbers was a significant overestimation for e. coli, therefore it was changed to 1453 based on summing the average 5s, 16s and 23s rRNA molecular weights which were 38.4, 491.1, and 923.9,
respectively- o2 exchange, gam, gam and unmodeled protein was changed to iJL1678 default parameters as the model transitioned to iJL1678b
-
Misc Corrections
-
Biomass contribution of the b1677 lipoprotein was removed from core_structural_demand_brauns reaction since this is accounted for in translation and lipid modification reactions.
-
Only lipids from the iJO1366 core biomass composition should have demand reactions. This was corrected.
-
Updated
corrections.py
to prevent rpoH from acting as a sigma factor for transcribing stable RNAs. -
Fix bug causing biomass to be incorrectly calculated for 7 complex formation reactions (reactions listed in 3e1b643).
-
Fixed bug creating RNA_degradosome as metabolite and not complex
-
Removed all mod_palmitate reactions since this is replaced by lipoprotein
-
Transcription Reactions
- water not required for nucleotide polymerization
-
Translation Reactions
- Water not needed for selenocysteine modification
- PrfC chain release factor is a GTPase, this has been updated in the model
- ATP cost of charging was underrepresented. To correct this, ATP->AMP cost is included as part of the charged_tRNA addition subreactions.
- Fix bug causing ATP hydrolyzing components to be updated incorrectly for RNA Degradatation
- Methionine Cleavage releases a hydrogen, this has been updated
-
Ribosome Synthesis
- Era_dim (assembly factor) is a GTPase, gdp has been added to its stoichiometry
-
tRNA Charging
- Mass balance checked tRNA modifications, resulting in some stoichiometry changes
- CHxxx_c metabolites no longer required
- Updated electron acceptors with THIOREDOXINs etc.
- The two lysine tRNAs can use two different synthetases, the synthetase to amino acid mapping has been updated with the generic form (generic_LYSINEaaRS) as in iOL1650
- Correct mnm5U element_contribution and update cmo5U element_contribution and stoichiometry. Cmo5U begins with a conversion to 5-hydroxyuridine, which was unaccounted for an has an unknown mechanism. Water/protons were added to the stoichiometry to mass balance the addition of the hydroxyl group.
-
Translocation Reactions
- Corrected by adding Water and hydrogen to ATP hydrolysis
-
Metabolic Reactions
- Added reactions to synthesize cu_c (CU2R) and NiFeCoCN2_c (mod_NiFeCoCN2_c).
- Removed reactions to uptake these metabolites at no metabolic cost
- Removed CITLY-CPLX reaction since it had no effect on model
- Replaced PFL_act reaction with mod_glycl modification for all PFL isozymes.
- Removed hydrogens from iron-sulfur forming reactions since the net effect of zero hydrogen production or consumption
-
ComplexFormation Reactions
- mod_coo is not a modification, it is the normal unmodified protein. All instances of EG11597-MONOMER_mod_coo have been replaced with EG11597-MONOMER
- Corrected ATPS4r isozyme complex stoichiometry
- Adding formulas increases the biomass produced in complex formation reactions for modification metabolites that previously did not have a formula (ie. pqq_c)
- H+ moved to products of mod_lipoalt stoichiometry
-
-
ECOLIme Refactoring
- Removed ecoli_k12.py and moved information into relevant files.
- Deleted amino_acid_tRNA_synthetase.json moved it to tRNA_charging.py
- Moved global_info into *.py file if possible. Goal to reduce the global_info fields as much as possible.
- Removed rho_dependant from transcription_data attributes. This is bacteria specific.
- Cleaned up DNA_replication.py and reaction
New ECOLIme Features
-
Mass Balance Testing (1715e36)
- Added functions for assigning formulas to macromolecules (RNA, protein, complexes, etc.)
- Added test for mass balance checking
- Each SubreactionData transformation must be mass balanced by confirming that the net chemical gain/loss as a result of the subreaction is equivalent to user defined
SubreactionData.set_elemental_contribution
-
MIsc. Features
- Allow options in corrections.py to enable production of iOL1650 equivalent model.
- Prepare for compatibility with new COBRApy versions
- Model corrections (from iOL1650) compiled and and included in newly added
corrections.py
BioRxiv Preprint Release
Clean up model building - Unlump iron sulfur cluster forming reactions - broaden definition of enzyme 'carriers' to include all enzymes used as reactants in metabolic reaction - update mRNA degradation constraint - Allow building directly from E. coli M-model - Fix NGAM bug - Account for mu=0 case with degradation constraints