Fit ITC data to a model with two interdependent and non-equivalent binding sites.
This code requires python3 with the numpy and scipy packages.
The script used to fit ITC data, described in detail below.
The data and fit parameters for the preQ1 riboswitches described in this paper. A link to the paper will be provided here upon publication.
Usage is fit_itc_model.py [options] itc_data [itc_data_2 ...] where itc_data is a whitespace-delimited text file containing two columns. The first column contains the volume of each injection in μL, and the second column contains the measured enthalpies in cal mol-1.
Options are:
-aUse the approximate treatment of dilution used in the MicroCal PEAQ software. Implies-i.-b intNumber of bootstrapping iterations to estimate confidence intervals. Default is0.-d floatWidth of the prior for the L2 regularization term for log KD in units of kB T. Default is1.0.-e floatWidth of the prior for the L2 regularization term for ΔH in units of kB T. Default is1.0.-g strName of file conataining an initial guess for the fit parameters. Default for independent sites is to use1.0for the nuisance parameter and0.0for all other parameters. Default for interdependent sites is to use the result of the fit with independent sites.-iTreat binding sites as independent and equivalent.-l floatInitial concentration of ligand in the syringe in μM.-n intNumber of binding sites. Default is1.-p floatPenalty for L2 regularization terms in kcal2 mol-2. Default is0(i.e. no regularization).-r floatInitial concentration of receptor in the ITC cell in μM.-s intNumber of injections to skip. Skipped injections are included in calculations of volume displaced and heat evolved but are not used to fit parameters. Default is0.-t floatTemperature in K. Only used to set prior widths and report ΔG values.-v floatVolume of ITC cell in μL.--print_costPrint the value of the cost function for the initial guess. Useful for cross validation.--save_bootstrap=strName of file to which to writebootstrap samples. Useful for debugging. Default isNone.
You must give the initial concentrations of ligand and receptor and the volume of the ITC cell using the options -l, -r, and -v.
To perform a global fit of multiple experiments simultaneously, provide additional ITC data files as additional arguments to the script. The options -l, -r, -s, and -v can take a comma-separated list to provide different options to each experiment.
fit_itc_model.py -l 100 -r 50 -v 1000 my_itc_data
Fit ITC data in the file my_itc_data using an initial ligand concentration of 100 μM, an initial receptor concentration of 50 μM, and an ITC cell volume of 1000 μL. The parameter estimates and confidence intervals will be reported using the least-squares estimator and the Jacobian of the cost function at the least-squares solution.
fit_itc_model.py -b 10000 -p 10 -l 100 -r 50 -v 1000 my_itc_data
Fit ITC data for the same experiment using an L2 regularization penalty of 10 kcal2 mol-2. The parameter estimates and confidence intervals will be reported using the median and (2.5, 97.5) percentiles of the bootstrapped distribution.
fit_itc_model.py -l 100,100,80 -r 50,40,30 -v 1000 -s 1 my_itc_data my_itc_data_2 my_itc_data_3
Perform a global fit for three experiments. The ligand concentration is 100 μM in the first experiment, 100 μM in the second experiment, and 80 μM in the third experiment. The receptor concentration is 50 μM in the first experiment, 40 μM in the second experiment, and 30 μM in the third experiment. The ITC cell volume is 1000 μL for all three experiments. The first injection will be skipped in all three experiments.