Package: gcplyr 1.12.0

gcplyr: Wrangle and Analyze Growth Curve Data

Easy wrangling and model-free analysis of microbial growth curve data, as commonly output by plate readers. Tools for reshaping common plate reader outputs into 'tidy' formats and merging them with design information, making data easy to work with using 'gcplyr' and other packages. Also streamlines common growth curve processing steps, like smoothing and calculating derivatives, and facilitates model-free characterization and analysis of growth data. See methods at <https://mikeblazanin.github.io/gcplyr/>.

Authors:Mike Blazanin [aut, cre]

gcplyr_1.12.0.tar.gz
gcplyr_1.12.0.zip(r-4.7)gcplyr_1.12.0.zip(r-4.6)gcplyr_1.12.0.zip(r-4.5)
gcplyr_1.12.0.tgz(r-4.6-any)gcplyr_1.12.0.tgz(r-4.5-any)
gcplyr_1.12.0.tar.gz(r-4.7-any)gcplyr_1.12.0.tar.gz(r-4.6-any)
gcplyr_1.12.0.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION |NEWS
card.svg |card.png
gcplyr/json (API)

# Install 'gcplyr' in R:
install.packages('gcplyr', repos = c('https://mikeblazanin.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/mikeblazanin/gcplyr/issues

Pkgdown/docs site:https://mikeblazanin.github.io

Datasets:
  • 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'.
  • example_widedata - Example noisy growth curve data in wide format
  • example_widedata_noiseless - Example growth curve data in wide format

On CRAN:

Conda:

dplyrggplot2tidyverse

7.79 score 39 stars 105 scripts 656 downloads 49 exports 20 dependencies

Last updated from:da868d5af4. Checks:9 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-x86_64OK173
source / vignettesOK352
linux-release-x86_64OK174
macos-release-arm64OK175
macos-oldrel-arm64OK138
windows-develOK198
windows-releaseOK111
windows-oldrelOK118
wasm-releaseOK164

Exports:aucblock_tidydesigncalc_derivcentroidcentroid_bothcentroid_xcentroid_ydoubling_timeextr_valfind_local_extremafind_threshold_crossesfirst_abovefirst_belowfirst_maximafirst_minimafirst_peakfrom_excelgc_smooth.splineimport_blockdesignsimport_blockmeasureslag_timemake_designmake_designpatternmake_examplemake_tidydesignmakemethod_train_smooth_datamax_gcmdpmerge_dfsmin_gcmoving_averagemoving_medianpaste_blockspredict_interpolationprint_dfread_blocksread_tidysread_widesseparate_tidysmooth_datasolve_linearto_exceltrain_smooth_datatrans_block_to_widetrans_wide_to_tidyuninterleavewhich_max_gcwhich_min_gcwrite_blocks

Dependencies:clicpp11dplyrgenericsgluelifecyclemagrittrpillarpkgconfigpurrrR6rlangstringistringrtibbletidyrtidyselectutf8vctrswithr

Pre-processing and plotting data
Where are we so far? | Pre-processing | Pre-processing: excluding data | Pre-processing: converting dates & times into numeric | Pre-processing: subtracting blanks | Plotting your data | What's next?

Last update: 2025-07-26
Started: 2023-11-03

Processing data
Where are we so far? | How to process and analyze your data | A brief primer on dplyr | Processing data: calculating derivatives | A simple derivative | Per-capita derivative | Converting per-capita growth rates into doubling times | What's next?

Last update: 2025-01-16
Started: 2023-11-03

Introduction to using gcplyr
Getting started | A quick demo of gcplyr | What's next?

Last update: 2025-01-16
Started: 2023-11-03

Analyzing data
Where are we so far? | Analyzing data with summarize | Most common metrics | Growth | Saturation | Total growth | Diauxic growth | Growth with antagonists (e.g. phages) | Another brief primer on dplyr: summarize | Plotting summarized metrics | The most common metrics | Lag time | Maximum growth rate and minimum doubling time | Maximum density | Area under the curve | Growth metrics | Initial density | Lag time | Time to reach threshold density | Time to reach threshold growth rate | Maximum growth rate and minimum doubling time | Saturation metrics | Mid-point time or inflection point | Maximum density | Total growth metrics | Area under the curve | Centroid of area under the curve | Diauxic growth metrics | Diauxic shifts | Growth rate during diauxie | Metrics of growth with antagonists | Peak bacterial density | Extinction time | Centroid of area under the curve | What's next?

Last update: 2025-01-16
Started: 2023-11-03

Best practices and other tips
Where are we so far? | Statistical analyses of growth curves data | When should we average replicates? | Carrying out statistical testing | Combining growth curves data with other data | Other growth curve analysis packages | What's next?

Last update: 2024-07-09
Started: 2023-11-03

Working with multiple plates
Where are we so far? | A brief primer on lists in R | Importing data for multiple plates | Reading files for multiple block-shaped plates | Separated block-shaped plate files | Interleaved block-shaped plate files | Reading files for multiple wide-shaped plates | Transforming multiple plates to tidy-shaped | Merging designs with multiple plates | Plates with different designs | Plates with a shared design

Last update: 2024-07-09
Started: 2023-11-03

Dealing with noise
Where are we so far? | Introduction | Summarizing on subsets of derivatives | Fitting during derivative calculation | Smoothing raw data | Smoothing with moving-median | Smoothing with moving-average | Combining multiple smoothing methods | Smoothing with other methods | Choosing tuning parameter values | Calculating derivatives of smoothed data | What's next?

Last update: 2024-03-10
Started: 2023-11-03

Incorporating experimental designs
Where are we so far? | Including design elements | Importing block-shaped design files | A basic example | Importing multiple block-shaped design elements | Importing multiple block-shaped designs in separate files | Importing multiple separated block-shaped designs in one file | Importing multiple pasted block-shaped designs | Importing tidy-shaped design files | Merging growth curve data with designs | What's next?

Last update: 2024-03-10
Started: 2023-11-03

Importing and reshaping data
Where are we so far? | Data formats and layouts | Importing data | Importing block-shaped data | A basic example | Specifying metadata | Reading multiple blocks from a single file | What to do next | Importing wide-shaped data | Importing tidy-shaped data | Transforming data | Transforming from wide-shaped to tidy-shaped | What's next?

Last update: 2024-03-09
Started: 2024-01-29

Using make_design to generate experimental designs
Where are we so far? | Including design elements | An example with a single design | A few notes on the pattern | Continuing with the example: multiple designs | Saving designs to files | Saving tidy-shaped designs | Saving block-shaped designs | Saving block-shaped designs to multiple files | Saving block-shaped designs to a single file | Merging growth curve data with designs

Last update: 2024-03-09
Started: 2024-03-08

Readme and manuals

Help Manual

Help pageTopics
Calculate area under the curveauc
Turn tidydesign into block formatblock_tidydesign
Calculate derivatives of vector of datacalc_deriv
Calculate centroidcentroid CentroidFunctions centroid_both centroid_x centroid_y
Calculate doubling time equivalent of per-capita growth ratedoubling_time
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'.example_design_tidy
Example noisy growth curve data in wide formatexample_widedata
Example growth curve data in wide formatexample_widedata_noiseless
Extract parts of an objectextr_val
Find local extrema of a numeric vectorExtremaFunctions find_local_extrema first_maxima first_minima
Find the first local maxima of a numeric vectorfirst_peak
A function that converts base-26 Excel-style letters to numbersfrom_excel
Fit a Smoothing Splinegc_smooth.spline
Import blockdesignsimport_blockdesigns
Import blockmeasuresimport_blockmeasures
Calculate lag timelag_time
Make design data.frame(s)make_design
Make design patternmake_designpattern mdp
Create R objects or files as seen in vignette examplesmake_example
Make tidy design data.framesmake_tidydesign
Create method argument for train of growth curve smoothersmakemethod_train_smooth_data
Collapse a list of dataframes, or merge two dataframes togethermerge_dfs
Maxima and Minimamax_gc MinMaxGC min_gc
Moving window smoothingMovingWindowFunctions moving_average moving_median
Paste a list of blocks into a single blockpaste_blocks
Predict data by linear interpolation from existing datapredict_interpolation
Nicely print the contents of a data.frameprint_df
Read blocksread_blocks
Read tidy-shaped filesread_tidys
Read widesread_wides
Separate a column into multiple columnsseparate_tidy
Smooth datasmooth_data
Return missing information about a linesolve_linear
Find point(s) when a numeric vector crosses some thresholdfind_threshold_crosses first_above first_below ThresholdFunctions
A function that converts numbers into base-26 Excel-style lettersto_excel
Test efficacy of different smoothing parameterstrain_smooth_data
Transform blocks to widestrans_block_to_wide
Pivot wide-shaped into tidytrans_wide_to_tidy
Uninterleave listuninterleave
Where is the Min() or Max() or first TRUE or FALSE?WhichMinMaxGC which_max_gc which_min_gc
Write block designs to csvwrite_blocks