- Software
- Open access
- Published:
BioCurve Analyzer: a web-based shiny app for analyzing biological response curves
Plant Methods volume 21, Article number: 55 (2025)
Abstract
Background
Dose–response and time-to-event data are common in enzymology, pharmacology, and agronomy studies. Diverse biological response curves can be generated from such data. The features of these curves can be elucidated through parameters such as ED50 (the effective dose that gives 50% of the maximum response) and T50 (the time required to reach 50% of the maximum response). Properly estimating these parameters is crucial for inferring the potency of compounds or the relative timings of biological processes.
Results
We present an open-source Shiny application, BioCurve Analyzer, that simplifies the process of inferring ED50 and T50 parameters from response curves exhibiting various patterns, including classic monotonic sigmoidal curves and more complicated biphasic curves. BioCurve Analyzer provides access to several packages and commonly used models for characterizing response patterns, assists users in identifying the models that best describe their data, and includes options for inferring ED50 values on both sides of biphasic curves. BioCurve Analyzer also facilitates the visualization of response patterns and allows users to customize their final graphical representation to deliver publication-quality graphs of the data.
Conclusion
BioCurve Analyzer integrates multiple R packages in an easy-to-use web-based interface to facilitate dose–response and time-to-event analyses.
Background
Dose–response (DR) data and time-to-event (TE) data are frequently encountered in plant biology studies as they provide valuable insights into how plants respond to treatments and interact with the environment. Dose–response data measures the relationship between the concentrations of chemicals and the resulting physiological or biochemical responses in plants. Similarly, time-to-event data tracks the occurrence of biological events, such as germination, flowering, and survival under treatments. Both data types capture the behavior of the plants under stress across varying doses and timeframes.
Metrics such as effective doses derived from these data are particularly useful, with the ED50 representing the dose–response data. The ED50 stands for the dose that gives half of the maximum response, such as the enzyme activity; it is referred to as the EC50 (effective concentration) or IC50 (inhibitory concentration) in different scenarios. This metric is classic and important in assessing new herbicides or other agrochemicals, as it allows researchers to determine the effective concentration needed to achieve the desired effects [1]. Likewise, specific quantiles are essential for time-to-event studies, such as T50, which represents the time that gives half of the maximum response, such as the germination rate. These criteria are frequently used in screening processes as they provide a standardized means of comparing the efficacy of different chemicals or various growth conditions. Thus, it is essential to estimate these values accurately so that scientists can make informed decisions in their research, such as which compounds may be worth further investigation.
Various tools are available to estimate the ED50 values from dose–response data, such as GraphPad (https://www.graphpad.com/), MS Excel, and Cheburator [2]. However, all of them have limitations. For instance, the dose should be log-transformed, which leads to the exclusion of the response at dose zero. In addition, these programs often require significant manual effort, making them unsuitable for efficiently analyzing large datasets. As the open-source, robust statistical environment R has developed, a package called drc was introduced by Ritz et al. in 2015, offering significant advantages for pharmacological research [3]. To make the R packages more straightforward, web-based tools using Shiny provide a more accessible platform for researchers, such as Autoplate [4], IncucyteDRC [5], SiCoDEA [6], REAP [7], DRomics [8], GRcalculator [9], BMDx [10], et al. These provide a more user-friendly interface for data analysis across various fields, but they are designed for one specific experiment, which makes it difficult for bench workers to apply them to their own research. Furthermore, most of the apps are only available for estimating one type of ED50 value or have rigid restrictions on the models available for analysis, making it challenging to analyze biphasic curves, such as bell-shaped curves. Therefore, it is beneficial to develop a more versatile application that is robust enough to analyze dose–response data from a broader range of studies.
When estimating T50 values from time-to-event data, one conventional way is to analyze the cumulative proportions of events that occurred. In germination studies, researchers typically compute the germination rate at the end of each time interval, treat this as a continuous variable, and estimate T50 values in a way similar to ED50 estimation in dose–response studies [11,12,13]. However, this approach overlooks the uncertainty inherent in the time-to-event data. As censored data, only intervals of possible values can be measured. For example, in germination assays, only the number of germinated seeds during a series of time intervals can be recorded, but the precise timing of the germination is unknown. Neglecting this feature may result in inappropriate estimates and make the final conclusions misleading in the studies. To address this, Onofri et al. developed another R package called drcte, an extension of the drc package, along with a well-established workflow for analyzing time-to-event data[13]. However, there is no web-based application available for this package, which makes it less accessible and practical for bench researchers.
Here, we introduce BioCurve Analyzer, a Shiny application designed to provide a more intuitive and user-friendly experience for analyzing both dose–response and time-to-event data. It facilitates the generation of biological curves for both data types, and enables the estimate of both absolute and relative ED50 or T50 values from these curves. Furthermore, this application incorporates three published methods for estimating ED50 values and nonparametric models for estimating T50 values, enhancing its robustness and flexibility to accommodate diverse data patterns. As a result, it is a versatile tool that caters to a broader research community.
Implementation
The application is written in R, and the implementation requires R version 4.4.1 or higher and several R packages. The shiny [14], shinyjs [15], shinyalert [16], shinycssloaders [17], shinyhelper [18], and bslib [19] enabled and customized the shiny application to make it more interactive and user-friendly. The tidyverse [20], purrr [21], broom [22], bigsnpr [23], and openxlsx [24] packages are required to load and pre-process the input data. The drc [3], drcte [13, 25], and aomisc [26] packages are used for the data fitting and model selection in the dose–response data analysis. The scales [27], car [28], and stats [29] packages enable the statistical tests for assessing the best-fit models. To generate the figures and the report, ggplot2 [30], ggthemes [31], ggpubr [32], cowplot [33], extrafont [34], rmarkdown [35,36,37], knitr [38,39,40], DT [41], kableExtra [42], and rlist [43] were used. To generate and import the citations, I used grateful [44].
The source code for BioCurve Analyzer, along with the data utilized in this paper, is available via the GitHub repository (https://github.com/ZenanXing/BioCurve-Analyzer.git). The application can be launched on any system that has RStudio installed or available online at the Shiny web server (https://zenanx.shinyapps.io/biocurve-analyzer/).
Results and discussion
Main features and functionalities
This application is developed in a tabular fashion. It has three main functionalities available in different tabs: data input, ED50/T50 estimation, and plot generation, which instructs the user to get the ED50/T50 and generate the final plot step by step. Upon selecting each tab, the users can specify input values in the side panel and view the corresponding results in the main panel on the right (Fig. 1).
Data input tab
To use the application properly, users need to provide the raw data in a tidy format containing essential information such as factors in the experiment, replicates, concentrations/time intervals, and response/counts. The data can be provided as an Excel file or by simply pasting the data, a method that is adopted from a previously published app [45]. After uploading the raw data, the data could be viewed both as a table and a simple line plot in the main panel.
ED50/T50 estimation tab
The ED50 and T50 can be estimated using the best-fit model in the second tab. The general procedure of estimating both values is the same and involves two main steps. First, it is necessary to identify appropriate models to describe the data. Users are encouraged to empirically select a model based on their experimental objectives to avoid overfitting and ensure consistency in analysis. However, when the underlying mechanisms are complex and unknown, it is advisable to evaluate a set of candidate models and select the one that best fits the data. To assist with this process, the app provides some guidance for selecting candidate models, as different models are suitable for curves with varying shapes. If multiple models are considered, the users are required to select the criteria for determining the best-fit model. The app incorporates model selection metrics commonly used, such as Akaike Information Criterion (AIC) and Bayesian Information Criterion (BIC), which are implemented in the drc package. The selected best-fit model is displayed in the main panel.
The next step is to determine whether relative or absolute ED50/T50 values are more appropriate for the specific analysis. Both relative and absolute ED50 values are essential in dose–response studies and have been well-established by the community [46, 47], and the estimates of both types of ED50 values for a dose–response curve are illustrated in Fig. 2A. Relative ED50 is the dose that achieves 50% of the maximum response relative to the minimum (vertical dotted lines), while absolute ED50 is the dose that produces exactly a 50% response (vertical dashed lines). Absolute ED50 values are only meaningful when the data are normalized against a control treatment. As a closely related concept, T50 values can be inferred from the time-to-event studies. Absolute T50 is calculated based on the entire sample, while relative T50 is calculated for the fraction of individuals that have experienced that event of interest [13]. For example, in germination assays, if some seeds fail to germinate by the final time interval, it is suggestive to calculate absolute T50, as it considers all the tested seeds. However, the relative T50 remains valid if independent data confirm that the experiment has run long enough to accurately capture the maximum germination rate, meaning that the ungerminated seeds will not germinate.
Estimation of ED50 from dose–response curves. A. The comparison of absolute and relative ED50. The relative 50% response and the corresponding relative ED50 values are indicated in dotted lines, while the absolute 50% response and the corresponding absolute ED50 values are shown in dashed lines. B. Parameters estimated from the biphasic curves. The Low/High ED50, LDS (limiting dose for stimulation/inhibition), and M (maximum simulation/inhibition) and the corresponding responses are indicated as dashed lines. C. Reed-and-Muench method in estimating absolute ED50 values. The estimated ED50 and the corresponding response are presented as dashed lines in the figure. The coordinates of the ED50 and the two data points that bracket the ED50 value are shown in the adjacent parentheses, and the function for the linear regression of the two points is displayed. The curves in this figure are generated using simulated data
Once these steps are complete, the app generates a table containing the estimation of ED50/T50 values, along with associated statistics such as standard error and confidence interval, which are displayed in the main panel. It should be noted that predicting the behavior of curves beyond the tested dose range or time frame carries inherent risks. Therefore, the app only generates the ED50/T50 values within the dose range or the time frame provided by the user. To ensure accurate results, users are encouraged to use a broader dose range or time frame to capture the full curve.
Due to the inherent difference between dose–response and time-to-event data, the candidate models used for estimating these values are different. The candidate models for each data type, as well as the additional features available for dose–response data, are outlined in the following sections.
Candidate models for each data type
Numerous models have been developed to fit the dose–response data and time-to-event data with diverse trends. It is critical to benchmark these models, particularly to provide suggestions for selecting the best model used to fit the data in terms of accuracy of estimating the effective dose or quantile. The most frequently used models are available in our application and are listed in Supplementary Table 1. Users may select a set of candidate models and allow the app to automatically determine the best-fit model for their data. By default, the app selects all the applicable models, enabling it to identify the best-fit model across a wide range of scenarios. However, this may result in overfitting, so it is advisable for users to select one specific model empirically based on their experimental aims.
The selection of models for dose–response curves largely depends on the shape of the curve [48]. For monotonic curves, the log-logistic models with four parameters are often used to describe the typical symmetrical dose–response curves [48], while the one with five parameters and both Weibull I and Weibull II models are more suitable in describing asymmetric dose–response curves [48, 49]. For biphasic curves, the Brain-Cousens and Cedergreen-Ritz-Streibig models [50, 51] are provided in the app, as they are specifically developed to handle such complex trends.
When analyzing the time-to-event data, the app offers both parametric and nonparametric models. The parametric models include the four-parameter log-logistic model, the Weibull model, and the log-normal model [48]. For nonparametric modeling, the app includes the NPMLE model (nonparametric maximum likelihood estimator) [52] and the KDE model (kernel density estimator) [53], which are well-suited for capturing complex or atypical patterns in the data [13].
Three methods in estimating ED50
We incorporate three established methods for estimating the ED50 values from dose–response data: the Ritz-Gerhard method, the Serra-Greco method, and the Reed-and-Muench method, each named after their respective developers [3, 10, 54]. The key distinctions among these methods are summarized in Table 1. Users can select the most suitable method according to their experimental design and requirements.
The curves generated from the time-to-event data are inherently monotonic, as they represent the probability of an event occurring or not occurring up to a certain time. For instance, in the germination assay, the germination rate either remains constant or increases over time but never decreases. In contrast, dose–response studies may produce biphasic or hormetic curves, which contain a rising phase and a falling phase. These curves can be observed in herbicide studies, where certain herbicides stimulate growth at low concentrations but inhibit it at high concentrations, leading to inverted J-shaped curves (top panel in Fig. 2B) [55].
The default method for ED50 estimation in the app is the Ritz-Gerhard method, which uses drc’s [3] delta method to infer ED50 values and their standard errors. This method is best suited to standard sigmoidal or monotonic dose–response curves but not well-suited to biphasic curves. From biphasic curves, additional informative dose-related metrics can be inferred, M, LDS, ED50, and f, where M is the dose that elicits the maximum stimulation/inhibition, LDS is the limiting dose for stimulation/inhibition, corresponds to the dose that is equal to untreated control values in the second phase of the curve, and f is a measure of the hormetic-effect. In a biphasic curve, there are two ED50 values, one for the left phase (low ED50) and one for the right phase (high ED50) (Fig. 2B).
Currently, the Ritz-Gerhard method reports only the high ED50 values, which limits its applicability for such curves. To address this limitation, we introduced the Serra-Greco method. Serra et al. developed an interpolation-based approach to estimate the ED50 values in biphasic transcriptomic dose–response curves. This method has been adapted in the app to infer both low and high ED50 values for J- and inverted J-shaped curves; this can be selected in the ED50 estimation method menu.
Finally, for incomplete dose–response curves that cannot be fit into available models, we implemented the Reed-and-Muench method. This method estimates absolute ED50 values using linear interpolation between the two data points that bracket the ED50 [54, 56] (Fig. 2C). This approach is particularly useful when the data are insufficient to construct a complete dose–response curve or when fitting a model is not feasible.
Statistical tests for model assessment
Another advantage of our app in analyzing the dose–response data is the implementation of statistical tests for the model assessment. To determine whether the best-fit model is appropriate for the dose–response analysis, four statistical tests were introduced in the analysis: lack-of-fit test, Neill's test, no-effect test, and the “parameters ≠ 0” test. They have been frequently used in the model assessment in the dose–response analysis [3, 57]. In general, both the lack-of-fit test and Neill's test are ANOVA-based tests. The lack-of-fit test is a classic test for model assessment, while Neill's test is an enhanced version that can also be applied when there are no replicates. The no-effect test assesses whether there is any dose–response relationship. The “parameters ≠ 0” test examines each parameter in the model individually. Incorporating all tests can help provide a more comprehensive understanding of their model list.
Plot tabs
In the plot tab, the curves will be generated using the models selected in the previous step. The estimated ED50/T50 and the corresponding confidence intervals are shown as the dashed lines in the plot. The application allows the users to modify the layout and the appearance of the figure in this tab. Further customization in different aspects of the figure, such as legend, fonts, and line colors, is also available in the app. Both the tables and the figures are downloadable. If required, users may download the report to get the code used for plotting and modification.
Application demonstration
To illustrate the functionality of this shiny app, we analyzed previously published dose–response and time-to-event data sets [58,59,60].
We used BioCurve Analyzer to plot previously published [58, 59] dose–response data generated using receptor/ligand-mediated PP2C (type II C protein phosphatase) inhibition assays. In these assays, abscisic acid receptor agonists bind to the receptor and inhibit PP2C phosphatase activity in a dose-dependent manner, and antagonists allow recovery of PP2C activity in the presence of saturating levels of an agonist [58, 59]. The data analyzed are for the agonists AMF4 (abscisic acid mimic-fluorine derivative 4) and OP (opabactin) and antagonists PANMe and ANT (antabactin) using a wheat ABA receptor TaPYL7 [61]. PANMe was included because it possesses a biphasic bell-shaped dose–response curve that allows us to illustrate BioCurve Analyzer’s ability to infer ED50 values within the first phase of a biphasic curve, a function absent from current dose–response curve analysis packages. We note that users must specify if curves are monotonic (i.e. sigmoidal) or biphasic (i.e. inverted J- or J-shaped) in their input dataset to access this functionality.
In this study, since the activity of PP2C is normalized to that in the absence of any chemicals, it is more appropriate to estimate the absolute ED50 values. The generated dose–response curves output by BioCurve Analyzer for the agonist dataset are shown in Fig. 3A, and ED50 and statistical tests for model fits are provided in Supplementary Table 2. Given the advantage of the Serra-Greco method in analyzing the biphasic curves, the effective doses shown in the figure are estimated using this method. The input data were specified as monotonic for OP, AMF4, and ANT; and biphasic for PANMe. BioCurve Analyzer’s parameters were set to fit the data to four-parameter log-logistic models for the monotonic curves, while the Cedergreen-Ritz-Streibig model for the biphasic curve, which the app accomplishes using drc. As previously described, the inferred ED50 of OP is lower than that of AMF4 [58], and the ED50 of ANT is lower than that of PANMe [59].
Plots generated by BioCurve Analyzer. A. ED50 estimation for dose–response data. Dose–response curves and the absolute ED50 values of ABA agonists and antagonists. The estimated effective doses using the Serra-Greco method and the corresponding responses are presented as dashed lines. B. T50 estimation for time-to-event data. The 50% response and the corresponding T50 values are indicated as dashed lines. All the curves are generated using the data published in the previous papers [58,59,60]
Statistical analysis for the model assessment suggests the best-fit models effectively characterize the data, as almost all the tests showed significant results. Notably, the PANMe’s hormetic effect factor, f, is significantly different from zero, as expected for a biphasic curve (Supplementary Table 2–1). The advantage of the Serra-Greco method in inferring values from biphasic curves is evident in analyzing the PANMe data. This method is capable of generating valid ED50, LDS, and M values, which the Ritz-Gerhard method is unable to accomplish (Fig. 3A, Supplementary Table 2–4 and 2–5). For the monotonic curves, the estimated ED50 values obtained through both the Ritz-Gerhard and Serra-Greco methods are nearly identical, accompanied by comparable confidence intervals (Supplementary Table 2–2 and 2–3). We note that results derived using the Reed-and-Muench method yield comparable ED50 values (Supplementary Table 2–6).
A published time-to-event dataset investigating the role of the gene Dog1 (Delay of germination 1) and the chemical ANT on Arabidopsis seed dormancy [60] was used to illustrate the time course data analyses with BioCurve Analyzer (Fig. 3B). The estimated T50 values, calculated using drcte, are provided in Supplementary Table 3; the generated curves are presented in Fig. 3B. The inferred T50 values for the genetic and chemical treatments are consistent with previous descriptions [60].
Conclusion
BioCurve Analyzer is capable of analyzing both dose–response data and time-to-event data. It provides a user-friendly interface to illustrate the ED50/T50 estimation procedure in a stepwise manner and allows users to get both absolute and relative values. When estimating the ED50 values from dose–response data, the app provides three well-established methods, which gives the users more valid results under different scenarios. In addition, the biological examples illustrate that the BioCurve Analyzer can provide accurate ED50/T50 estimations, which are valuable for various applications, such as comparing the potency of agrochemicals and revealing the role of key players in biological pathways.
Data availability
The data utilized and generated in this paper are available via the GitHub repository (https://github.com/ZenanXing/BioCurve-Analyzer.git).
Abbreviations
- DR:
-
Dose–response
- TE:
-
Time-to-event
- ED50/IC50 :
-
Effective dose/inhibitory concentration which gives a 50% response in dose–response data.
- T50 :
-
Time which gives a 50% response in time-to-event data.
- LDS:
-
Limiting dose for stimulation/inhibition
- M:
-
Maximum simulation/inhibition
- NPMLE:
-
Nonparametric maximum likelihood estimator
- KDE:
-
Kernel density estimator
- PP2C:
-
Type II C protein phosphatase
- ABA:
-
Abscisic acid
- ANT:
-
Antabactin
- AMF4:
-
Abscisic acid mimic-fluorine derivative 4
- PANMe:
-
PYLs pan antagonist
References
Jones G. Fitting and handling dose response data. J Comput Aided Mol Des. 2015;29:1–11.
Nevozhay D. Cheburator software for automatically calculating drug inhibitory concentrations from in vitro screening assays. PLoS ONE. 2014;9: e106186.
Ritz C, Baty F, Streibig JC, Gerhard D. Dose-response analysis using R. PLoS ONE. 2015;10: e0146021.
Palmer P, Del Rosario JMM, da Costa KAS, Carnell GW, Huang CQ, Heeney JL, et al. AutoPlate: rapid dose-response curve analysis for biological assays. Front Immunol. 2021;12: 681636.
Chapman PJ, James DI, Watson AJ, Hopkins GV, Waddell ID, Ogilvie DJ. IncucyteDRC: An R package for the dose response analysis of live cell imaging data. F1000Res. 2016;5:962.
Spinozzi G, Tini V, Ferrari A, Gionfriddo I, Ranieri R, Milano F, et al. SiCoDEA: a simple, fast and complete app for analyzing the effect of individual drugs and their combinations. Biomolecules. 2022;12:904.
Zhou S, Liu X, Fang X, Chinchilli VM, Wang M, Wang H-G, et al. Robust and efficient assessment of potency (REAP) as a quantitative tool for dose-response curve estimation. Elife. 2022. https://doiorg.publicaciones.saludcastillayleon.es/10.7554/eLife.78634.
Larras F, Billoir E, Baillard V, Siberchicot A, Scholz S, Wubet T, et al. DRomics: a turnkey tool to support the use of the dose-response framework for omics data in ecological risk assessment. Environ Sci Technol. 2018;52:14461–8.
Clark NA, Hafner M, Kouril M, Williams EH, Muhlich JL, Pilarczyk M, et al. GRcalculator: an online tool for calculating and mining dose-response data. BMC Cancer. 2017;17:698.
Serra A, Saarimäki LA, Fratello M, Marwah VS, Greco D. BMDx: a graphical shiny application to perform benchmark dose analysis for transcriptomics data. Bioinformatics. 2020;36:2932–3.
Ritz C, Pipper CB, Streibig JC. Analysis of germination data from agricultural experiments. Eur J Agron. 2013;45:1–6.
Onofri A, Piepho H-P, Kozak M. Analysing censored data in agricultural research: a review with examples and software tips. Ann Appl Biol. 2019;174:3–13.
Onofri A, Mesgaran MB, Ritz C. A unified framework for the analysis of germination, emergence, and other time-to-event data in weed science. Weed Sci. 2022;70:259–71.
Chang W, Cheng J, Allaire JJ, Sievert C, Schloerke B, Xie Y, et al. shiny: Web Application Framework for R. 2024. https://CRAN.R-project.org/package=shiny
Attali D. shinyjs: Easily Improve the User Experience of Your Shiny Apps in Seconds. 2021. https://CRAN.R-project.org/package=shinyjs
Attali D, Edwards T. shinyalert: Easily Create Pretty Popup Messages (Modals) in `Shiny’. 2024. https://CRAN.R-project.org/package=shinyalert
Attali D, Sali A. shinycssloaders: Add Loading Animations to a `shiny’ Output While It's Recalculating. 2024. https://CRAN.R-project.org/package=shinycssloaders
Mason-Thom C. shinyhelper: Easily Add Markdown Help Files to `shiny’ App Elements. 2019. https://CRAN.R-project.org/package=shinyhelper
Sievert C, Cheng J, Aden-Buie G. bslib: Custom `Bootstrap’ `Sass’ Themes for `shiny’ and `rmarkdown. 2024. https://CRAN.R-project.org/package=bslib
Wickham H, Averick M, Bryan J, Chang W, McGowan LD, François R, et al. Welcome to the tidyverse. J Open Source Softw. 2019;4:1686.
Wickham H, Henry L. purrr: Functional Programming Tools. 2023. https://CRAN.R-project.org/package=purrr
Robinson D, Hayes A, Couch S. broom: Convert Statistical Objects into Tidy Tibbles. 2024. https://CRAN.R-project.org/package=broom
Privé F, Aschard H, Ziyatdinov A, Blum MGB. Efficient analysis of large-scale genome-wide data with two R packages: bigstatsr and bigsnpr. Bioinformatics. 2018;34:2781–7.
Schauberger P, Walker A. openxlsx: Read, Write and Edit xlsx Files. 2024. https://CRAN.R-project.org/package=openxlsx
Onofri A. drcte: Statistical Approaches for Time-to-Event Data in Agriculture. 2023. https://CRAN.R-project.org/package=drcte
Onofri A. aomisc: Utilities for stat courses. Github. https://github.com/OnofriAndreaPG/aomisc
Wickham H, Pedersen TL, Seidel D. scales: Scale Functions for Visualization. 2023. https://CRAN.R-project.org/package=scales
Fox J, Weisberg S. An R Companion to Applied Regression. Third. New Delhi, India: Sage; 2019.
R Core Team. R: A Language and Environment for Statistical Computing. Vienna, Austria: R Foundation for Statistical Computing. 2024. https://www.R-project.org/
Wickham H. ggplot2: Elegant graphics for data analysis. New York: Springer-Verlag; 2016.
Arnold JB. ggthemes: Extra Themes, Scales and Geoms for `ggplot2’. 2024. https://CRAN.R-project.org/package=ggthemes
Kassambara A. ggpubr: `ggplot2’ Based Publication Ready Plots. 2023. https://CRAN.R-project.org/package=ggpubr
Wilke CO. cowplot: Streamlined Plot Theme and Plot Annotations for `ggplot2’. 2024. https://CRAN.R-project.org/package=cowplot
Chang W. extrafont: Tools for Using Fonts. 2023. https://CRAN.R-project.org/package=extrafont
Allaire JJ, Xie Y, Dervieux C, McPherson J, Luraschi J, Ushey K, et al. rmarkdown: Dynamic Documents for R. 2024. https://github.com/rstudio/rmarkdown
Xie Y, Allaire JJ, Grolemund G. R Markdown: The Definitive Guide. Boca Raton, Florida: Chapman and Hall/CRC; 2018.
Xie Y, Dervieux C, Riederer E. R Markdown Cookbook. Boca Raton, Florida: Chapman and Hall/CRC; 2020.
Xie Y. knitr A. Comprehensive Tool for Reproducible Research in R. In: Stodden V, Leisch F, Peng RD, (eds). Implementing Reproducible Computational Research. Chapman and Hall/CRC. Boca Raton. 2014.
Xie Y. Dynamic Documents with R and knitr. 2nd ed. Boca Raton, Florida: Chapman and Hall/CRC; 2015.
Xie Y. knitr: A General-Purpose Package for Dynamic Report Generation in R. 2024. https://yihui.org/knitr/
Xie Y, Cheng J, Tan X. DT: A Wrapper of the JavaScript Library `DataTables. 2024. https://CRAN.R-project.org/package=DT
Zhu H. kableExtra: Construct Complex Table with `kable’ and Pipe Syntax. 2024. https://CRAN.R-project.org/package=kableExtra
Ren K. rlist: A Toolbox for Non-Tabular Data Manipulation. 2021. https://CRAN.R-project.org/package=rlist
Rodriguez-Sanchez F, Jackson CP. grateful: Facilitate citation of R packages. 2023. https://pakillo.github.io/grateful/
Spitzer M, Wildenhain J, Rappsilber J, Tyers M. BoxPlotR: a web tool for generation of box plots. Nat Methods. 2014;11:121–2.
Sebaugh JL. Guidelines for accurate EC50/IC50 estimation. Pharm Stat. 2011;10:128–34.
Markossian S, Grossman A, Arkin M, Auld D, Austin C, Baell J, et al. Assay Guidance Manual. Bethesda (MD): Eli Lilly & Company and the National Center for Advancing Translational Sciences. 2004.
Ritz C. Toward a unified approach to dose-response modeling in ecotoxicology. Environ Toxicol Chem. 2010;29:220–9.
Gottschalk PG, Dunn JR. The five-parameter logistic: a characterization and comparison with the four-parameter logistic. Anal Biochem. 2005;343:54–65.
Brain P, Cousens R. An equation to describe dose responses where there is stimulation of growth at low doses. Weed Res. 1989;29:93–6.
Cedergreen N, Ritz C, Streibig JC. Improved empirical models describing hormesis. Environ Toxicol Chem. 2005;24:3166–72.
Fay MP, Shaw PA. Exact and asymptotic weighted logrank tests for interval censored data: the interval R package. J Stat Softw. 2010;36: i02.
Barreiro-Ures D, Francisco-Fernández M, Cao R, Fraguela BB, Doallo R, González-Andújar JL, et al. Analysis of interval-grouped data in weed science: the binnednp Rcpp package. Ecol Evol. 2019;9:10903–15.
Reed LJ, Muench H. A simple method of estimating fifty percent endpoints. Am J Epidemiol. 1938;27:493–7.
Belz RG, Duke SO. Herbicides and plant hormesis. Pest Manag Sci. 2014;70:698–707.
Ramakrishnan MA. Determination of 50% endpoint titer using a simple formula. World J Virol. 2016;5:85–6.
Ritz C, Martinussen T. Lack-of-fit tests for assessing mean structures for continuous dose-response data. Environ Ecol Stat. 2011;18:349–66.
Vaidya AS, Helander JDM, Peterson FC, Elzinga D, Dejonghe W, Kaundal A, et al. Dynamic control of plant water use using designed ABA receptor agonists. Science. 2019;366:eaaw8848.
Vaidya AS, Peterson FC, Eckhardt J, Xing Z, Park S-Y, Dejonghe W, et al. Click-to-lead design of a picomolar ABA receptor antagonist with potent activity in vivo. Proc Natl Acad Sci USA. 2021. https://doiorg.publicaciones.saludcastillayleon.es/10.1073/pnas.2108281118.
Eckhardt J, Xing Z, Subramanian V, Vaidya A, Cutler S. Robotic imaging and machine learning analysis of seed germination: dissecting the Influence of ABA and DOG1 on germination uniformity plant biology. BioRxiv. 2024. https://doiorg.publicaciones.saludcastillayleon.es/10.1101/2024.05.10.593629v1.full.pdf.
Mega R, Abe F, Kim J-S, Tsuboi Y, Tanaka K, Kobayashi H, et al. Tuning water-use efficiency and drought tolerance in wheat using abscisic acid receptors. Nat Plants. 2019;5:153–9.
Acknowledgements
We thank Janty Woojuh, Wesley George, Reily Jones, and Zhongyu Huang (UC Riverside, Riverside, CA) for testing the application with their data and offering advice and feedback for its improvements. We also thank Dr. Ruidong Li (Gilead Sciences, Inc., Foster City, California) and Dr. Han Qu (Harvard Medical School, Boston, MA) for providing suggestions on app deployment.
Funding
NSF 2218330 and DARPA CERES D24 AC00011.
Author information
Authors and Affiliations
Contributions
The study was conceived by SRC and ZX. ZX designed the application with the assistance of SRC, ASV, and JE. ASV provided valuable suggestions for ED50 estimation in dose–response data analysis. JE contributed to estimating T50 from time-to-event data. ZX wrote the codes for the application and drafted the manuscript. All authors revised the initial draft of the paper and provided valuable comments for the final version.
Corresponding authors
Ethics declarations
Ethics approval and consent to participate
Not applicable.
Consent for publication
Not applicable.
Competing interests
The authors declare no competing interests.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Supplementary Information
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Xing, Z., Eckhardt, J., Vaidya, A.S. et al. BioCurve Analyzer: a web-based shiny app for analyzing biological response curves. Plant Methods 21, 55 (2025). https://doiorg.publicaciones.saludcastillayleon.es/10.1186/s13007-025-01372-x
Received:
Accepted:
Published:
DOI: https://doiorg.publicaciones.saludcastillayleon.es/10.1186/s13007-025-01372-x