Comments (9)
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.
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.
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.
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.
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.
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.
@VitaminBrad Would it be tough to generate a ModelingToolkit.ReactionSystem
directly?
from reactionnetworkimporters.jl.
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.
We’ve got https://github.com/SciML/SBMLToolkit.jl now for SBML.
from reactionnetworkimporters.jl.
Related Issues (20)
- `functions` is not recognized HOT 6
- Change u₀ fieldname to u0? HOT 1
- ODE, SDE, and Discrete Problem dispatches for `ParsedReactionNetwork` HOT 2
- Internal conversion of integer Float values (e.g. `1.0`) to Int (e.g. 1) HOT 1
- Reenable formatter workflow once it has been updated
- Directly Target ModelingToolkit? HOT 8
- Example Models Database? HOT 3
- Register HOT 50
- TagBot trigger issue HOT 21
- unify matrix network interfaces HOT 2
- allowing catalyst 10 as dependency in ReactionNetworkImporters.jl ? HOT 2
- Unable to load file .net file (generated from bngl, via BioNetGen, from Gupta&Mendes benchmark paper) HOT 3
- update BCR for observables HOT 1
- parameters values and u0s HOT 1
- Graphs as input HOT 2
- New release HOT 1
- I'd like to get this rxn stoichiometry into Julia HOT 10
- Make a documentation HOT 4
- Error with importing functions from .NET files HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from reactionnetworkimporters.jl.