Skip to content
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

SBML importer drops reversibility information for reactions not FBC format #976

Open
davidtourigny opened this issue Jul 27, 2020 · 5 comments
Assignees
Labels
SBML Related to reading and writing SBML models.

Comments

@davidtourigny
Copy link

Hello

I am trying to create a cobra model using sample SBML files downloaded from KEGG converter. The io method read_sbml_model is able to generate models from these files, but does not retain the reversibility attribute of reactions, instead setting all reactions as reversible because (I assume) upper and lower flux bounds are missing from the reaction declaration (SBML files not in FBC format). Is there an easy way to get around this? I could perhaps use the exporter to write back to SBML then edit reversibility and bounds information using the original SBMLs as reference, but would like to keep this rather messy solution as a last resort.

As an example, the XML header of an SBML from KEGG converter looks like:

<?xml version="1.0" encoding="UTF-8" standalone="no"?><sbml xmlns="http://www.sbml.org/sbml/level2" level="2" version="1">

and a reaction is defined as follows:

<reaction id="R00754" name="R00754" reversible="true">
<listOfReactants>
<speciesReference species="s62"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="s67"/>
</listOfProducts>
<listOfModifiers>
<modifierSpeciesReference species="s9"/>
</listOfModifiers>
</reaction>

Also not sure whether this is a general problem for SBML files not in FBC format, but can not find any mention within the issues list. I am by no means an SBML wizard, so please forgive me if I have missed something obvious! Thanks

@matthiaskoenig
Copy link
Contributor

@davidtourigny This is indeed an issue. Yes, we are only relying on bound information for now. I wanted to do a round of SBML bugfixes in the next days and will fix this issue in the process.

Basically, there should be minimal information loss in a round trip. Losing reversibility information is not an option. Thanks for the report.

@matthiaskoenig matthiaskoenig self-assigned this Jul 27, 2020
@matthiaskoenig matthiaskoenig added the SBML Related to reading and writing SBML models. label Jul 27, 2020
@davidtourigny
Copy link
Author

OK thanks @matthiaskoenig . I will keep on eye out for your updates!

@matthiaskoenig
Copy link
Contributor

matthiaskoenig commented Jul 28, 2020 via email

@davidtourigny
Copy link
Author

davidtourigny commented Jul 28, 2020

Sure, here you go sbml_hsa00010.xml.zip. Others can be downloaded here

@davidtourigny
Copy link
Author

Hi @matthiaskoenig by no means an effort to push you, but I was wondering whether it has been possible to make any progress on this issue or if it appears more complicated than anticipated? Please let me know if I can do anything to help out. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
SBML Related to reading and writing SBML models.
Projects
None yet
Development

No branches or pull requests

2 participants