Skip to content

Commit

Permalink
Merge pull request #162 from kwmcbride/package_dev
Browse files Browse the repository at this point in the history
Previous update plus new changes targeting package development
  • Loading branch information
kwmcbride authored Feb 16, 2021
2 parents 3e224cc + 6756200 commit c151fdf
Show file tree
Hide file tree
Showing 495 changed files with 60,725 additions and 888,528 deletions.
35 changes: 0 additions & 35 deletions .github/ISSUE_TEMPLATE/bug_report.md

This file was deleted.

17 changes: 0 additions & 17 deletions .github/ISSUE_TEMPLATE/feature_request.md

This file was deleted.

6 changes: 0 additions & 6 deletions .idea/vcs.xml

This file was deleted.

85 changes: 48 additions & 37 deletions README.md
100755 → 100644
Original file line number Diff line number Diff line change
@@ -1,64 +1,75 @@
KIPET: Kinetic Parameter Estimation Toolkit
===========================================
# <img alt="KIPET" src="branding/kipetlogo_full.svg" height="60">

[![](https://img.shields.io/pypi/v/kipet.svg?style=flat)](https://pypi.org/pypi/kipet/)
[![](https://img.shields.io/github/license/salvadorgarciamunoz/kipet)](https://github.com/salvadorgarciamunoz/kipet/blob/master/LICENSE)
[![](https://img.shields.io/github/last-commit/salvadorgarciamunoz/kipet)](https://github.com/salvadorgarciamunoz/kipet/)
[![](https://img.shields.io/pypi/wheel/kipet)](https://pypi.org/manage/project/kipet/release/0.1.1/)


KIPET is a Python package designed to simulate, and estimate parameters from
chemical reaction systems through the use of maximum likelihood principles,
large-scale nonlinear programming and discretization methods. The software
has the following functionality:

* Simulate a reactive system described with DAEs
* Solve the DAE system with collocation methods
* Pre-process data
* Estimate variances of noise from the model and measurements
* Estimate kinetic parameters from spectra or concentration data across 1 or
large-scale nonlinear programming and discretization methods.

- **Documentation:** - https://kipet.readthedocs.io
- **Examples and Tutorials** - https://github.com/kwmcbride/kipet_examples
- **Source code:** - https://github.com/salvadorgarciamunoz/kipet
- **Bug reports:** - https://github.com/salvadorgarciamunoz/kipet/issues

It has the following functionality:

- Simulate a reactive system described with DAEs
- Solve the DAE system with collocation methods
- Pre-process data
- Estimate variances of noise from the model and measurements
- Estimate kinetic parameters from spectra or concentration data across 1 or
multiple experiments with different conditions
* Estimate confidence intervals of the estimated parameters
* Able to estimate variances and parameters for problems where there is dosing / inputs into the system
* Provide a set of tools for estimability analysis
* Allows for wavelength selection of most informative wavelengths from a dataset
* Visualize results
- Estimate confidence intervals of the estimated parameters
- Able to estimate variances and parameters for problems where there is dosing / inputs into the system
- Provide a set of tools for estimability analysis
- Allows for wavelength selection of most informative wavelengths from a dataset
- Visualize results


For more information and detailed tutorials go to our readthedocs website:
Installation
------------

A packaged version of KIPET can be installed using:

pip install kipet

https://kipet.readthedocs.io
Additionally, KIPET may be installed directly from the repository (if you want the latest version, simply install the desired branch (#branch)):

poetry add git+http://github.com/salvadorgarciamunoz/kipet#master

Naturally you can simply clone or download the repository.

License
------------

GPL-3

Organization
------------

Directories
* kipet - The root directory for Kipet source code
* documentation - user manual
* kipet/examples - tutorial examples and data files
* kipet/library - all libraries and functions
* kipet/validation - validation/test scripts

Authors
----------

* Kevin McBride - Carnegie Mellon University
* Kuan-Han Lin - Carnegie Mellon University
* Christina Schenk - Basque Center for Applied Mathematics
* Michael Short - University of Surrey
* Jose Santiago Rodriguez - Purdue University
* David M. Thierry - Carnegie Mellon University
* Salvador García-Muñoz - Eli Lilly
* Lorenz T. Biegler - Carnegie Mellon University
- Kevin McBride - Carnegie Mellon University
- Kuan-Han Lin - Carnegie Mellon University
- Christina Schenk - Basque Center for Applied Mathematics
- Michael Short - University of Surrey
- Jose Santiago Rodriguez - Purdue University
- David M. Thierry - Carnegie Mellon University
- Salvador García-Muñoz - Eli Lilly
- Lorenz T. Biegler - Carnegie Mellon University

Please cite
------------
C. Schenk, M. Short, J.S. Rodriguez, D. Thierry, L.T. Biegler, S. García-Muñoz, W. Chen (2020)
- C. Schenk, M. Short, J.S. Rodriguez, D. Thierry, L.T. Biegler, S. García-Muñoz, W. Chen (2020)
Introducing KIPET: A novel open-source software package for kinetic parameter estimation from experimental datasets including spectra, Computers & Chemical Engineering, 134, 106716. https://doi.org/10.1016/j.compchemeng.2019.106716

M. Short, L.T. Biegler, S. García-Muñoz, W. Chen (2020)
- M. Short, L.T. Biegler, S. García-Muñoz, W. Chen (2020)
Estimating variances and kinetic parameters from spectra across multiple datasets using KIPET, Chemometrics and Intelligent Laboratory Systems, https://doi.org/10.1016/j.chemolab.2020.104012

M. Short, C. Schenk, D. Thierry, J.S. Rodriguez, L.T. Biegler, S. García-Muñoz (2019)
- M. Short, C. Schenk, D. Thierry, J.S. Rodriguez, L.T. Biegler, S. García-Muñoz (2019)
KIPET–An Open-Source Kinetic Parameter Estimation Toolkit, Computer Aided Chemical Engineering, 47, 299-304.


Expand Down
139 changes: 139 additions & 0 deletions branding/kipetlogo_full.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
54 changes: 54 additions & 0 deletions examples/example_1/Ex_1_ode_sim.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
"""Example 1: ODE Simulation with new KipetModel"""

# Standard library imports
import sys

# Third party imports

# Kipet library imports
from kipet import KipetModel

if __name__ == "__main__":

with_plots = True
if len(sys.argv)==2:
if int(sys.argv[1]):
with_plots = False

kipet_model = KipetModel()

r1 = kipet_model.new_reaction('reaction-1')

# Add the model parameters
k1 = r1.parameter('k1', value=2, units='1/s')
k2 = r1.parameter('k2', value=0.2, units='1/s')

# Declare the components and give the initial values
A = r1.component('A', value=1.0, units='M')
B = r1.component('B', value=0.0, units='M')
C = r1.component('C', value=0.0, units='M')

rA = r1.add_expression('rA', k1*A)
rB = r1.add_expression('rB', k2*B)

r1.add_ode('A', -rA )
r1.add_ode('B', rA - rB )
r1.add_ode('C', rB )

# # Option to check the units of your models
r1.check_model_units()
# # Add dosing points
#r1.add_dosing_point('A', 3, 0.3)

# # Create the model - simulations require times
r1.set_times(0, 10)
# r1.create_pyomo_model()

r1.settings.collocation.ncp = 3
r1.settings.collocation.nfe = 50

#Simulate with default options
r1.simulate()

if with_plots:
r1.plot()
Loading

0 comments on commit c151fdf

Please sign in to comment.