Skip to content

Found the bug in ASTNode.toFomula() #259

@tyzerrr

Description

@tyzerrr

Hey, all.
I used jsbml-1.6.1, current latest version of jsbml, but I found the method, ASTNode.toFormula() fails to parse the formula.
To be specific, for testcase, I downloaded BIOMD0000000022.xml from BioModels(https://www.ebi.ac.uk/biomodels/search?query=BIOMD0000000022&domain=biomodels), and I wrote the program in C with libsbml.5.18.0 and java with jsbml-1.6.1.
I attached the both result as libsbml-formula.txt and jsbml-formula.txt, so I wanna you'll check these, then you should compare the first line.

libsbml-formula.txt of first line

formula1: compartment_0000003 * (c1 + (B1 + pow(CCn / A1, a)) * s1 / (1 + B1 + pow(CCn / A1, a) + pow(PTn / r1, r)))

jsbml-formula.txt of first line

formula1: compartment_0000003*(c1+((B1+CCn/A1^a)*s1)/(1+B1+CCn/A1^a+PTn/r1^r))

They are completely different. And I checked the related report(Robust oscillations within the interlocked feedback model of Drosophila circadian rhythm., but in this report, result by libsbml is correct.

And, I also checked core/src/org/sbml/jsbml/ASTNode.java.newASTNode, this file was revised 2 years ago, but jsbml-1.6.1 was released in Oct 2022. So even in latest version, jsbml has the bug around ASTNode.toFormula().

Any help, please.

libsbml-formula.txt
jsbml-formula.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions