Model for fitting data with the Hill equation, and exporting the contents

## Project description

## Background

The Hill equation is defined as follows:

y = bottom + ((top - bottom) * x^{nH}) / (EC50^{nH}+ x^{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.

## Usage

### installation

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

pip install hillfit

### __init__

The data environment, in a Python IDE, is defined:

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

*x_data*&*y_data*list or ndarray: specifies the x-values & y-values, respectively, of the raw data that will be fitted with the Hill equation.*bottom_param*bool: specifies whether the accessory bottom parameter of the Hill equation will be employed in the regression.

### fitting()

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

```
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)
```

*x_label*&*y_label*str: specifies the x-axis & y-axis labels, respectively, that will be applied to the regression plot for the raw data points and the fitted Hill equation.*title*str: specifies the title of the regression plot for the raw data points and the fitted Hill equation.*sigfigs*int: specifies the number of significant figures that will be used in printed instances of the fitted Hill equation.*log_x*bool: specifies whether the x-axis of the regression plot will be converted into a logarithmic scale.*generate_figure*&*view_figure*bool: specifies whether the regression plot will be generated and printed in the Python environment, respectively.*print_r_sqr*bool: specifies whether the coefficient of determination (R^{2}) regression plot will be printed in the Python environment.*export_name*&*export_directory*str: optionally specifies the folder and the directory to where the contents folder will be exported, where None design a unique folder name for the information in the current working directory.*figure*bool: specifies whether a figure will be exported with the fitted content.*curve_fit_kws*Optional[dict]: Keyword arguments to pass to scipy.optimize.curve_fit.

#### Accessible content

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

*top*,*bottom*,*ec50*, &*nH*float: The fitted parameters of the Hill equation are accessible via hf.top, hf.bottom, hf.ec50, & hf.nH, respectively.*R*^{2}float: The coefficient of determination of the regression figure is available via hf.r_2.*fitted_xs*&*fitted_ys*list: The x- and y-values of the fitted Hill equation are accessible via hf.x_fit & hf.y_fit, respectively.*fitted_equation*str: The fitted Hill equation, in an amenable string format for the eval() built-in function of Python that allows the user to directly execute the string as a function for an “x” variable, is accessible via hf.equation.*figure*&*ax*matplotlib.figure: The fig and ax objects of the regression figure are available via hf.figure & hf.ax, respectively. This allows users to edit the figures after the simulation is conducted.*x_data*&*y_data*ndarray: The arrays of original data are available via hf.x_data & hf.y_data, respectively.

### 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:

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

*export_name*&*export_directory*str: optionally specifies the folder and the directory to where the contents folder will be exported, where None design a unique folder name for the information in the current working directory.*figure*bool: specifies whether a figure will be exported with the fitted content.

## Execution

Hillfit is executed through the following example sequence of the aforementioned functions, which is exemplified in the example Notebook of our GitHub repository:

```
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")
```

## Project details

## Release history Release notifications | RSS feed

## Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.