SBML Conversion to BoolNet for Pathyway Stimluations

12 views
Skip to first unread message

Muhammad Kabir

unread,
Nov 24, 2025, 10:26:46 AM (9 days ago) Nov 24
to sbml-discuss
Dear Members of the SBML Community,
I am working on converting SBML (Level 3 Version 1) pathway models downloaded from Reactome into Boolean networks so I can perform metabolic pathway simulations (knock-in/knock-out) using BoolNet. My goal is to take advantage of the existing curated SBML models from Reactome.
I attempted to convert these SBML files using CaSQ, but I consistently encountered the error stating that “CaSQ is currently limited to handle only SBML Level 2 Version 4.” I understand that my files are in SBML Level 3 and therefore incompatible. I also explored the previously suggested two-step workflow (SBML-core → CellDesigner → SBML-qual), but CellDesigner cannot import SBML Level 3, as it only supports Levels 1 and 2.
My questions are:
  1. Are there any tools available that can convert SBML (Level 3 Version 1) files into SBML-qual format?
  2. Where can I obtain SBML models that are already in SBML Level 1 or Level 2 format, suitable for use with CaSQ or CellDesigner?
  3. I tried to use BioPAX2SBML, but the application is not available anymore or may have changed to a different link (unable to find a new one).
If anyone has encountered a similar challenge or can recommend an alternative workflow, I would greatly appreciate your guidance and suggestions.
Thank you in advance for your help.

Sylvain Soliman

unread,
Nov 24, 2025, 11:12:30 AM (9 days ago) Nov 24
to Muhammad Kabir, sbml-discuss, anna.niaraki

Dear Muhammad,

⁂ Muhammad Kabir <kabi...@gmail.com>:
> I am working on converting SBML (Level 3 Version 1) pathway models downloaded from Reactome into Boolean
> networks so I can perform metabolic pathway simulations (knock-in/knock-out) using BoolNet. My goal is to take
> advantage of the existing curated SBML models from Reactome.
> I attempted to convert these SBML files using CaSQ, but I consistently encountered the error stating that “CaSQ is
> currently limited to handle only SBML Level 2 Version 4.”

We're currently adding Reactome import to CaSQ (but from their SBGN-ML
export rather than their SBML v3 export*), it should be ready soon™…

You can already use the Gitlab/Github version if you want/need, but I
must admit we haven't tested it enough to properly release it yet.

Best,

Sylvain Soliman

*: there are way too many things in SBMLv3 that we cannot or do not
intend to support in CaSQ, hence the SBGN-ML choice (which is also
more coherent with CaSQ's original purpose).

--
Sylvain Soliman <Sylvain...@inria.fr> https://lifeware.inria.fr/~soliman/
Inria Saclay - Équipe Lifeware Bureau/Office 1114
Bât. A. Turing, 1 r Honoré d'Estienne d'Orves Tel: (+33) 1 74854243
Campus de l'École Polytechnique - 91120 PALAISEAU GPG PubKey: 0x0F53AF99

Lucian Smith

unread,
Nov 24, 2025, 3:17:56 PM (9 days ago) Nov 24
to sbml-d...@googlegroups.com, Muhammad Kabir, anna.niaraki
You can also use libsbml to convert SBML models between levels and versions.  In Python, you could do it with:

import libsbml

doc = libsbml.readSBMLFromFile("model.xml")
doc.setLevelAndVersion(2, 4)
result = libsbml.writeSBMLToFile(doc, "model_l2v4.xml")


Note that 'setLevelAndVersion' will fail if there are elements in the model that can't be translated to the target level and version.  If you want to not worry about that and just drop those elements, add 'strict=False' to the call:

doc.setLevelAndVersion(2, 4, strict=False)

For Sylvain:  If you translate SBML L3 models to L2 yourself, you'll make it easier on your users.  When the translation fails, you'd be able to give your users a more precise error message about why it didn't work--even 'the model has SBML Level 3 features we don't support' would be nice, but you could drill down into 'the model contains event priorities, which are not supported' if you wanted to be extra clear.

-Lucian

--
For questions or feedback about the sbml-discuss list,
contact sbml...@googlegroups.com
---
You received this message because you are subscribed to the Google Groups "sbml-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sbml-discuss...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/sbml-discuss/m2pl97l89x.fsf%40inria.fr.

Muhammad Kabir

unread,
Nov 25, 2025, 2:13:23 PM (8 days ago) Nov 25
to sbml-discuss

Hi Lucian,

Thanks a lot for the guidance.

I tried the script you shared. The file was successfully saved, but I noticed that it only changes the header information—it doesn’t seem to convert the internal structure of the model from SBML Level 3 to Level 2. Since CaSQ requires CellDesigner-specific XML rather than generic SBML L2V4, the converted file still isn’t compatible.

Just wanted to check whether there’s an additional step needed for translating the internal model structure, or if this limitation is expected from libSBML’s conversion.

Thanks again for your help.

Best,
Muhammad Kabir

Muhammad Kabir

unread,
Nov 25, 2025, 2:13:27 PM (8 days ago) Nov 25
to sbml-discuss

Hi Sylvain,

Thanks a lot for the update and the clarification regarding SBGN-ML vs. SBMLv3.

If possible, I would still appreciate access to the tool even if it's not fully tested. It would already be very useful for my work, and I’m happy to provide feedback if I encounter anything unexpected.

Thanks again, and looking forward to trying it out.

Best regards,

Muhammad Kabir

Lucian Smith

unread,
Nov 25, 2025, 2:21:59 PM (8 days ago) Nov 25
to sbml-d...@googlegroups.com
On Tue, Nov 25, 2025 at 11:13 AM Muhammad Kabir <kabi...@gmail.com> wrote:

Hi Lucian,

Thanks a lot for the guidance.

I tried the script you shared. The file was successfully saved, but I noticed that it only changes the header information—it doesn’t seem to convert the internal structure of the model from SBML Level 3 to Level 2. Since CaSQ requires CellDesigner-specific XML rather than generic SBML L2V4, the converted file still isn’t compatible.

The internal structure of SBML between L3 and L2 is pretty minimal.  As you noticed, often nothing changes at all besides the headers.  Did you try importing the file into CaSQ?  My guess is that it'll Just Work.

The additional information that CellDesigner adds to SBML is, to my knowledge, visualization only.  I suppose CaSQ might need something from that?  If so, you'd need to (I suppose) round-trip the file through CellDesigner, too, after converting it to L2v4.  But I think this should be unnecessary.

Just wanted to check whether there’s an additional step needed for translating the internal model structure, or if this limitation is expected from libSBML’s conversion.


Nope, that's it--most of the internal structure is identical.

-Lucian
Reply all
Reply to author
Forward
0 new messages