Over the course of the summer, my work resulted in successfully ported code of
StructuralIdentifiability.jl, a package that can help researchers who use ordinary differential equations in their work. The package allows answering queries about individual identifiability of parameters and their combinations.
StructuralIdentifiability.jl package is ready to use! 🥳 🎊 😄
You can install from source or via registry:
using Pkg Pkg.add("StructuralIdentifiability") # or Pkg.add("https://github.com/SciML/StructuralIdentifiability.jl")
My contributions ranged from adding tutorials to compatibility with broader
SciML infrastructure (
Symbolics.jl). Here is a list of my contributions with links to relevant Pull Requests (PRs).
- #13: update dependencies of the code to be compatible with
- #17: add documentation to core functions with examples.
- #19: some small optimizations to the code
- #20: fix a small issue in matrix invertibility for a test
- #22 and #23: Adding tutorials on how to use the package.
- #25: adding
juliato the compatibility list and finally registering the package 🎉
- #30: adding compatibility with
ODESystemobjects. Now there are two ways of running
ODEclass that comes with the package as well as the
There are some PRs that remain open for now as of writing this. They focus on things like warnings/errors for particular input types (non-integer coefficients, special functions, etc.) for which the identifiability solution may not be defined.
- #26: this pr is part of investigation into an issue which occurs with one of our dependencies.
- #32: replacing deprecated functions from our package dependency
- #34: check for non-integer coefficients in the input system of the
ODESystemobject. This PR will also include checks for presence of special functions and functions in the numerator. The latter are, as of writing this post, only supported via
Current main focus is PR #34 after which we will release the changes as a new version.
Huge shout out and thanks to Gleb Pogudin who is the original package developer.
This was a great experience learning about Julia language and open source in general, it motivates me to contribute to open source much more!