Skip to content

Conversation

@jgilis
Copy link

@jgilis jgilis commented Aug 25, 2025

One aspect hampering the use of Medusa for certain applications is the need to construct a list of GEMs prior to creating and analyzing the ensemble. Indeed, in many situations, it is computationally less expensive to create and analyze each member of the fly. This feature allows for directly populating the ensemble without needing to first generate each individual member, for one specific situation. This feature allows for directly populating an ensemble where members only differ w.r.t. the lower and/or upper bounds for certain reactions. Note that as bounds can be set to zero, reaction reversibility and presence is allowed to be affected. Changes made:

  • boundsEnsemble.py: workhorse
  • test_boundsEnsemble.py: test validity
  • TODO: Note that this branch also includes changes made in the maintenance and refactor_populate_features_base branches, I can undo this if this is inconvenient

Happy to discuss if functions like these would be a good fit for Medusa, or if they should be ported elsewhere.

@gregmedlock
Copy link
Member

@jgilis I really appreciate this new feature! I'll merge after you take a look at the docstring typo and consider whether the reversibility variable name could be updated to make its value be True/False rather than a string. If there are cases where the binary of True/False might not work, I'm happy to use strings as values, but would like True/False if there are only two possible values for reversibility.

@jgilis
Copy link
Author

jgilis commented Sep 23, 2025

Hi @gregmedlock ,
I have fixed the docstring of boundsEnsemble.py, and updated the reversibility argument to operate as a Boolean.
Fyi, I did not touch anything related to the Github Actions, it was triggered automatically, so not entirely sure if it ran on the new fastBound branch or on Medusa/devel or master.

Best regards,

Jeroen

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants