Skip to content

Conversation

@JR-1991
Copy link
Member

@JR-1991 JR-1991 commented Jun 22, 2024

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 Reviewable

@JR-1991 JR-1991 added the enhancement New feature or request label Jun 22, 2024
@JR-1991 JR-1991 self-assigned this Jun 22, 2024
@JR-1991 JR-1991 added this to the v2.0.0 milestone Jun 22, 2024
@EnzymeML EnzymeML deleted a comment from sonarqubecloud bot Jun 22, 2024
@EnzymeML EnzymeML deleted a comment from sonarqubecloud bot Jun 25, 2024
@JR-1991 JR-1991 marked this pull request as ready for review July 19, 2025 11:35
JR-1991 added 24 commits July 25, 2025 19:09
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.
@JR-1991 JR-1991 merged commit bad7b5d into main Jul 29, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants