Learn R Programming

gcplyr

What this package can do

gcplyr was created to make it easier to import, wrangle, and do model-free analyses of microbial growth curve data, as commonly output by plate readers.

  • gcplyr can flexibly import all the common data formats output by plate readers and reshape them into ‘tidy’ formats for analyses.
  • gcplyr can import experimental designs from files or directly in R, then merge this design information with density data.
  • This merged tidy-shaped data is then easy to work with and plot using functions from gcplyr and popular packages dplyr and ggplot2.
  • gcplyr can calculate plain and per-capita derivatives of density data.
  • gcplyr has several methods to deal with noise in density or derivatives data.
  • gcplyr can extract parameters like growth rate/doubling time, maximum density (carrying capacity), lag time, area under the curve, diauxic shifts, extinction, and more without fitting an equation for growth to your data.

Please send all questions, requests, comments, and bugs to mikeblazanin@gmail.com

Installation

You can install the version most-recently released on CRAN by running the following line in R:

install.packages("gcplyr")

You can install the most recently-released version from GitHub by running the following lines in R:

install.packages("devtools")
devtools::install_github("mikeblazanin/gcplyr")

Getting Started

The best way to get started is to check out the online documentation, which includes examples of all of the most common gcplyr functions and walks through how to import, reshape, and analyze growth curve data using gcplyr from start to finish.

This documentation is also available as a series of pdf vignette files:

  1. Introduction
  2. Importing and transforming data
  3. Incorporating experimental designs
  4. Pre-processing and plotting data
  5. Processing data
  6. Analyzing data
  7. Dealing with noise
  8. Best practices and other tips
  9. Working with multiple plates
  10. Using make_design to generate experimental designs

Citation

Please cite software as:

Blazanin, M. gcplyr: an R package for microbial growth curve data analysis. BMC Bioinformatics 25, 232 (2024). https://doi.org/10.1186/s12859-024-05817-3

Copy Link

Version

Install

install.packages('gcplyr')

Monthly Downloads

370

Version

1.11.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Mike Blazanin

Last Published

January 17th, 2025

Functions in gcplyr (1.11.0)

gc_smooth.spline

Fit a Smoothing Spline
extr_val

Extract parts of an object
first_peak

Find the first local maxima of a numeric vector
lag_time

Calculate lag time
example_widedata_noiseless

Example growth curve data in wide format
example_widedata

Example noisy growth curve data in wide format
makemethod_train_smooth_data

Create method argument for train of growth curve smoothers
make_example

Create R objects or files as seen in vignette examples
make_tidydesign

Make tidy design data.frames
merge_dfs

Collapse a list of dataframes, or merge two dataframes together
make_design

Make design data.frame(s)
separate_tidy

Separate a column into multiple columns
smooth_data

Smooth data
make_designpattern

Make design pattern
print_df

Nicely print the contents of a data.frame
trans_block_to_wide

Transform blocks to wides
read_blocks

Read blocks
train_smooth_data

Test efficacy of different smoothing parameters
paste_blocks

Paste a list of blocks into a single block
read_wides

Read wides
predict_interpolation

Predict data by linear interpolation from existing data
read_tidys

Read tidy-shaped files
write_blocks

Write block designs to csv
solve_linear

Return missing information about a line
to_excel

A function that converts numbers into base-26 Excel-style letters
uninterleave

Uninterleave list
trans_wide_to_tidy

Pivot widemeasures longer
auc

Calculate area under the curve
ThresholdFunctions

Find point(s) when a numeric vector crosses some threshold
calc_deriv

Calculate derivatives of vector of data
ExtremaFunctions

Find local extrema of a numeric vector
CentroidFunctions

Calculate centroid
MinMaxGC

Maxima and Minima
MovingWindowFunctions

Moving window smoothing
WhichMinMaxGC

Where is the Min() or Max() or first TRUE or FALSE?
block_tidydesign

Turn tidydesign into block format
doubling_time

Calculate doubling time equivalent of per-capita growth rate
from_excel

A function that converts base-26 Excel-style letters to numbers
import_blockmeasures

Import blockmeasures
example_design_tidy

Design for example growth curve data A tidy-shaped dataset with the experimental design (i.e. plate layout) for the example data included with gcplyr.
import_blockdesigns

Import blockdesigns