Comments (12)
The remaining issues are:
- Some CellML XML files are defective (missing some initial values). Currently, CellMLToolkit throws an error for these. However, the plan is to return a list of uninitiated variables for the user to provide the values.
- Some models have more than one iv (in fact, some use partial_diff tag). This is uncommon in CellML models but is supported in the specs.
- The main remaining active tissue is to implement imports completely. Currently, we have an incomplete implementation. Full import is rather complicated, as CellML XML files can recursively import and rename components and connections (links between variables from different components) from other files. Because of the connections, we may need to import some components implicitly.
- The ODEProblms which were not solved are not a big problem, as we used a fixed solver (TRBDF2) with some default parameters.
- Large models (XML size > 500K) can take a long time to generate an ODESystem. I'm going to profile and see where the main problem is, but we may need to change the strategy in how to use structural_simplfy for the very large models.
from cellmltoolkit.jl.
2.1.0 is giving ~178/940
from cellmltoolkit.jl.
2.2.0 is giving ~477/940
from cellmltoolkit.jl.
It is a known issue that some files in the CellML Model Repository have bad XML or do not fit the specification of CellML we use. (aside @shahriariravanian which version of CellML are we guaranteeing should work?)
removing Goldbeeter_2006 from my data folder we now get. The problem is caused in EzXML, where if it hits an error in parsing, it pushes to a global error stack that prevents further usage. why they do this, I have no idea...
530/940
from cellmltoolkit.jl.
861 CellML models
718 successfully converted to ODESystem
635 successfully converted to ODEProblem
595 successfully solved
we get 940 from the curls, but cloning the git repos returns 861, so that's where that discrepancy comes from
595/861 is quite good IMO. as a lot of the models are truly defective
from cellmltoolkit.jl.
What are the issues you see?
from cellmltoolkit.jl.
this data is from @shahriariravanian. could you shed some light on chris' question?
from cellmltoolkit.jl.
Great, could you name a model with ? I'd like to look into that. Similarly for a model with missing vars and components.
Also, if you end up doing some profiling, I think it'd be good to add benchmarking to our testing of the model repo. I'm happy to add this too with BenchmarkTools.
This may help pin down inefficiencies, ie "is it dependent on parameter count, state count, etc... ?".
from cellmltoolkit.jl.
This is the results of the latest run:
# | outcome |
---|---|
867 | CellML models |
6 | too large (>500K, excluded) |
744 | successfully converted to ODESystem |
650 | successfully converted to ODEProblem |
608 | successfully solved |
from cellmltoolkit.jl.
Here is the result file as a CSV file. The res
col codes are:
0 -> fail to generate ODESystem
1 -> fail to generate ODEProblem
2 -> fail to solve ODEProblem
3 -> success!
9 -> too large a file, ignored
from cellmltoolkit.jl.
Try setting the runner to a lower tolerance. That should help the domain error cases. If not, generate sqrt -> sqrt(abs
so step rejects don't error out but instead reject.
from cellmltoolkit.jl.
These are the latest tracking results using ver 2.4.1 (to be pushed soon):
# | outcome |
---|---|
867 | CellML models |
6 | too large (>500K, excluded) |
775 | successfully converted to ODESystem |
688 | successfully converted to ODEProblem |
643 | successfully solved |
from cellmltoolkit.jl.
Related Issues (18)
- Register HOT 5
- Connecting CellML models with ModelingToolkit equations HOT 7
- TagBot trigger issue HOT 27
- `modelingtoolkitize` UndefVarError with CellMLToolkit HOT 9
- Read .cellml file directly into ODESystem in components form HOT 4
- Generalizing XML parsing to SBML HOT 20
- register 2.3 HOT 20
- Benchmarking lowering process
- Component model HOT 6
- Corrias `ERROR: KeyError: key CellMLToolkit.Var(:ImportedEformation, :t) not found` HOT 4
- Parameters in equations are not marked as parameters HOT 5
- DomainError: Exponentiation yielding a complex result requires a complex argument. HOT 1
- At ODESystem/CellModel construction time, use `list_states` and `list_params` as defaults in constructor HOT 1
- How to get observables? HOT 2
- Smith et al 2004 model not readable HOT 6
- Instability when claculating local sensitivites HOT 2
- Cannot change parameter and pass parameters to model HOT 6
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 cellmltoolkit.jl.