himoto / hillfit

Fitting the Hill Equation to Experimental Data
MIT License
11 stars 4 forks source link
curve-fitting fitting hill-equation least-squares python

Fitting the Hill Equation to Modeled or Experimental Data

|PyPI version| |Actions Status| |License| |Downloads| |Pre commit| |Code style| |Imports|

.. |PyPI version| image:: https://img.shields.io/pypi/v/hillfit.svg?logo=PyPI&logoColor=white :target: https://pypi.python.org/pypi/hillfit/ :alt: PyPI version

.. |Actions Status| image:: https://github.com/himoto/hillfit/workflows/Tests/badge.svg :target: https://github.com/himoto/hillfit/actions :alt: Actions Status

.. |License| image:: https://img.shields.io/badge/License-MIT-blue.svg :target: https://opensource.org/licenses/MIT :alt: License

.. |Downloads| image:: https://pepy.tech/badge/hillfit :target: https://pepy.tech/project/hillfit :alt: Downloads

.. |Pre commit| image:: https://results.pre-commit.ci/badge/github/himoto/hillfit/master.svg :target: https://results.pre-commit.ci/latest/github/himoto/hillfit/master :alt: pre-commit.ci status

.. |Code style| image:: https://img.shields.io/badge/code%20style-black-000000.svg :target: https://github.com/psf/black :alt: Code style: black

.. |Imports| image:: https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336 :target: https://pycqa.github.io/isort/ :alt: Imports: isort

Background +++++++++++

The Hill equation <https://www.physiologyweb.com/calculators/hill_equation_interactive_graph.html>_ is defined as follows:

y = bottom + ((top - bottom) * x\ :sup:nH\ ) / (EC50\ :sup:nH\ + x\ :sup:nH)

where bottom is the minimum activity; top is maximum activity; EC50 is the half-maximum effective dose; and nH is the Hill coefficient. The variables x & y are the stimuli dose and the cellular or tissue response. The hillfit module applies this biological equation, and is available with the MIT License <https://opensource.org/licenses/MIT>_.

Usage ++++++

+++++++++++++ installation +++++++++++++

The following command are executed in a command prompt/terminal environment::

pip install hillfit

+++++++++++ init +++++++++++

The data environment, in a Python IDE <https://www.simplilearn.com/tutorials/python-tutorial/python-ide>_, is defined:

.. code-block:: python

import hillfit hf = hillfit.HillFit(x_data, y_data, bottom_param=True)

++++++++++++++++ fitting() ++++++++++++++++

The parameterized data is fitted to the Hill equation, with the following arguments and their default values:

.. code-block:: python

hf.fitting(x_label='x', y_label='y', title='Fitted Hill equation', sigfigs=6, log_x=False, print_r_sqr=True, generate_figure=True, view_figure=True, export_directory=None, export_name=None, figure=True, curve_fit_kws:Optional[dict]=None)


Accessible content

Many data sets and exported components of the fitted information are accessible through the hillfit model object.

++++++++++ export() ++++++++++

The fitted Hill equation, with its data points and parameters, and the regression information are exported to a designated folder through the following syntax and arguments:

.. code-block:: python

hf.export(export_directory=None, export_name=None, figure=True)

Execution +++++++++++

Hillfit is executed through the following example sequence of the aforementioned functions, which is exemplified in the example Notebook of our GitHub repository <./examples>_:

.. code-block:: python

import hillfit hf = hillfit.HillFit(x_data, y_data) hf.fitting(x_label='test_x', y_label='test_y', title='Fitted Hill equation', generate_figure=False, export_name="example_contents")