-
Notifications
You must be signed in to change notification settings - Fork 15
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
Encoding of the "or" when converting from SBMLqual to bnet #25
Comments
Hi, It's not a bug but a limitation of the implementation: bioLQM stores the logical rules as decision diagrams which are optimized for evaluating the rules but often differ from their original representation. It would be nicer for model conversion to keep track of the original function and to use it directly when possible, but it would require large changes to the data structures. |
To workaround this issue, you can use the from colomoto import minibn
bn = minibn.BooleanNetwork.load("file.bnet")
bn = bn.simplify()
with open("file-simplified.bnet", "w") as fp:
fp.write(bn.source()) or through biolqm: import biolqm
m = biolqm.load("myfile.sbml")
bn = biolqm.to_minibn(m) # simplify by default
with open("file-simplified.bnet", "w") as fp:
fp.write(bn.source()) |
That's a good way to get nicer looking functions in the bnet output, but the functions may still be transformed compared to the original file (you may recover the same functions in some cases, but it is not guaranteed) |
Thanks for these explanations and snippets. I will try! :) |
Hi,
I am using BioLQM to convert an SBMLqual file to bnet.
The input SBMLqual file describes a system of 3 nodes
sA
,sB
,sX
, and the only transition issX = sA | sB
. Here is the content of themath
tag of the SBML describing this transition :In the resulting bnet file, I obtained
sX, !sB&sA | sB
.I know that
(!B&A) | B
is equivalent toA | B
, but I am wondering why I don't obtain the exact equivalent of what is wrote in the SBMLqual. Is there any reason to have picked this form, or is it a weird bug ?The text was updated successfully, but these errors were encountered: