Code Monkey home page Code Monkey logo

Comments (9)

giordano avatar giordano commented on August 25, 2024 4

To elaborate a bit, I'm applying for a grant to work on some julia-related projects. One of them would be an SBML parser, ideally purely in Julia. I have a colleague who's involved in SBML that might be able to help out a bit (or at least give some guidance). Note that should I get the grant I'll be able to start working on this in April at the earliest.

Using the Python parser is another possibility, being able to call it seamlessly would anyway be useful for testing for a pure-Julia parser

from reactionnetworkimporters.jl.

isaacsas avatar isaacsas commented on August 25, 2024 1

Direct SBML import would be great, but SBML is a beast. This has been an open DEBio issue for several years, but no one has had the time to invest in it yet unfortunately. I suspect this won't happen until there are dedicated funds to hire a programmer to implement it.

In the meantime you can either directly call the Python SBML API using PyCall, or you could try using Bionetgen to generate a .net file from your SBML model. Depending on the features you need it might work with ReactionNetworkImporters, and if it doesn't work out of the box I'd be happy to try to see if I can get them added in. Right now we have successfully loaded several (large) published Bionetgen-based models in DEBio through this approach.

from reactionnetworkimporters.jl.

SiFTW avatar SiFTW commented on August 25, 2024 1

To elaborate a bit, I'm applying for a grant

Happy to provide a letter of support emphasising how enabling this would be. Best of luck!

from reactionnetworkimporters.jl.

ChrisRackauckas avatar ChrisRackauckas commented on August 25, 2024

It might be nice to handle it by using a PyCall to an SBML parser and then directly using the parsed version. That shouldn't be too bad.

from reactionnetworkimporters.jl.

VitaminBrad avatar VitaminBrad commented on August 25, 2024

I've done something like this, Chris... If the intention is to run scientific machine learning on the equations from an SBML file, this is my current solution:

  • Within Python, use libSBML to extract a string for every differential equation
  • Use regex and an indexed dataframe to convert each of the species references into u[i]s.
  • In Julia, Meta.parse() each line to turn them into expressions
  • du[:] = .eval(u[:]) at each timestep.

I may be able to contribute this code, in a reliable generalized version, by the end of this year. Is there someone already working on something like this?

from reactionnetworkimporters.jl.

ChrisRackauckas avatar ChrisRackauckas commented on August 25, 2024

It would be nice to see that in order to use it as a starting point, even if it's just a work in progress. I know that @giordano was looking into doing this later, but hasn't started yet, so he could probably use whatever you make as a jumping point.

from reactionnetworkimporters.jl.

isaacsas avatar isaacsas commented on August 25, 2024

@VitaminBrad Would it be tough to generate a ModelingToolkit.ReactionSystem directly?

from reactionnetworkimporters.jl.

VitaminBrad avatar VitaminBrad commented on August 25, 2024

Hi @isaacsas
If Julia treats these lines below as Expr, then it would be incredibly easy.

The work I'm currently doing is trying to get qualitative knowledge graphs into reaction networks and quantify them via UDEs & experimental data, so a general pipeline for this (e.g. from Biological Expresion Language (BEL) or other qualitative formalisms) would be really neat and important I think!

@ChrisRackauckas, @giordano It actually already appears to be up and running for a use case of 45 differential equations describing the aggregation of proteins. (https://www.ebi.ac.uk/biomodels/BIOMD0000000542#Overview) I don't think it would take much more to make it work on any SBML file (using PyCall and python-libsbml). I'm all for collaborating on it, though!!:smile_cat:

from reactionnetworkimporters.jl.

isaacsas avatar isaacsas commented on August 25, 2024

We’ve got https://github.com/SciML/SBMLToolkit.jl now for SBML.

from reactionnetworkimporters.jl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.