Metadata-Version: 2.1
Name: StrikePy
Version: 1.0
Summary: A package for observability and identifiability analysis of non-linear systems 
Home-page: https://github.com/afvillaverde/StrikePy
Author: David Rey Rostro
Author-email: davidreyrostro@gmail.com
License: UNKNOWN
Download-URL: https://github.com/afvillaverde/StrikePy
Keywords: StrikePy,STRIKE-GOLDD,analysis,non-linear,observability,identifiability,dynamic modelling,biosystems
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3.9
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE.txt

# About StrikePy

StrikePy is a Python toolbox that analyses nonlinear models of ordinary differential equations. It performs a simultaneous assessment of:
- state **observability**,
- parameter structural **identifiability**,  
- unknown **input observability**

The analysis is performed symbolically, and yields results that are valid **locally** for all values of the variables, except for a set of measure zero. 

StrikePy implements the FISPO algorithm from the MATLAB toolbox [STRIKE-GOLDD](https://github.com/afvillaverde/strike-goldd).
The motivation behind StrikePy is to provide a Python alternative to MATLAB. 
That said, it should be noted that STRIKE-GOLDD is computationally more efficient and includes more features than StrikePy.

StrikePy was created by **David Rey Rostro**, <davidreyrostro@gmail.com>, under the supervision of [Alejandro F. Villaverde](http://afvillaverde.webs.uvigo.gal/), <afvillaverde@uvigo.gal>. 

## Installation and requirements
StrikePy requires Python 3.9.

The required packages can be installed using pip: `pip install numpy sympy symbtools`

## Getting started
To use StrikePy you just need to follow these 3 steps: 
1. download the toolbox and install the required packages (see above), 
2. define the problem by editing 'options.py', or by creating a custom options file inside the 'custom_options' folder,
3. run the file 'RunModels.py' for a test, or follow the instructions in the file to analyse other models.
	
A number of examples are provided in the models folder.
 
## Results
The results of the analysed models as well as the observability/identifiability matrix will be saved in a .txt file in the results folder. 

More information about StrikePy can be found in the [StrikePy manual](https://github.com/afvillaverde/StrikePy/blob/main/StrikePy/doc/StrikePy_manual.pdf)

## Disclaimer

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License.
    
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
See the GNU General Public License for more details.
 
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

