QurvE is an R package for analyzing growth and fluorescence data measured over time. It features a graphical user interface (GUI) developed as a Shiny app, which has been designed to be user-friendly and intuitive. QurvE offers a variety of analysis tools to streamline the process of growth profiling and ensure reproducibility. It can also be used to characterize fluorescence data, such as in plate reader experiments for biosensor characterization. Overall, QurvE aims to make data analysis and reporting quick, efficient, and reliable.

Loading Data

QurvE allows loading data in different formats, for both growth experiments and for fluorescence measurements. Data can be loaded by using the custom QurvE data layout, by loading raw data from various measuring equipment or by importing previously analyzed datasets.

Loading data formatted in the custom QurvE layout

To load data using the custom QurvE layout, select the [Data] > [Custom] window and choose a file in .xls/.xlsx (selecting the appropriate work sheets) or .csv/.tsv/.txt format (define the correct decimal separator and, for .csv, field separator in the target file). The custom QurvE layout includes all data and relative metadata necessary for QurvE to perform the analysis. This custom layout can be used to load both growth and fluorescence data. Data from a second fluorescence channel can be used to normalize the primary fluorescence values in addition to normalization to growth values.

The data must be formatted as displayed in Figure 1:

  • The first row contains ‘Time’, ‘Blank’, and the sample identifiers (IDs). The ID needs to be identical for replicates and for samples analyzed together within a dose-response analysis. The ‘Time’ column must be positioned at the first position, ‘Blank’ and the samples follow in arbitrary order.
  • The second row contains replicate numbers for identical conditions. If technical replicates were used in addition to biological replicates, indicate technical replicates with identical replicate numbers. Samples with identical IDs, replicate numbers, and concentration values (if applicable) will be combined by their average values at each time point. Leave the row empty if no replicate information is available.
  • The third row is designated to contain concentration values to perform a dose-response analysis, if different concentrations of a compound were used in the experiment. Samples are included in the same dose-response analysis if they have identical sample identifiers (first row). Leave the row empty if no concentration information is available or relevant.
  • Starting with the fourth row, the table must include data for ‘Time’, ‘Blank’ and the different samples.

Several experiments can be combined into a single custom dataset. Different experiments with differing time values and experiment-specific blanks are distinguished by an individual ‘Time’ column to the left of each dataset. Blank values (experiment-specific) are combined as their average and subtracted from all remaining values if the option [Subtract blank] is selected. The metadata on the second and third row is optional to perform the analysis; if no such metadata is available, leave the rows empty.

The data can be further processed by (options indicated in the order in which they are applied to the data):

  1. converting time values,

  2. applying a calibration equation to measurements.

  3. subtracting the blank values from each sample measurement,

  4. normalizing fluorescence data with a second fluorescence or growth dataset, if available.

All these data processing functions are optional.


 Figure 1: QurvE custom data layout.
Figure 1: QurvE custom data layout.


Loading Tidy Data

The QurvE Shiny application is not limited to the custom QurvE layout; it also supports the direct loading of tidy data, a widely used format in data science.

Tidy data, also known as ‘long’ format, is a standardized way of organizing data values within a dataset. It provides a straightforward, flexible structure that is highly suitable for various forms of analysis and visualization in R.

To upload data in tidy format, navigate to the [Data] > [Custom] window and select the appropriate file in .xls/.xlsx format (specifying the relevant worksheets) or .csv/.tsv/.txt format (remembering to set the correct decimal separator and, for .csv, the field separator).

Columns required in tidy data format:

  • “Time”: Each row in this column contains the time values for your observations.
  • “Description”: Each row in this column contains a sample description. This can be a combination of the organism and condition or any other relevant descriptor.
  • “Values”: Each row in this column contains the measured values from your experiment (e.g., optical density, cell count, etc.).
  • “Replicate” (optional): If you have multiple replicate measurements for the same condition (“Description” labels), you can indicate the replicate number in this column.
  • “Concentration” (optional): If there’s a compound added to the sample, you can record its concentration in this column.

Upon uploading, QurvE automatically detects if the data is in tidy format and processes it accordingly.

Note: For QurvE to correctly process tidy data, it’s crucial to ensure the column headers in your uploaded data match exactly with those specified above.

The same data processing options described in the previous section are available also for tidy data.

Using tidy data allows you to leverage the power of QurvE with a wide range of datasets, increasing the versatility of your analysis pipeline.


Loading data from raw experiment files

QurvE supports loading directly raw data produced by a variety of proprietary software for different growth or fluorescence measuring equipment, such as plate readers and micro-bioreactors1. This can be done in the [Data] > [Parse Raw Data] window.

After loading the file (1), selecting the correct raw data format by choosing one of the available equipments/software (2) and assigning the extracted read channels to growth/fluorescence data (3), the user has to provide mapping information with metadata in tabular format (in a .xls/.xlsx/.csv/.tsv/.txt file) (4).

The mapping file should be formatted as shown in Figure 2:

  • The first column contains the well numbers in the plate and must match sample identifiers in the raw data file.
  • The second column contains the ID (i.e., organism, condition, etc.) of each sample. The ID needs to be identical for replicates and for samples analyzed together within a dose-response analysis.
  • The third column contains replicate numbers for identical conditions. If technical replicates were used in addition to biological replicates, indicate technical replicates with the same replicate number. Samples with identical IDs, replicate numbers, and concentration values (if applicable) will be combined by their average values at each time point. Leave the row empty if no replicate information is available.
  • The fourth column is designated to contain concentration values to perform a dose-response analysis, if different concentrations of a compound of interest were used in the experiment. Leave the row empty if no additional concentration information is available.

The values in ‘Blank’ samples are combined by their averages and subtracted from all remaining values if the option [Subtract blank] is chosen.

The data can be further processed by (options indicated in the order in which they are applied to the data):

  1. converting time values,

  2. applying a calibration equation to measurements.

  3. subtracting the blank values from each sample measurement,

  4. normalizing fluorescence data with a second fluorescence or growth dataset, if available.

All these data processing functions are optional.


 Figure 2: The [Parse Raw Data] window enables loading raw data exported from a plate reader/bioreactor software. The right panel illustrates the layout of the additional mapping file with metadata that must be supplemented to analyze establish relationships between conditions and replicates.
Figure 2: The [Parse Raw Data] window enables loading raw data exported from a plate reader/bioreactor software. The right panel illustrates the layout of the additional mapping file with metadata that must be supplemented to analyze establish relationships between conditions and replicates.


Loading previously processed data

QurvE supports exporting processed data and reloading it for further analysis or inspection. Previously saved growth or fluorescence data in .RData format can be loaded in the Data Import window (Figure 3).


 Figure 3: The figure illustrates the [Data Import] window, which enables the user to load previously exported QurvE data files.
Figure 3: The figure illustrates the [Data Import] window, which enables the user to load previously exported QurvE data files.


Processing and analyzing data in QurvE

Once raw data is loaded, QurvE can be used to process the data by fitting curves, calculating averages and standard deviations for replicates, as well as fitting the data with different models to obtain growth parameters such as doubling times, yields, etc., or dose-response parameters. Moreover, the software allows the user to intuitively create publication-grade plots.

Run computations

Once the raw data has been successfully parsed, the [Computation] window will unlock, enabling the user to process either Growth or Fluorescence data (Figure 4). The data can be processed using different curve fitting methods, which can be selected in the panel on the left. The default fitting options are the Linear regression fit and Non-parametric fit (smooth spline). By ticking Parametric fit (not available for Fluorescence analysis), parametric growth models models are fit to the data. By ticking Log-transform time the time values are transformed by Ln(1 + time). With Biphasic growth selected, QurvE tries to identify a second growth phase while performing linear regressions and non-parametric fits and extracts corresponding parameters (e.g., growth rate, lag time until second growth phase).

Dose-response (EC50) analyses can be performed by either performing a smooth spline fit (response spline fit) on response vs. concentration data and extracting the EC50 as the concentration at the midpoint between the largest and smallest response value, or by applying up to 20 (parametric) dose-response models to choose the best model based on the Akaike information criterion (AIC). Any computed parameter (e.g., growth rates obtained via linear regression, maximum fluorescence obtained via non-parametric fits…) can be chosen as response parameter to quantify adverse or beneficial effects of a substance. The options to Log-transform concentration or Log-transform response are only available for response spline fits. In both instances, Ln(x + 1) is applied to the respective values.

Additional information on all methods and (global or method-specific) fitting options is available by clicking on the [?] signs.


 Figure 4: The [Computation] window enables the user to define parameters for data processing and fitting. Growth data and fluorescence data must be processed separately.
Figure 4: The [Computation] window enables the user to define parameters for data processing and fitting. Growth data and fluorescence data must be processed separately.


Visualization and validation of curve fitting

The [Validation] window enables the user to verify the correct fitting of the growth/fluorescence curves (see Figure 5 for an example).