-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
polish
needs to define default units and compartment structures
#38
Comments
Actually, we need more than that. The model element should define default units:
And the following units should be declared for constraint-based models:
In addition, every parameter that is used as a flux bound needs to declare its unit |
Compartments can only load the default unit automatically if they specify their structure using those attributes: |
Ok so
|
polish_carveme
leads to invalid SBML file when no unitDefinition is presentpolish_carveme
needs to define default units and and compartment structures
polish_carveme
needs to define default units and and compartment structurespolish
needs to define default units and compartment structures
The requested and required aforementioned functionalities were added to the Currently, the code is working for CarveMe models and models polished with ModelPolisher. Additionally, the following functions were tested and functioned properly with a model from the VMH website. A recommendation would be to use the following functions of the add_fba_units(model)
set_default_units(model)
set_units(model)
add_compartment_structure_specs(model)
set_initial_amount(model) Possible improvement: Generalise the check for existing unit definitions of a model
|
Most of the code was adjusted to be more general. Additionally, the functionalities requested in issue #38 were added.
The functionality to replace existing identifiers with BiGG IDs was not working properly. Additionally, this replacement step was deemed unnecessary. Thus, the already existing code parts were removed. The previous pushed code was transferred from the |
Without changing only the identifiers the module works now properly.
I would like to continue the discussion regarding the compartment's I think the consensus was that a model is a knowledge-base and, hence, it should contain as much information as possible. However, for the units of compartments. I think the definition |
So far the code was readjusted to handle changes in the list of unit definitions of the input model without breaking the model. Additionally, the unit definitions as defined within the code were declared as ground truth. Thus, unit definitions contained in the input model that are not identical with any of the unit definitions defined within the code are removed from the model. Additionally, these unit definitions are printed to the console as XMLNode objects and the unit definitions defined within the code are added to the model. |
The unit definition of mm/gDW/h needed an additional annotation. Thus, the add_cvterm_units function was readjusted.
Readjusted code to replace list of UnitDefinitions in input model with unit definitions defined within the code. Prints now additionally the list of UnitDefinitions that were not identical to the UnitDefinitions in the list within the code as XMLNode objects to the console.
Removed # before commented out functions. These functions were only commented out for testing purposes.
polish_carveme
sets units for all parameters to mmol_per_gDW_per_hr which is in accordance with the standard understanding of the results of Flux Balance Analysis. However the listOfUnitDefinitions might be missing in a model. The function inpolish_carveme
thus needs to be extended to include the insertion of the fragment shown below.<listOfUnitDefinitions> <unitDefinition id="mmol_per_gDW_per_hr"> <listOfUnits> <unit kind="mole" exponent="1" scale="-3" multiplier="1"/> <unit kind="gram" exponent="-1" scale="0" multiplier="1"/> <unit kind="second" exponent="-1" scale="0" multiplier="3600"/> </listOfUnits> </unitDefinition> </listOfUnitDefinitions>
The text was updated successfully, but these errors were encountered: