Skip to main content
Advertisement
  • Loading metrics

htrSPRanalysis: An open source R package for expedited analysis of high-throughput binding kinetics data

  • Janice M. McCarthy ,

    Contributed equally to this work with: Janice M. McCarthy, Kan Li

    Roles Conceptualization, Formal analysis, Methodology, Software, Validation, Visualization, Writing – original draft, Writing – review & editing

    janice.mccarthy@duke.edu

    Affiliations Department of Biostatistics and Bioinformatics, Duke University, Durham, North Carolina, United States of America, Center for Human Systems Immunology, Duke University, Durham, North Carolina, United States of America

  • Kan Li ,

    Contributed equally to this work with: Janice M. McCarthy, Kan Li

    Roles Conceptualization, Data curation, Formal analysis, Investigation, Validation, Visualization, Writing – original draft, Writing – review & editing

    Affiliations Center for Human Systems Immunology, Duke University, Durham, North Carolina, United States of America, Department of Surgery, Duke University, Durham, North Carolina, United States of America

  • Georgia D. Tomaras,

    Roles Funding acquisition, Writing – review & editing

    Affiliations Center for Human Systems Immunology, Duke University, Durham, North Carolina, United States of America, Department of Surgery, Duke University, Durham, North Carolina, United States of America, Duke Human Vaccine Institute, Duke University, Durham, North Carolina, United States of America, Department of Integrative Immunobiology, Duke University, Durham, North Carolina, United States of America, Department of Molecular Genetics and Microbiology, Duke University, Durham, North Carolina, United States of America

  • S. Moses Dennison

    Roles Conceptualization, Data curation, Investigation, Supervision, Writing – original draft, Writing – review & editing

    Affiliations Center for Human Systems Immunology, Duke University, Durham, North Carolina, United States of America, Department of Surgery, Duke University, Durham, North Carolina, United States of America

Abstract

Surface plasmon resonance (SPR) enables label-free detection of binding kinetics and has been widely applied to the biophysical characterization of molecular interactions such as antibody-antigen binding. With the advent of high-throughput SPR (HT-SPR) instruments, hundreds of binding interactions can be detected simultaneously, combining the details of kinetic measurements with the capability of large-panel biomolecule screening. However, binding kinetics analysis for large panels of antibody or antigen often requires a combination of fitting strategies to address different types of sensorgrams. While software packages exist for SPR binding kinetics data analysis, they are associated with a number of limitations: 1) currently most of the software packages are proprietary, prohibiting widespread use; 2) most of the software packages, including open source packages, are designed primarily for low-throughput data analysis, making analyzing a large number of kinetics data sets labor-intensive; 3) the software typically requires multiple iterative user-interface interactions when analyzing large data sets. Here, we present htrSPRanalysis, an open source R package designed primarily for high-throughput binding kinetics data analysis, currently focusing on 1:1 binding analysis. htrSPRanalysis leverages the increasingly commonplace multi-core computing architecture to efficiently analyze a large number of sensorgrams with minimal user-interface interaction. It also offers automated generation of analysis output for all sensorgrams. Furthermore, beyond manual optimization of sensorgram fitting strategies, htrSPRanalysis accelerates the analysis process by providing automated procedures to determine the optimal concentration range, choose the optimal dissociation window for fitting, and detect bulk shift. The high-throughput functionalities and automation of fitting optimization makes htrSPRanalysis especially useful for speeding up data analysis to get results for implementing further steps in therapeutic antibody discovery research.

Author summary

Surface plasmon resonance (SPR) is widely used to measure the strength and speed of molecular interactions, such as how antibodies recognize their targets. SPR does not require labeling and can provide real-time kinetics information. Recent advances in high-throughput SPR (HT-SPR) instruments allow hundreds of interactions to be measured simultaneously, which is especially valuable for the screening of large panels of biomolecules. Despite these advances, data analysis remains a major challenge. Most existing software is proprietary, designed for small-scale studies, or requires a time-consuming manual effort for analyzing each molecular interaction, limiting the pace and scalability of research. We developed htrSPRanalysis, an open-source R package designed specifically to analyze high-throughput binding kinetics data. The package leverages multi-core computing to analyze data for many molecular interactions in parallel, dramatically reducing processing time. It also includes automated routines for steps to determine the optimal data analysis strategy, including bulk shift correction, optimal concentration range selection, and dissociation window determination, ensuring more consistent and reproducible analyses. By reducing manual effort and providing scalable analysis tools, htrSPRanalysis helps researchers efficiently interpret HT-SPR data, accelerating the discovery and development of therapeutic antibodies.

1. Introduction

Detailed understanding of molecular interactions, such as antibody–antigen and drug–target binding, is crucial for developing novel therapeutics. Binding kinetics platforms detect real-time binding and dissociation between molecules. Label-free kinetic platforms enable real-time detection without fluorescence or other labels that might interfere with binding.

Surface Plasmon Resonance (SPR) [1] is a label-free method used to characterize binding kinetics. In a typical experiment, one binding partner (ligand) is immobilized on the SPR sensor chip, and the other partner (analyte) in solution flows over the surface, allowing interaction. The binding follows:

where A is analyte, L is ligand, is complex, and and are the association and dissociation rate constants. When analyte binds ligand, the added mass on the chip surface changes the reflected angle of an incident light beam [2,3]. Within the linear range, the angle change is proportional to mass change and is quantified in resonance units (RU).

To quantify kinetics, data are collected in three phases: 1) baseline, with buffer over the sensor surface, 2) association, with analyte flowed over the surface, and 3) dissociation, with buffer only, allowing bound analyte to dissociate. Titration of analyte over multiple concentrations enables simultaneous analysis of several baseline–association–dissociation cycles, improving estimation of kinetic parameters.

A typical titration sensorgram is shown in Fig 1. Usually, a 1:1 binding model is used unless a more complex model is justified. Baselines from each cycle are used for alignment, while association and dissociation data are simultaneously fitted using the Langmuir 1:1 binding model.

thumbnail
Fig 1. An example SPR kinetics titration sensorgram.

Panel A shows the sensorgram before fitting and panel B shows the sensorgram after fitting, with the black curved lines indicating the fitted curves.

https://doi.org/10.1371/journal.pcbi.1014581.g001

Practically, for optimal fitting, several data-selection and fitting details must be considered: 1) For a binding interaction, titrations can span a wide analyte range, but typically only a narrow subset shows strongly concentration-dependent responses suitable for kinetic analysis. This range is usually chosen by visual inspection. 2) Because of factors such as buffer changes, there may be a sudden signal jump between the end of association and the start of dissociation. This gap, termed bulk shift in SPR, should not be fitted as a binding-related signal change. 3) The dissociation phase may plateau at a nonzero response or exhibit multiexponential decay due to nonspecific binding or re-binding, so its length is often truncated by visual inspection for fitting. 4) It can be useful or necessary to titrate multiple analyte concentrations without regenerating the chip surface. In this case, association may not begin at zero RU and must be fitted as a parameter.

High-throughput SPR platforms now enable simultaneous collection of up to 384 titration sensorgrams [4,5], but manual steps in kinetic analysis create a major bottleneck. To better automate fitting for high-throughput data, useful fitting practices must be incorporated.

Current software [68] is proprietary, restricted to low-throughput data, or both (Table 1). To our knowledge, the only open-source tools for fitting sensorgrams are Anabel [6], provided as an R Shiny [9] web app and for local use, and a newer web-based Python application [8]. Although these tools have user-friendly interfaces, they lack high-throughput capabilities such as algorithmic selection of the optimal concentration window, automatic bulk-shift detection, and detection of the end of dissociation. None of the existing packages support simultaneous fitting of multiple sensorgrams using the multiple CPUs available on most modern computing platforms.

thumbnail
Table 1. Summary of available software for binding kinetics titration analysis. “Multi-core” support refers the software’s ability to leverage multiple CPUs on a computer or on high-performance computing clusters to analyze multiple sensorgrams simultaneously, speeding up computation as the number of available CPUs increases, although the speed-up is sub-linear.

https://doi.org/10.1371/journal.pcbi.1014581.t001

Previously, we reported a Wolfram Mathematica–based package, TitrationAnalysis, that automated high-throughput kinetic analysis, including SPR titration data [10]. The package produced accurate kinetic estimates while reducing repeated manual interaction with software for large data sets. However, Wolfram Mathematica is not freely available, restricting broader use of TitrationAnalysis.

Here, we introduce an R-based package for SPR binding kinetics analysis that provides the features above, which are lacking in other software. We further improved on TitrationAnalysis capabilities and implemented additional analysis functions in R, a freely available language. In this first version of htrSPRanalysis, we implement only the Langmuir 1:1 [1518] binding model. The 1:1 model can analyze most kinetic data unless a more complex model can be explicitly assumed.

2. Design and implementation

2.1. Package overview

The package currently implements the Langmuir 1:1 model to analyze all sensorgrams. The package uses the following equations to fit the association and dissociation phases of the sensorgrams. The association phase was generated from the following equation:

where is the association rate constant and is the dissociation rate constant. is the molar concentration of analyte for a given titration cycle and is the maximum achievable response for the same titration cycle. If we assume the same for all analyte concentrations, the term becomes . If the titration is nonregenerative, fits for a hypothetical time point when the response can be extrapolated to zero. If the titration is regenerative, is zero for all analyte concentrations. If we assume bulk shift occurred due to factors such as buffer mismatch, is the bulk shift for the current analyte cycle. If we assume no bulk shift, becomes zero for all analyte concentrations.

The dissociation phase is modeled by the equation below, which results in an exponential decay model.

where is the time at the end of the association phase. accounts for any abrupt drift in signal between association and dissociation due to factors such as nonspecific binding during association. In practice, simultaneous fitting for and leads to over-parametrization. Therefore, only one of the two terms can be fitted in a single sensorgram.

The package requires the user to provide an Excel spreadsheet containing the underlying time series for all sensorgrams as well as an Excel spreadsheet containing the fitting instructions for each of the sensorgrams. Currently, the package is designed particularly with the Carterra LSA platform in mind but can be adapted for other platforms. For example, data from Octet Biolayer Interferometry (BLI) instruments (see S1 Data) or from Biacore SPR instruments can be reformatted to use in htrSPRanalysis. Specifically for Carterra LSA, the package determines the region of interest (ROI), i.e., spots on the chip surface corresponding to each time series using the header information from the Carterra output. The user needs to provide information during the immobilization setup (block and 96-well plate position) for the package to match the time series of a given ROI with the correct sample information. To analyze data from a different platform, the user is expected to indicate an assumed ROI for each sensorgram when providing fitting instructions. Each sensorgram can only be fitted once per fitting session.

File formatting details and sample files are available when installing the package (see Supplementary Material). Briefly, the fitting instructions for each sensorgram should include (Fig 2): ligand and analyte names; time lengths of baseline, association, and dissociation steps; (optional) time to skip at the start of association and dissociation to avoid artifacts; all analyte concentrations in the raw data; up to five concentrations to be fitted; whether to fit for bulk shift, regenerative titration, automatic baseline correction, global , automatic bulk shift detection, and automatic dissociation window selection. The dissociation time can be a user-specified value or the full data length if automatic dissociation window selection is activated. If no specific analyte concentrations are chosen, the algorithm automatically selects five consecutive optimal concentrations or uses all concentrations if fewer than five were titrated.

thumbnail
Fig 2. A flowchart of required information from users to use the htrSPRanalysis package.

Bold text in blue followed by asterisks indicate automation features adopted from TitrationAnalysis into htrSPRanalysis. Bold texts in purple followed by asterisks indicate automation features uniquely developed in the htrSPRanalysis package.

https://doi.org/10.1371/journal.pcbi.1014581.g002

We outline the analysis pipeline and describe key parts in detail in the following subsections. A typical analysis pipeline is illustrated in Fig 3. After the user provides the raw data file and the fitting instructions file, the input files are screened for valid formatting and then processed in R for analysis.

thumbnail
Fig 3. Illustration of the analysis pipeline using simulated data.

Each column shows all the analysis steps of a single sensorgram and each row shows a single analysis step for all sensorgrams. All 4 sets of data were simulated using . Data shown in Panel A-L were simulated with and ; data shown in panel M-P were simulated with and . In panel C, G, K and O, points in green indicate concentrations selected for fitting. All panels in the figure were generated using the htrSPRanalysis package.

https://doi.org/10.1371/journal.pcbi.1014581.g003

Several analysis steps will be automatically performed for each set of sensorgrams. First, a baseline correction is made for each spot using all the provided analyte concentrations. Second, the 5 “best” concentrations are chosen for curve fitting. In a titration where a two-fold dilution series is used for the analyte, this 5-concentration range is usually equal to or similar to the linear range of the dose response ( analyte concentration versus end of association response). After the first two steps, based on the user’s description of the sensorgram, the selected sensorgram is then fitted to a 1:1 Langmuir binding model [1518] using the nls.lm function from the R MINPACK library [19,20] This function implements the Levenberg-Marquardt optimization algorithm [21,22] for nonlinear least squares curve fitting. If the user specifies in the sample information that the software should automatically determine the optimal dissociation window or detect bulk shift, the corresponding algorithms will be applied to adjust the fitting strategy.

After fitting all sensorgrams, a csv file is produced that contains estimates for , , (and the bulk shift, if included) and standard errors for all parameters. A PDF file is also produced that outputs one page per sensorgram, including the fitted sensorgram, a table of parameter estimates with standard error, the dose response curve and a plot of fitted residuals.

Some R objects will be stored throughout the analysis pipeline, including:

  1. processed_input: raw time series and fitting instructions stored in R after format checking and re-organizing using function process_input();
  2. plots_before_processing: plots of raw sensorgrams before any processing, including baseline correction, obtained by executing function get_plots_before_baseline():;
  3. fits_list: parameter estimates for each sensorgram obtained by executing the function get_fits();
  4. plot_list: plots for fitted sensorgrams, obtained using the function get_fitted_plots();
  5. rc_list: plots for dose-response curves (analyte concentration vs. peak response), with concentrations used in fitting indicated, obtained using the function get_rc_plots()

The user can also create the aforementioned CSV and PDF report using functions create_csv() and create_pdf().

2.1.1. Baseline correction.

To use automatic baseline correction, the user should provide the starting time and time length for baseline averaging. The baselines are averaged for each concentration, and the correction is performed as follows: If the chip surface was regenerated before the start of each cycle, all cycles are adjusted to an average baseline of zero (Fig 3A,3B). If the chip was not regenerated, the software checks to see if the highest baseline has an average that is negative, which most likely indicates that the binding was too weak for analyte to accumulate on the surface after the dissociation step. In this case all cycles are also adjusted to an average baseline of zero (Fig 3M,3N). Otherwise, the baseline average of the lowest baseline among all the cycles is subtracted from the responses (Fig 3E,3F,3I,3J).

2.1.2. Concentration selection.

The user may opt to choose the concentrations to fit by indicating those in the sample information. If not, the package will determine the concentration range in the following manner if data for more than 5 analyte concentrations are provided: The peak binding responses (averaged responses from the last 15 seconds to the last 5 seconds of the association phase) are calculated for each concentration. The consecutive differences between these average responses are recorded, and then a cumulative sum is performed over the differences for each 5 cycle window. The selected concentration range is then set to the 5 cycle window that results in the largest cumulative sum of differences (Fig 3C,3G,3K,3O). This concentration range should be the same as or close to the optimal concentration range. The user can further manually remove concentrations or choose a different range for fitting.

2.1.3. Bulk shift.

Bulk shift usually occurs when there is a buffer mismatch between the association step and baseline/dissociation step, causing a sudden change in signal independent from signal change due to binding or dissociation. The user can choose to have bulk shift fitted or have the algorithm determine whether bulk shift fitting is needed.

Automatic detection of bulk shift is performed per titration cycle in the following manner: First, we compute the average response over the last 50 seconds of the association phase and the first 50 seconds of dissociation. If, for any cycle, the absolute value of the difference between the two averages is greater than a user-defined fold change (1.1 fold by default as a conservative starting value) compared to the standard deviation of the last 50 seconds of association or the first 50 seconds of dissociation, the bulk shift will be included in the fit (Fig 3L). Thus, the determination is attenuated to the noise in the data. The time length used to calculate standard deviations is also tunable by users.

2.1.4. Dissociation window.

There are instances where the user might not want to include the full dissociation window for curve fitting. For example, when there is a very fast dissociation, a large part of the dissociation phase will be flat, and the only variation is due to noise. Another reason to shorten the dissociation window is when there is nonspecific binding causing an upward drift of signal, or there is a bivalent effect (for example, when the analyte is an IgG molecule) and there is an apparent two-phase dissociation.

The user may specify whether the software should determine an optimal dissociation length for curve fitting or to use a provided value. For automatic determination, the software performs a rolling linear regression on the dissociation phase data with a window size of 20 consecutive data points. We begin at the first observed value in the dissociation phase and do linear regression for the first 20 data points. We then begin with the second observed value in the dissociation phase and do linear regression for the second time points to the , etc. The maximum absolute value of the resulting slopes is computed and used to truncate the dissociation window for fitting when the slope is less than a user-specified fraction of the maximum (30% by default to ensure the rapidly-changing region of the curve is retained) (Fig 3P). This algorithm can be used to exclude later portion of dissociation that is more susceptible to binding artifacts such as baseline drift and detect departures from simple exponential decay such as biphasic dissociation.

The package also detects and truncates upward drift: from the same rolling-slope series, it identifies the consecutive positive slopes and truncates the dissociation window at the start of the analysis, recording an updrift flag for the affected sensorgram. The package has also set the slowest dissociation rate threshold ( as default) to eliminate biophysically unrealistic dissociation rate due to noise or upward drift. The slope-flattening fraction for no-upward-drift dissociation curves (dissociation_slope_tolerance, default 0.30), the number of consecutive positive-slope windows used to declare updrift (upward_slope_window, default 5), and the response-range thresholds for applying automatic window detection (min_RU_tol, max_RU_tol) can all be adjusted by the user in process_input.

2.1.5. Global and local .

The package provides the option to estimate the value for each cycle independently (local ) or estimate a single that works for all cycles (global ). In some cases, the 1:1 binding model can be used as a simplified model to quickly fit kinetics traces that contain more complex binding dynamics, where the association phase cannot be adequately explained using a global and a local estimate for each cycle separately might provide better curve fitting.

2.2. Multi-core processor support

In addition to automation features, the package allows for parallelization to take advantage of multi-core systems. Most modern computers are multi-core, meaning they have more than one CPU. High-performance compute clusters typically have 16 + cores, with some as high as 100 cores. By default, the number of available cores is automatically detected when using the package, and all CPU-intensive functions are parallelized to that number of cores, so that many sensorgrams can be analyzed simultaneously. For example, if 32 cores are available, 32 sensorgrams can be analyzed at the same time. The resulting reduction in total run time is sub-linear to the number of cores due to computation needed beyond the fitting step. Users can override the default by setting the “ncores” input within the process_input function.

3. Results

Here, we have applied the htrSPRanalysis package to analyze select antibody-antigen binding data sets previously analyzed for the COVIC consortium (covic.lji.org) [4], where we had determined binding affinities and specificities for a large panel (400) of SARS-CoV-2 specific antibodies. These monoclonal antibodies (mAbs) were chosen solely to highlight the performance of the htrSPRanalysis package, and not to indicate that these mAbs are unique compared to similar mAbs in the same study or they are selected for further development.

To illustrate the general fit performance of the package, we chose to highlight the data from two mAbs as examples. The spike protein is the surface protein of the SARS-CoV-2 virus that caused a COVID-19 pandemic [23,24]. The cryptic binding site on the receptor binding domain (RBD) is a relatively conserved region among the different SARS-CoV-2 variants [2527] and mAbs that target this site are very likely to bind with strong affinities to multiple spike variants. The representative sensorgrams and triplicate averaged kinetics estimates of two cryptic-site targeting mAbs binding to RBD and multiple spike variants are shown in Fig 4 and Table 2.

thumbnail
Fig 4. Representative fitted sensorgrams of 2 RBD cryptic site specific mAbs binding to RBD and multiple spike variants.

A-D) The sensorgrams of CoVIC-27 binding to RBD, WT spike protein, B.1.351 spike protein and BA.1 spike protein, respectively, are shown. E-H) The sensorgrams of CoVIC-85 binding to RBD, WT spike protein, B.1.351 spike protein and BA.1 spike protein, respectively, are shown.).

https://doi.org/10.1371/journal.pcbi.1014581.g004

thumbnail
Table 2. Summary of triplicate averaged kinetics estimates of 2 RBD cryptic site specific mAbs binding to RBD and multiple spike variants. Column titles indicate the names of the mAbs and row titles denote the names of antigens.

https://doi.org/10.1371/journal.pcbi.1014581.t002

The kinetics estimates obtained using the htrSPRanalysis package matched previously reported values for these binding interactions (covic.lji.org) [4], which were analyzed using TitrationAnalysis [10]. Kinetic estimates show that the two mAbs, CoVIC-27 and CoVIC-85, are capable of retaining strong binding affinities (< 1 nM) to the B.1.351 (Beta) variant and decent binding affinities (89–126 nM) to the BA.1 (Omicron) variant.

Because automatic bulk shift detection and automatic dissociation window determination are unique features implemented in htrSPRanalysis, we will discuss the performance of these features below using other antibody-antigen binding data from the COVIC consortium project.

3.1. Automatic bulk shift detection

Fig 5 shows an example sensorgram with bulk shift between association and dissociation (Fig 5A-5B). The htrSPRanalysis package was able to automatically detect and fit for bulk shift. The resulting kinetics estimates were comparable to the kinetics estimates obtained after the bulk shift was artificially corrected (Fig 5C-5D, Table 3).

thumbnail
Fig 5. Representative sensorgrams with bulk shift.

The figure shows the analysis of binding kinetics between CoVIC-53 and B.1.351 spike protein. Panel A-B show the analysis of binding kinetics with automatic bulk shift detection. Panel C-D show the analysis after the end of association was manually aligned with the beginning of dissociation (inter-step correction).

https://doi.org/10.1371/journal.pcbi.1014581.g005

thumbnail
Table 3. Summary of kinetics estimates of example binding sensorgrams with bulk shift.

https://doi.org/10.1371/journal.pcbi.1014581.t003

3.2. Automatic dissociation window selection

Fig 6 and Table 4 show two examples where the dissociation curve cannot be adequately fitted with a single exponential component in its entirety. In the case of CoVIC-75 binding to RBD (Fig 6A-6C), some residual amount of analyte was left bound to the ligand at the end of dissociation. In the case of CoVIC-47 binding to BA.1 spike protein (Fig 6D-6F), the dissociation contained two different curvatures, indicating biphasic dissociation. If 600 seconds of dissociation window was fitted, (Fig 6B,6E), the fittings of dissociation were not ideal for both sensorgrams. The automatic window selection option in the htrSPRanalysis package was able to select windows that were dominated by the first dissociation curvature (Fig 6C,6F)using the default setting. In the case of CoVIC-47 binding to BA.1 spike protein (Fig 6D-6F), the window truncation also improved the fit of the association phase.

thumbnail
Fig 6. Representative sensorgrams with complex dissociation curvatures.

Panel A-C show the analysis of binding kinetics between CoVIC-75 and RBD. Panel D-F show the analysis of binding kinetics between CoVIC-47 and BA.1 spike protein.

https://doi.org/10.1371/journal.pcbi.1014581.g006

thumbnail
Table 4. Summary of kinetics estimates of example binding sensorgrams with complex dissociation profile.

https://doi.org/10.1371/journal.pcbi.1014581.t004

3.3. Multi-core performance

To illustrate the speed-up afforded by parallelization, we analyzed subsets of a 384-spot Carterra LSA data set ranging from 64 to 384 sensorgrams, repeating the complete analysis pipeline across a range of core counts on a single compute node. These runs were performed on a high-performance compute node running linux. Table 5 reports the resulting total wall-clock times. Increasing the number of cores substantially reduces run time, but the gains are sub-linear and diminish beyond roughly 16–20 cores, reflecting the fixed serial portions of the pipeline such as input processing and report generation.

thumbnail
Table 5. Total wall-clock time (seconds) for the complete htrSPRanalysis pipeline as a function of the number of sensorgrams analyzed (rows) and the number of processor cores used (columns). Values are averaged over replicate runs on a single compute node, each analysis run in a fresh R session.

https://doi.org/10.1371/journal.pcbi.1014581.t005

4. Discussion

The SPR binding kinetics assays can be used to measure a wide range of binding affinities and diverse binding kinetics. Therefore, different fitting strategies must be applied to accurately estimate the kinetics rate constants. Here, the htrSPRanalysis package provides a useful tool for high-throughput analysis of binding kinetics data.

The package provides functions to automatically select concentration range, truncate dissociation window and detect bulk shift. In particular, automatic detection of dissociation phases and bulk shift are uniquely offered in this package. These automatic functions can be used to minimize the user’s need for visual inspection of each sensorgram before fitting and provide guidance for the best fitting strategies. We did find that not all sensorgrams containing bulk shift can be detected automatically and the bulk shift detection algorithm will be further optimized in the future.

The package also provides options to store fitting details for quick recall. While users may follow a simple pipeline outlined in the R vignette (provided in the Supplementary Materials and in the installed R package), there is also tremendous flexibility for more experienced R users. The R objects returned from the main user functions all contain list objects that can be accessed by the user. In particular, the plot functions return a list of ggplot2 [28] objects that can be modified by adding additional layers. Additionally, raw input is accessible in the R object processed_input, and fit results are accessible in the R object fits_list.

Although the package is currently designed with one specific experimental platform in mind, the user can potentially reformat data from other instruments to use with the package.

5. Availability and future directions

We have developed a freely available open source R package for the analysis of high-throughput SPR data. The software not only expedites analysis by allowing the use of multiple processor cores to speed up curve fitting, but is also specifically designed to automate conventionally manual steps in the analysis pipeline.

The software is available on the Comprehensive R Archive Network (CRAN) and may be installed using the R command install.packages(“htrSPRanalysis”).

In the current version of the htrSPRanalysis, we have focused on the implementation of 1:1 binding model. More complex binding models may be incorporated into the package in the future. For example, we have previously developed a separate bivalent analyte model [29]. We plan to further optimize the performance of the bivalent analyte model fitting in terms of speed, make it more appropriate for high-throughput SPR and integrate it in a future version of this package. We also plan to incorporate mass transport model into the package in the future after ensuring algorithm stability and parameter identifiability, especially for mass transfer coefficient.

Supporting information

S1 Data. An example of adapting BLI data for use in htrSPRanalysis.

https://doi.org/10.1371/journal.pcbi.1014581.s002

(XLSX)

Acknowledgments

We acknowledge the Coronavirus Immunotherapy Consortium (CoVIC) for the aggregation and distribution of the CoVIC mAb panel as well as their management of the CoVIC database.

During the development of this software and preparation of this manuscript, the authors used Claude Code (Anthropic; model Claude Opus 4.8) [30] to assist with R code development and refactoring, performance benchmarking of the multi-core implementation, and preparation of the package vignette. All AI-assisted outputs, including code and analyses, were reviewed, tested, and verified by the authors, who take full responsibility for the content of the manuscript and software. Note that the vast majority of the package is human-generated code.

References

  1. 1. Hearty S, Leonard P, O’Kennedy R. Measuring antibody-antigen binding kinetics using surface plasmon resonance. Methods Mol Biol. 2012;907:411–42. pmid:22907366
  2. 2. Tanious FA, Nguyen B, Wilson WD. Biosensor-surface plasmon resonance methods for quantitative analysis of biomolecular interactions. Methods Cell Biol. 2008;84:53–77. pmid:17964928
  3. 3. Bakhtiar R. Surface Plasmon Resonance Spectroscopy: A Versatile Technique in a Biochemist’s Toolbox. Journal of Chemical Education. 2013;90(2):203–9.
  4. 4. Li K, Huntwork RHC, Horn GQ, Abraha M, Hastie KM, Li H, et al. Cryptic-site-specific antibodies to the SARS-CoV-2 receptor binding domain can retain functional binding affinity to spike variants. J Virol. 2023;97(12):e0107023. pmid:38019013
  5. 5. Williams KL, Guerrero S, Flores-Garcia Y, Kim D, Williamson KS, Siska C, et al. A candidate antibody drug for prevention of malaria. Nat Med. 2024;30(1):117–29. pmid:38167935
  6. 6. Krämer SD, Wöhrle J, Rath C, Roth G. Anabel: An Online Tool for the Real-Time Kinetic Analysis of Binding Events. Bioinform Biol Insights. 2019;13:1177932218821383. pmid:30670920
  7. 7. BIACORE. BIAevaluation Version 4.1 Software Handbook. Br-1002-29 ed. Uppsala, Sweden: GE Healthcare; 2007.
  8. 8. Anshori I, Harimurti S, Rama MB, Langelo RE, Jessika, Yulianti LP, et al. Web-based surface plasmon resonance signal processing system for fast analyte analysis. SoftwareX. 2022;18:101057.
  9. 9. Chang W, Cheng J, Allaire J, Sievert C, Schloerke B, Xie Y, et al. shiny: Web Application Framework for R; 2022. https://CRAN.R-project.org/package=shiny
  10. 10. Li K, Huntwork RHC, Horn GQ, Alam SM, Tomaras GD, Dennison SM. TitrationAnalysis: a tool for high throughput binding kinetics data analysis for multiple label-free platforms. Gates Open Res. 2024;7:107. pmid:38009106
  11. 11. Carterra Inc. Kinetics Software User Manual; 2025. https://carterra-bio.com/resources/kinetics-software-manual/
  12. 12. Sartorius Stedim Biotech GmbH. Octet BLI Discovery and Octet Analysis Studio Software; 2022. https://www.sartorius.com/download/552468/octet-software-version-10-datasheet-en-sartorius-data.pdf
  13. 13. Ridgeview Instruments AB. TraceDrawer: Software for real-time interaction data analysis; 2024. https://tracedrawer.com/download/software-tracedrawer-1-10-ligandtracer-version/
  14. 14. BioLogic Software Pty Ltd. Scrubber2: Biosensor data clean-up and analysis software; 2025. http://www.biologic.com.au/scrubber.html
  15. 15. Sahu A, Soulika AM, Morikis D, Spruce L, Moore WT, Lambris JD. Binding Kinetics, Structure-Activity Relationship, and Biotransformation of the Complement Inhibitor Compstatin. The Journal of Immunology. 2000;165(5):2491–9.
  16. 16. Alam SM, Morelli M, Dennison SM, Liao H-X, Zhang R, Xia S-M, et al. Role of HIV membrane in neutralization by two broadly neutralizing antibodies. Proc Natl Acad Sci U S A. 2009;106(48):20234–9. pmid:19906992
  17. 17. Santra S, Tomaras GD, Warrier R, Nicely NI, Liao H-X, Pollara J, et al. Human Non-neutralizing HIV-1 Envelope Monoclonal Antibodies Limit the Number of Founder Viruses during SHIV Mucosal Infection in Rhesus Macaques. PLoS Pathog. 2015;11(8):e1005042. pmid:26237403
  18. 18. Jeffries TL Jr, Sacha CR, Pollara J, Himes J, Jaeger FH, Dennison SM, et al. The function and affinity maturation of HIV-1 gp120-specific monoclonal antibodies derived from colostral B cells. Mucosal Immunol. 2016;9(2):414–27. pmid:26242599
  19. 19. Elzhov TV, Mullen KM, Spiess AN, Bolker B. Minpack.lm: R Interface to the Levenberg–Marquardt Nonlinear Least-Squares Algorithm Found in MINPACK, Plus Support for Bounds; 2016. https://CRAN.R-project.org/package=minpack.lm
  20. 20. R Core Team. R: A Language and Environment for Statistical Computing; 2020. https://www.r-project.org/
  21. 21. Levenberg K. A method for the solution of certain non-linear problems in least squares. Quart Appl Math. 1944;2(2):164–8.
  22. 22. Marquardt DW. An Algorithm for Least-Squares Estimation of Nonlinear Parameters. Journal of the Society for Industrial and Applied Mathematics. 1963;11(2):431–41.
  23. 23. Wrapp D, Wang N, Corbett KS, Goldsmith JA, Hsieh C-L, Abiona O, et al. Cryo-EM structure of the 2019-nCoV spike in the prefusion conformation. Science. 2020;367(6483):1260–3. pmid:32075877
  24. 24. Walls AC, Park YJ, Tortorici MA, Wall A, McGuire AT, Veesler D. Structure, Function, and Antigenicity of the SARS-CoV-2 Spike Glycoprotein. Cell. 2020;181(2):281–92.e6.
  25. 25. Yuan M, Wu NC, Zhu X, Lee C-CD, So RTY, Lv H, et al. A highly conserved cryptic epitope in the receptor binding domains of SARS-CoV-2 and SARS-CoV. Science. 2020;368(6491):630–3. pmid:32245784
  26. 26. Piccoli L, Park Y-J, Tortorici MA, Czudnochowski N, Walls AC, Beltramello M, et al. Mapping Neutralizing and Immunodominant Sites on the SARS-CoV-2 Spike Receptor-Binding Domain by Structure-Guided High-Resolution Serology. Cell. 2020;183(4):1024-1042.e21. pmid:32991844
  27. 27. Starr TN, Czudnochowski N, Liu Z, Zatta F, Park Y-J, Addetia A, et al. SARS-CoV-2 RBD antibodies that maximize breadth and resistance to escape. Nature. 2021;597(7874):97–102. pmid:34261126
  28. 28. Wickham H. ggplot2: Elegant Graphics for Data Analysis. New York: Springer-Verlog; 2016. https://ggplot2.tidyverse.org
  29. 29. Nguyen K, Li K, Flores K, Tomaras G, Dennison SM, McCarthy J. Parameter Estimation and Identifiability Analysis for a Bivalent Analyte Model of Monoclonal Antibody–Antigen Binding. bioRxiv. 2022; 2022–12.
  30. 30. Anthropic. Claude Code (Opus 4.8); 2026. https://www.anthropic.com/claude