-
Notifications
You must be signed in to change notification settings - Fork 9
PyEnzyme v2.0.0 #67
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
Merged
Merged
PyEnzyme v2.0.0 #67
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add celsius as unit
Deleted the loop that called model_rebuild() on several classes at the end of v2.py. This cleanup removes unnecessary code execution during module import.
Updated extract_namespaces to raise ValueError when the input XML string is empty, improving input validation and error handling.
Added EnzymeML namespace to the SBML root element and changed all speciesData 'type' attributes from uppercase 'CONCENTRATION' to lowercase 'concentration' for consistency and compatibility with EnzymeML standards.
Adds XML namespaces and package requirements to SBML documents, refines data type mapping in v2.py to support both enum names and values, and ensures annotations exclude None values during XML serialization. Also sets default species data type to CONCENTRATION using enum value.
Updated the import statement in test_psyces.py to use the correct module path for ThinLayerPysces, ensuring tests run without import errors.
Eliminated unnecessary code that checked and converted 'references' to a list in the EnzymeMLSuite class. This simplifies the logic as the type check is no longer needed.
Introduced PYTHON_VERSION build argument to allow specifying the Python version when building the Docker image.
Added a new SBML fixture file (v1_sbml.xml) and a legacy integration test (test_legacy.py). Updated abts_measurement_model.xml to remove unused <conditions> elements. Modified unit test for equations.
PySCeS import output is now suppressed using contextlib to redirect stdout and stderr. Parameter updates now use filter_parameters for lookup, improving reliability and error handling. Minor typo fixed in error message.
Introduces field validators to MeasurementAnnot and ConditionsAnnot to ensure empty conditions, pH, and temperature fields are set to None when appropriate. This improves data integrity by preventing incomplete or empty annotations from being processed.
Introduces a helper to convert measurement temperature from Celsius to Kelvin when needed, ensuring SBML compatibility. Removes unused helper function and cleans up debug print statements.
Updated the docstring for the to_petab method in EnzymeMLHandler to include information about the return value, specifying that it returns the PEtab object.
Added fastobo and deprecation to main dependencies. Introduced a new 'v1' poetry group with seaborn, numexpr, python-libcombine, and deepdiff. This update supports new features and organizes dependencies for different project components.
Allows explicit specification of equation type in build_equations and build_equation functions. Refactors variable and parameter extraction to use IDs from EnzymeMLDocument, improving accuracy. Adds _extract_all_ids helper for ID collection and updates error messaging for unrecognized equation types.
Added _split_chemical_equation_side to correctly split chemical equation sides on '+' while respecting parentheses, ensuring accurate counting of reactants and products in cases like 'NAD(+)'. Updated fetch_rhea to use this function for robust parsing.
Introduced intermediate filename variables for PEtab files in the to_petab function to improve readability and maintainability. No functional changes to file naming or output.
Deleted the import of Parameter and the unused _create_parameter function from math.py to clean up the code.
Introduces a 'show' parameter to the plot function, allowing users to display plots interactively. Also adds automatic detection of Jupyter environments to set the matplotlib backend accordingly.
Introduces the 'pretty.py' module with a 'summary' function for rich-formatted visual summaries of EnzymeML documents. Updates __init__.py to export 'summary' and 'UnitType', enabling easy access to new pretty printing features.
Added documentation about the inclusion of the legacy v1.1.5 API under the v1 subpackage, instructions for importing, and notes on dependency management for users requiring backward compatibility.
Added seaborn, numexpr, python-libcombine, and deepdiff to the list of installed packages in the unit test GitHub Actions workflow to support new or updated test requirements.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR tracks the MD-Models based development of PyEnzyme 2.0.0
The description of this PR will soon be extended.
This change is