Fix compartment removal in reaction rates for sbml2bngl#421
Conversation
Corrected a bug in SBML2BNGL.analyzeReactionRate where compartment sizes were incorrectly removed from reaction rate equations. The original code attempted to parse the numerator and denominator using `as_numer_denom()`, which failed on multi-term mathematical expressions (e.g., reversible reactions with minus signs). By substituting the compartment symbol with `1` using `sym.subs(comp, 1)`, we cleanly remove its multiplicative effect regardless of where it appears in the mathematical expression. Co-authored-by: akutuva21 <44119804+akutuva21@users.noreply.github.com>
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
Corrected a bug in
SBML2BNGL.analyzeReactionRatewhere compartment sizes were incorrectly removed from reaction rate equations. The original code attempted to parse the numerator and denominator usingas_numer_denom(), which failed on multi-term mathematical expressions (e.g., reversible reactions with minus signs) because subtraction prevents the extraction of a clean multiplicative denominator.By substituting the compartment symbol with
1usingsym.subs(comp, 1), we cleanly remove its multiplicative effect regardless of where it appears in the mathematical expression. This robust symbolic approach accurately unrolls compartment size scaling from the rate laws.PR created automatically by Jules for task 12651291564637042192 started by @akutuva21