odenlls 0.1.0
Non-linear least squares fitting of chemical kinetics data using ODE simulations
License: MIT
Keywords: non-linear fitting chemical kinetics ordinary differential equations ode

odenlls
=======

*odenlls* is a Python3 library for simulating and fitting chemical
kinetics data. These two pieces are accomplished as follows:

1. Kinetic models are simulated using numerical simulations of the
   ordinary differential equations (ODE) for an arbitrary set of
   chemical reactions. Rate constants and starting concentrations can be
   varied arbitrarily to observe the predicted changes in concentration
   with time.

2. These ODE simulations are fit to experimental kinetic data using
   non-linear least squares (nlls) methods. These fits yield the
   best-fit rate constant and concentration parameters for a given set
   of kinetic data.

Dependencies
------------

This package consists of a single Python module file that was developed
using Python 3.6; however, it should work on most other Python 3
versions with the appropriate external dependencies listed below.

-  Numpy >= 1.13.3
-  scipy>=1.0.0
-  pandas>=0.21.1
-  matplotlib>=2.1.1

The package versions above were used during development. Older/newer
versions should work as well. Older versions of these modules may work
as well, but you may want to run the
`py.test <https://docs.pytest.org/en/latest/>`__ unit tests (*coming
soon*) to ensure they work properly.

Installation
------------

*odenlls* is installable using either Python's ``pip`` package manager
or `conda <https://conda.io/docs/>`__, the package manager for the
`Anaconda Python distribution <https://www.anaconda.com/download/>`__.

To get the latest release using ``pip``, use the following command:

::

    $ pip install odenlls

Or to install from the latest GitHub commit:

::

    $ pip install git+https://github.com/rnelsonchem/odenlls.git

Using ``conda``, the following command will install the latest release
of this package.

::

    $ conda install -c rnelsonchem odenlls

Usage
-----

The *odenlls* module capabilities are demonstrated in several
`Jupyter <http://jupyter.org/>`__ notebooks, which are located in the
"examples" directory on the `GitHub project
page <https://github.com/rnelsonchem/odenlls>`__. A summary of these
notebooks is as follows:

-  The `TLDR
   Notebook <https://github.com/rnelsonchem/odenlls/blob/master/examples/TLDR.ipynb>`__
   is a very brief overview of *odenlls* functionality with very little
   explanatory text.

-  `Notebook
   1 <https://github.com/rnelsonchem/odenlls/blob/master/examples/1.%20First%20order%20irreversible%20kinetics%20simulation.ipynb>`__
   demonstrates simulation of a simple first-order irreversible
   reaction.

-  In `Notebook
   2 <https://github.com/rnelsonchem/odenlls/blob/master/examples/2.%20First%20order%20irreversible%20kinetics%20fitting.ipynb>`__,
   reaction data fitting is shown for a user-generated set of
   first-order irreversible reaction data.

-  `Notebook
   3 <https://github.com/rnelsonchem/odenlls/blob/master/examples/3.%20First%20order%20reversible%20kinetics%20simulation%20and%20fitting.ipynb>`__
   highlights fitting of a real-world data set using a series of
   reversible first-order reactions.