-
Notifications
You must be signed in to change notification settings - Fork 31
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
Exploit stoichiometric matrix in pysb import #1761
Conversation
Codecov Report
@@ Coverage Diff @@
## develop #1761 +/- ##
===========================================
+ Coverage 77.77% 78.00% +0.23%
===========================================
Files 74 74
Lines 12033 12096 +63
===========================================
+ Hits 9359 9436 +77
+ Misses 2674 2660 -14
Flags with carried forward coverage won't be shown. Click here to find out more.
|
Ran two quick tests with smaller models. Looks like its faster even for small models and improvement increases with model size.
new:
old:
old:
|
For model with ~8k species, processing via stoichiometric matrix completes in ~7min where |
* Steady State Sensitivity modes * integrationOnly and integrateIfNewtonFails in forward sensitivity case * turn off newton method in case integrationOnly and forward sensitivity * python tests * Apply suggestions from code review Co-authored-by: Fabian Fröhlich <[email protected]> * turn off newtin in findSteadyState * fix test_compare_conservation_laws_sbml * take preequilibration into account * fix test_compare_conservation_laws_sbml * quick notebook fix Co-authored-by: Fabian Fröhlich <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice!
Kudos, SonarCloud Quality Gate passed! |
Exploits stoichiometric matrix to compute
dxdotdx_explicit
,dxdotdp_explicit
anddxdotdw
as sparse matrix multiplication with derivatives of the flux vector that can be computed efficiently.