ExpFit has been designed to perform multiexponential fitting of the decay curves originating from a classical kinetic experiment involving injection or infusion or substances or tracers.

It is assumed that the observed data represent the response to the injection/infusion input for a system with linear kinetics and that therefore the data originate from the convolution of the input and the multiexponential impulse response of the system. This multiexponential impulse response is determined by weighted least-squares from the submitted data.

It is also assumed that the input function is a combination of a bolus injection at time 0 and a constant infusion starting at time 0 and continuing throughout the experiment (either the bolus or the constant infusion can be missing). The input data must be provided to ExpFit by the user.

The data (times and values) from which the multiexponential impulse response is determined must be provided in a file. The file may also contain the weights used by the weighted least-squares algorithm.

ExpFit allows up to 5 exponential terms in the multiexponential impulse response. The multiexponential function has the form:

y(t) = C_{1}exp(-E_{1}t) + C_{2}exp(-E_{2}t)
+ ...

where C_{1}, C_{2}, ... are the coefficients, E_{1},
E_{2},
... are the exponents and t is time.

With these conventions, positive exponents determine
decaying exponentials. ExpFit does not allow negative E_{k}, but
C_{k} can be negative.

The weighted least-squares algorithm minimizes the function:

Σ[w_{k}(y_{k}-y*_{k})]^{2}

where y_{k} and y*_{k} are the observed and model-predicted
values, respectively, and w_{k} are the weights. Weights are typically
selected according to the expected standard deviation associated with a given
observed
value,
as w_{k}=1/(expected standard deviation for the k-th data point).

ExpFit has three options for the weighting scheme:

- No weights, i.e., w
_{k}=1 for all k. - Weights are provided in the data file.
- Weights are calculated using a function representing the expected standard
deviation for each data point. The standard
deviation function is a linear function of the model predicted values. Thus,
with this option, w
_{k}=1/(Ay*_{k}+B), where A and B are provided by the user. This option is typically used when it can be assumed that the residuals y_{k}-y*_{k}are mainly due to measurement error, the standard deviation of which can be represented as a linear function of the value.

During the data analysis it is possible to set to zero the weights for individual data points (i.e., points can excluded). However, it is not possible to change the weights manually.

ExpFit requires the following steps:

- Prepare a data file.
- Go to the main ExpFit page and upload the file.
- Insert the bolus and constant infusion values appropriate for the data. Leave the cell blank if there is no bolus or constant infusion.
- Select the number of exponentials you want to use.
- If necessary, set the weighting options and the initial parameter estimates (see details below).
- Click the analyze button.
- After some seconds (the first use of ExpFit requires more time to load a java application), a new page is displayed showing a plot of the data and the results. The graphs show in linear and semilogarithmic scale the data and the exponential fit and the absolute and relative residuals. It is possible to click on the data points (on any plot) to exclude specific points from the fit. The excluded points are drawn in a different color.
- On the result page, buttons are available to re-analyze the data after point exclusion, to change the parameters used for the fit (number of exponentials, weight options, etc.), to analyze a new file or to logout. Click the button appropriate for the task you need to perform.
- After you have completed the analysis, logout to delete from the server your data.

The main ExpFit page has two buttons for setting the weighting options and the initial parameter estimates. These buttons open a small window to select the desired options and insert the values. The weighting options are explained above. In the initial estimates window you can insert custom estimates if the default estimated provided by the procedure are unsatisfactory. If you change the number of exponentials, the initial estimates must be re-entered.

The weighting options and the presence of custom initial estimates are displayed at the bottom of the main and result page.

In the result page, in addition to the plots with the data and the exponential fit, the following parameters are shown:

- The parameters of the exponential function (coefficients and exponents), with estimates from the least-squares method of their coefficient of variation.
- Values for the clearance and the distribution volume, under the assumption that the data originate from a classical kinetic experiment.
- The standard deviation and mean coefficient of variation of the residuals.
- The options used for the analysis.

In case of errors in the data or during the data analysis procedure error messages are displayed in the ExpFit windows. Correct the errors and proceed.

Occasionally, you may get messages saying that the server is busy. This is due to the fact that the server-side computation engine can serve a small number of users and may be temporarily unavailable. In this case, try later.

If errors are displayed that do not appear to originate from inappropriate data or actions, contact the ExpFit administrator.

The data file for ExpFit can be an Excel file or a text-tab delimited file. The file must contain at least two columns; the first is the column of times, the second is the column of values. If the option for weights in file is used, a third column with weights must also be included. Column headers (a single row or multiple rows with text) and missing values (blank or non-numeric cells) are allowed.

In the data file, the times must be in ascending order. Times must be relative to an input starting at 0. There must be a sufficient number of data points to estimate the exponentials. If weights in file are used, missing weights are replaced with ones.

The files in the following table contain real data suitable to test ExpFit.

File |
Description |
Bolus |
Constant infusion |

bolus.xls | Bolus data. The curve represents the concentration observed after a bolus injection of a substance. | 150 | NO |

tracer.xls | Tracer primed-continuous infusion. The curve represents the concentration observed after a primed-constant infusion of a glucose tracer. | 3.74 |
0.0399 |

To test ExpFit with these files, do the following:

- Download one of the Excel files in the table above on your computer using the link.
- Go to the main ExpFit page and upload the file.
- Insert the bolus and constant infusion values appropriate for the data, as shown in the table above.
- Select the number of exponentials (typically from 1 to 3) and click the analyze button.

ExpFit is not designed to analyze multiple data sets efficiently. ExpFit has no database to store the data and the results.

ExpFit has been designed to ensure high quality server-side data analysis software and a flexible and interactive java-based client-side interface. This is indispensable to obtain a reliable user-friendly web-based tool. The drawback of this design is that the response from the server is a bit slower than the typical internet response (about 15 seconds vs 1 second on a fast connection) and that the start up of the client-side java interface is rather slow. This should be remembered when ExpFit is started: loading the java interface may require one minute on a fast connection.

An additional limitation is that the server-side software may be temporarily unavailable.

Javascript must be enabled and that an updated version of Java must be installed on your computer. ExpFit has been tested on various browsers, but it may not work on some browsers particularly with Linux.