ddpcr: Analysis and Visualization of Droplet Digital PCR in R and on the Web

An interface to explore, analyze, and visualize droplet digital PCR (ddPCR) data in R. This is the first non-proprietary software for analyzing two-channel ddPCR data. An interactive tool was also created and is available online to facilitate this analysis for anyone who is not comfortable with using R.

AuthorDean Attali [aut, cre]
Date of publication2016-11-12 00:09:57
MaintainerDean Attali <daattali@gmail.com>
LicenseMIT + file LICENSE
Version1.6
https://github.com/daattali/ddpcr

View on CRAN

Man pages

analysis_complete: Is the analysis complete?

analyze: Run analysis on a ddPCR plate

bind_df_ends: Helper function for move_front and move_back

calc_negative_freq_simple: Calculate negative frequency based on number of drops

calculate_concentration: Calculate template concentration

calculate_concentration_single: Calculate concentration in a single well

calculate_negative_freqs: Calculate negative frequencies in whole plate

calculate_neg_freq_single: Calculate negative frequency of a single well

capitalize: Capitalize the first letter of a string

cat0: Concatenate strings with no space between them

check_step: Ensure the plate's status is at the right step

classify_droplets: Analysis step: Classify droplets

classify_droplets.pnpp_experiment: Analysis step: Classify droplets

classify_droplets_single: Classify droplets in a well

classify_droplets_single.pnpp_experiment: Classify droplets in a well

classify_thresholds: Analysis step: Classify droplets

cluster: Get cluster ID by name

cluster_name: Get cluster name by ID

clusters: Potential droplet clusters for a plate type

col_to_num: Convert a plate column to a number

custom_thresholds: Plate type: custom thresholds

ddpcr: Analysis and visualization of Droplet Digital PCR data.

ddpcr_plate: Plate type: ddPCR plate

define_clusters: Define droplet clusters

define_clusters.custom_thresholds: Define droplet clusters for custom thresholds plates

define_clusters.ddpcr_plate: Define droplet clusters for default plates

define_clusters.pnpp_experiment: Define droplet clusters for PNPP experiments

define_params: Define plate type parameters

define_params.custom_thresholds: Define plate type parameters for custom thresholds plates

define_params.ddpcr_plate: Define plate type parameters for default plates

define_params.fam_positive_pnpp: Define plate type parameters for FAM-positive PNPP

define_params.hex_positive_pnpp: Define plate type parameters for HEX-positive PNPP

define_params.pnpp_experiment: Define plate type parameters for PNPP experiments

define_params.wildtype_mutant_pnpp: Define plate type parameters for wildtype/mutant PNPP

define_steps: Define analysis steps

define_steps.custom_thresholds: Define analysis steps for custom thresholds plates

define_steps.ddpcr_plate: Define analysis steps for default plates

define_steps.pnpp_experiment: Define analysis steps for PNPP experiments

diff.point2d: Euclidean distance between two points

err_msg: Show an error message

fam_positive_pnpp: Plate type: FAM-positive PNPP

get_col: Get column from well ID

get_empty_cutoff: Get the cutoff for empty droplets in a well

get_empty_cutoff.ddpcr_plate: Get the cutoff for empty droplets in a well

get_empty_cutoff.pnpp_experiment: Get the cutoff for empty droplets in a well

get_filled_border: Get border of filled droplets in PNPP experiment

get_filled_drops: Get filled droplets in PNPP experiment

get_outlier_cutoff: Get the cutoff for outliers

get_outlier_cutoff.ddpcr_plate: Get the cutoff for outliers

get_row: Get row from well ID

get_single_well: Get droplet data from a well

get_wells_btwn: Get all wells between two wells (assume a rectangle layout)

grapes-btwn-grapes: Determine if a numeric value is within a range

grapes-greater-than-grapes: magrittr forward-pipe operator

has_signif_negative_cluster: Does a well have a statistically significant number of...

has_step: Does a ddPCR plate have a step with this name?

hex_positive_pnpp: Plate type: HEX-positive PNPP

is_dir: Determine if a given path is a valid directory

is_dirty: Is the plate object dirty (ie has changed since the analysis...

is_empty_plate: Is a plate empty?

is_file: Determine if a given path is a valid file

is_range: Is the given parameter a range?

is_well_success: Determine if a well had a successful ddPCR run

is_well_success.ddpcr_plate: Determine if a well had a successful ddPCR run

is_well_success.pnpp_experiment: Determine if a well had a successful ddPCR run

launch: Run the interactive analysis tool (Shiny app) in a web...

load_plate: Load a previously saved ddPCR plate

local_maxima: Get the indices of the local maxima in a list of numbers

local_minima: Get the indices of the local minima in a list of numbers

lol_to_df: Convert a list of lists returned from vapply to a dataframe

mark_clusters: Mark the clusters of droplets only in certain wells to their...

merge_dfs_overwrite_col: Overwrite a column in a data.frame based on a matching column...

meta_var_name: Name of variable in PNPP experiment metadata

move_back: Move columns to the back of a data.frame

move_front: Move columns to the front of a data.frame

msg: Write a message to the user if the 'ddpcr.verbose' option is...

name: Plate name

named_vec_to_df: Convert a named vector returned from vapply to a dataframe

new_plate: Create a new ddPCR plate

next_step: Run the next step in an analysis

normalize_to_rds: Normalize a file name to .rds suffix

num_to_col: Convert a number to plate column

num_to_row: Convert a number to plate row

other_dim: Given an axis (X or Y), return the other

params: Plate parameters

parent_plate_type: Parent plate type

parent_plate_type.ddpcr_plate: Parent plate type of default plates

parent_plate_type.default: Parent plate type of any plate

parent_plate_type.fam_positive_pnpp: Parent plate type of FAM-positive PNPP

parent_plate_type.hex_positive_pnpp: Parent plate type of HEX-positive PNPP

parent_plate_type.wildtype_mutant_pnpp: Parent plate type of wildtype/mutant PNPP

plate_data: Plate data (droplets data)

plate_data-set: Overwrite the plate data

plate_meta: Plate metadata

plate_meta-set: Overwrite the plate metadata

plate_types: Supported plate types

plot.custom_thresholds: Plot a ddPCR plate of type custom thresholds

plot.ddpcr_plate: Plot a ddPCR plate

plot.pnpp_experiment: Plot a ddPCR plate of type PNPP experiment

plot.wildtype_mutant_pnpp: Plot a ddPCR plate of type wildtype/mutant PNPP

pnpp_experiment: Plate type: PNPP experiment

point2d: Representation of a 2D point

positive_dim: Positive dimension in a PNPP experiment

positive_dim_var: Name of dye in positive dimension in PNPP experiment

positive_name: Name identifier for positive and negative droplets

print.ddpcr_plate: Print info about a ddPCR plate

quiet: Suppress all output from an expression. Works cross-platform.

range_list_to_vec: Convert a list of ranges to a vector of its individual...

range_to_endpoints: Extract the two endpoints of a range

range_to_seq: Convert a range to a vector of all elements between the...

reclassify_droplets: Analysis step: Reclassify droplets

reclassify_droplets.pnpp_experiment: Analysis step: Reclassify droplets

reclassify_droplets_single: Reclassify droplets in a well

reclassify_droplets_single.pnpp_experiment: Reclassify droplets in a well

remove_empty: Analysis step: Remove empty droplets

remove_empty.ddpcr_plate: Analysis step: Remove empty droplets

remove_empty.pnpp_experiment: Analysis step: Remove empty droplets

remove_failures: Analysis step: Remove failed wells

remove_failures.ddpcr_plate: Analysis step: Remove failed wells

remove_outliers: Analysis Step: Remove outlier droplets

remove_outliers.ddpcr_plate: Analysis Step: Remove outlier droplets

reset: Reset a plate

row_to_num: Convert a plate row to a number

sample_data: Get sample data

save_plate: Save a ddPCR plate

set_default_params: Reset plate parameters to their defaults

status: Plate status

step: Get step ID by step name

step_begin: Inform the user that an analysis step is starting

step_end: Inform the user that an analysis step finished

step_name: Get step name by ID

steps: Analysis steps of a ddPCR plate

subset.ddpcr_plate: Subsetting a ddPCR plate

thresholds: Get/set the thresholds

type: Plate type

unanalyzed_clusters: Get unanalyzed cluseter IDs

variable_dim: Variable dimension in a PNPP experiment

variable_dim_var: Name of dye in variable dimension in PNPP experiment

warn_msg: Show a warning message

WELL_ID_REGEX: regex for a well ID

well_info: Get metadata info of a well

wells_mutant: Get mutant wells

wells_negative: Get negative wells

wells_positive: Get positive wells

wells_success: Get successful/failed wells

wells_used: Get wells used in a ddPCR plate

wells_wildtype: Get wildtype wells

wildtype_mutant_pnpp: Plate type: wildtype/mutant PNPP

x_threshold: Get/set the X threshold

x_var: Get/set the X/Y variable (dye name)

y_threshold: Get/set the Y threshold

Files in this package

ddpcr
ddpcr/inst
ddpcr/inst/vignettes-supp
ddpcr/inst/vignettes-supp/pnpp-simple-result.png
ddpcr/inst/vignettes-supp/outliers.png
ddpcr/inst/vignettes-supp/algorithms-imgs.R
ddpcr/inst/vignettes-supp/gating.png
ddpcr/inst/vignettes-supp/ddpcr-example.png
ddpcr/inst/vignettes-supp/vignette_data_B06_Amplitude.csv
ddpcr/inst/vignettes-supp/supported-exp-types.png
ddpcr/inst/vignettes-supp/empty.png
ddpcr/inst/vignettes-supp/ex-subset.png
ddpcr/inst/shiny
ddpcr/inst/shiny/ui.R
ddpcr/inst/shiny/server.R
ddpcr/inst/shiny/www
ddpcr/inst/shiny/www/hexpositive.png
ddpcr/inst/shiny/www/ddpcr.js
ddpcr/inst/shiny/www/favicon.ico
ddpcr/inst/shiny/www/ajax-loader.gif
ddpcr/inst/shiny/www/fampositive.png
ddpcr/inst/shiny/www/ajax-loader-bar.gif
ddpcr/inst/shiny/www/style.css
ddpcr/inst/shiny/ui
ddpcr/inst/shiny/ui/tab-dataset.R
ddpcr/inst/shiny/ui/header.R
ddpcr/inst/shiny/ui/tab-about.R
ddpcr/inst/shiny/ui/helpers.R
ddpcr/inst/shiny/ui/tab-results.R
ddpcr/inst/shiny/ui/tab-settings.R
ddpcr/inst/shiny/ui/tab-analyze.R
ddpcr/inst/shiny/server
ddpcr/inst/shiny/server/tab-dataset.R
ddpcr/inst/shiny/server/helpers.R
ddpcr/inst/shiny/server/tab-results.R
ddpcr/inst/shiny/server/tab-settings.R
ddpcr/inst/shiny/server/tab-analyze.R
ddpcr/inst/shiny/text
ddpcr/inst/shiny/text/about.md
ddpcr/inst/sample_data
ddpcr/inst/sample_data/large
ddpcr/inst/sample_data/large/large.rds
ddpcr/inst/sample_data/read_complex
ddpcr/inst/sample_data/read_complex/metadata.csv
ddpcr/inst/sample_data/read_complex/test_A01_Amplitude.csv
ddpcr/inst/sample_data/read_complex/test_B02_Amplitude.csv
ddpcr/inst/sample_data/read_complex/diffname_C03_Amplitude.csv
ddpcr/inst/sample_data/read_complex/expected_data.csv
ddpcr/inst/sample_data/small
ddpcr/inst/sample_data/small/A05_filled.csv
ddpcr/inst/sample_data/small/small.rds
ddpcr/inst/sample_data/small/small.csv
ddpcr/inst/sample_data/small/small_A01_Amplitude.csv
ddpcr/inst/sample_data/small/small_F05_Amplitude.csv
ddpcr/inst/sample_data/small/small_C05_Amplitude.csv
ddpcr/inst/sample_data/small/analyzed.rds
ddpcr/inst/sample_data/small/small_A05_Amplitude.csv
ddpcr/inst/sample_data/small/analyzed_pnpp.rds
ddpcr/inst/sample_data/small/small_C01_Amplitude.csv
ddpcr/inst/sample_data/read_simple
ddpcr/inst/sample_data/read_simple/test_A01_Amplitude.csv
ddpcr/inst/sample_data/read_simple/test_B02_Amplitude.csv
ddpcr/inst/sample_data/read_simple/test.csv
ddpcr/inst/sample_data/read_simple/expected_data.csv
ddpcr/inst/sample_data/empty_plate.rds
ddpcr/inst/doc
ddpcr/inst/doc/overview.R
ddpcr/inst/doc/technical_details.Rmd
ddpcr/inst/doc/technical_details.html
ddpcr/inst/doc/algorithm.Rmd
ddpcr/inst/doc/algorithm.R
ddpcr/inst/doc/extend.html
ddpcr/inst/doc/extend.Rmd
ddpcr/inst/doc/overview.html
ddpcr/inst/doc/overview.Rmd
ddpcr/inst/doc/extend.R
ddpcr/inst/doc/technical_details.R
ddpcr/inst/doc/algorithm.html
ddpcr/tests
ddpcr/tests/testthat.R
ddpcr/tests/testthat
ddpcr/tests/testthat/test-utils.R
ddpcr/tests/testthat/test-merge_dfs_overwrite_col.R
ddpcr/tests/testthat/test-empty.R
ddpcr/tests/testthat/test-plate-attribs.R
ddpcr/tests/testthat/test-pnpp_experiment-calculate_neg_freq.R
ddpcr/tests/testthat/test-subset.R
ddpcr/tests/testthat/test-failures.R
ddpcr/tests/testthat/test-plate.R
ddpcr/tests/testthat/test-outliers.R
ddpcr/tests/testthat/test-pnpp_experiment-filled.R
ddpcr/tests/testthat/test-save_load.R
ddpcr/tests/testthat/test-pnpp_experiment.R
ddpcr/tests/testthat/test-custom_thresholds.R
ddpcr/tests/testthat/test-read.R
ddpcr/NAMESPACE
ddpcr/NEWS.md
ddpcr/R
ddpcr/R/type-custom_thresholds.R ddpcr/R/type-wildtype_mutant_pnpp.R ddpcr/R/utils.R ddpcr/R/type-hex_positive_pnpp.R ddpcr/R/empty.R ddpcr/R/aaa.R ddpcr/R/outliers.R ddpcr/R/pnpp_experiment-failures.R ddpcr/R/subset.R ddpcr/R/plate-attribs.R ddpcr/R/plate.R ddpcr/R/pnpp_experiment-empty.R ddpcr/R/plot.R ddpcr/R/pipe.R ddpcr/R/launch.R ddpcr/R/sample_data.R ddpcr/R/plate-utils.R ddpcr/R/concentration.R ddpcr/R/plate-extend.R ddpcr/R/ddpcr.R ddpcr/R/pnpp_experiment-reclassify.R ddpcr/R/type-fam_positive_pnpp.R ddpcr/R/pnpp_experiment-calculate_neg_freq.R ddpcr/R/save_load.R ddpcr/R/type-ddpcr_plate.R ddpcr/R/plate-print.R ddpcr/R/type-pnpp_experiment.R ddpcr/R/read.R ddpcr/R/pnpp_experiment-classify.R ddpcr/R/ignoreme.R ddpcr/R/pnpp_experiment-plot.R ddpcr/R/failures.R ddpcr/R/zzz.R ddpcr/R/pnpp_experiment-filled.R
ddpcr/vignettes
ddpcr/vignettes/technical_details.Rmd
ddpcr/vignettes/algorithm.Rmd
ddpcr/vignettes/extend.Rmd
ddpcr/vignettes/overview.Rmd
ddpcr/README.md
ddpcr/MD5
ddpcr/build
ddpcr/build/vignette.rds
ddpcr/DESCRIPTION
ddpcr/man
ddpcr/man/launch.Rd ddpcr/man/define_params.hex_positive_pnpp.Rd ddpcr/man/parent_plate_type.hex_positive_pnpp.Rd ddpcr/man/step_end.Rd ddpcr/man/parent_plate_type.default.Rd ddpcr/man/grapes-greater-than-grapes.Rd ddpcr/man/normalize_to_rds.Rd ddpcr/man/type.Rd ddpcr/man/classify_droplets.pnpp_experiment.Rd ddpcr/man/new_plate.Rd ddpcr/man/get_empty_cutoff.ddpcr_plate.Rd ddpcr/man/classify_thresholds.Rd ddpcr/man/params.Rd ddpcr/man/y_threshold.Rd ddpcr/man/sample_data.Rd ddpcr/man/local_minima.Rd ddpcr/man/calculate_concentration_single.Rd ddpcr/man/mark_clusters.Rd ddpcr/man/parent_plate_type.ddpcr_plate.Rd ddpcr/man/wells_used.Rd ddpcr/man/unanalyzed_clusters.Rd ddpcr/man/positive_dim.Rd ddpcr/man/status.Rd ddpcr/man/plot.ddpcr_plate.Rd ddpcr/man/define_clusters.Rd ddpcr/man/calc_negative_freq_simple.Rd ddpcr/man/range_to_seq.Rd ddpcr/man/define_params.custom_thresholds.Rd ddpcr/man/define_clusters.ddpcr_plate.Rd ddpcr/man/define_params.Rd ddpcr/man/wells_mutant.Rd ddpcr/man/classify_droplets_single.Rd ddpcr/man/capitalize.Rd ddpcr/man/positive_name.Rd ddpcr/man/ddpcr.Rd ddpcr/man/num_to_row.Rd ddpcr/man/move_front.Rd ddpcr/man/ddpcr_plate.Rd ddpcr/man/save_plate.Rd ddpcr/man/wells_positive.Rd ddpcr/man/named_vec_to_df.Rd ddpcr/man/reclassify_droplets_single.Rd ddpcr/man/define_steps.pnpp_experiment.Rd ddpcr/man/classify_droplets.Rd ddpcr/man/subset.ddpcr_plate.Rd ddpcr/man/classify_droplets_single.pnpp_experiment.Rd ddpcr/man/define_steps.Rd ddpcr/man/load_plate.Rd ddpcr/man/cluster.Rd ddpcr/man/get_filled_drops.Rd ddpcr/man/next_step.Rd ddpcr/man/get_filled_border.Rd ddpcr/man/is_dirty.Rd ddpcr/man/pnpp_experiment.Rd ddpcr/man/quiet.Rd ddpcr/man/get_outlier_cutoff.ddpcr_plate.Rd ddpcr/man/WELL_ID_REGEX.Rd ddpcr/man/warn_msg.Rd ddpcr/man/calculate_negative_freqs.Rd ddpcr/man/move_back.Rd ddpcr/man/is_file.Rd ddpcr/man/analyze.Rd ddpcr/man/lol_to_df.Rd ddpcr/man/is_well_success.pnpp_experiment.Rd ddpcr/man/get_empty_cutoff.pnpp_experiment.Rd ddpcr/man/remove_failures.Rd ddpcr/man/range_list_to_vec.Rd ddpcr/man/parent_plate_type.wildtype_mutant_pnpp.Rd ddpcr/man/positive_dim_var.Rd ddpcr/man/fam_positive_pnpp.Rd ddpcr/man/remove_empty.ddpcr_plate.Rd ddpcr/man/err_msg.Rd ddpcr/man/remove_outliers.ddpcr_plate.Rd ddpcr/man/row_to_num.Rd ddpcr/man/meta_var_name.Rd ddpcr/man/point2d.Rd ddpcr/man/step_name.Rd ddpcr/man/remove_failures.ddpcr_plate.Rd ddpcr/man/reclassify_droplets.Rd ddpcr/man/msg.Rd ddpcr/man/variable_dim.Rd ddpcr/man/define_params.fam_positive_pnpp.Rd ddpcr/man/custom_thresholds.Rd ddpcr/man/parent_plate_type.fam_positive_pnpp.Rd ddpcr/man/step.Rd ddpcr/man/define_params.wildtype_mutant_pnpp.Rd ddpcr/man/wells_wildtype.Rd ddpcr/man/name.Rd ddpcr/man/steps.Rd ddpcr/man/plate_data-set.Rd ddpcr/man/thresholds.Rd ddpcr/man/define_clusters.custom_thresholds.Rd ddpcr/man/merge_dfs_overwrite_col.Rd ddpcr/man/get_wells_btwn.Rd ddpcr/man/plot.custom_thresholds.Rd ddpcr/man/bind_df_ends.Rd ddpcr/man/has_step.Rd ddpcr/man/clusters.Rd ddpcr/man/cluster_name.Rd ddpcr/man/is_well_success.ddpcr_plate.Rd ddpcr/man/parent_plate_type.Rd ddpcr/man/get_row.Rd ddpcr/man/get_single_well.Rd ddpcr/man/x_threshold.Rd ddpcr/man/is_empty_plate.Rd ddpcr/man/plate_types.Rd ddpcr/man/plot.wildtype_mutant_pnpp.Rd ddpcr/man/define_params.pnpp_experiment.Rd ddpcr/man/reclassify_droplets_single.pnpp_experiment.Rd ddpcr/man/plate_meta-set.Rd ddpcr/man/get_empty_cutoff.Rd ddpcr/man/wells_negative.Rd ddpcr/man/well_info.Rd ddpcr/man/x_var.Rd ddpcr/man/diff.point2d.Rd ddpcr/man/local_maxima.Rd ddpcr/man/plate_meta.Rd ddpcr/man/define_steps.custom_thresholds.Rd ddpcr/man/plot.pnpp_experiment.Rd ddpcr/man/col_to_num.Rd ddpcr/man/step_begin.Rd ddpcr/man/set_default_params.Rd ddpcr/man/get_col.Rd ddpcr/man/wells_success.Rd ddpcr/man/remove_outliers.Rd ddpcr/man/calculate_neg_freq_single.Rd ddpcr/man/num_to_col.Rd ddpcr/man/print.ddpcr_plate.Rd ddpcr/man/define_clusters.pnpp_experiment.Rd ddpcr/man/remove_empty.pnpp_experiment.Rd ddpcr/man/plate_data.Rd ddpcr/man/is_range.Rd ddpcr/man/is_dir.Rd ddpcr/man/range_to_endpoints.Rd ddpcr/man/has_signif_negative_cluster.Rd ddpcr/man/grapes-btwn-grapes.Rd ddpcr/man/is_well_success.Rd ddpcr/man/get_outlier_cutoff.Rd ddpcr/man/calculate_concentration.Rd ddpcr/man/cat0.Rd ddpcr/man/wildtype_mutant_pnpp.Rd ddpcr/man/remove_empty.Rd ddpcr/man/define_steps.ddpcr_plate.Rd ddpcr/man/reclassify_droplets.pnpp_experiment.Rd ddpcr/man/analysis_complete.Rd ddpcr/man/check_step.Rd ddpcr/man/define_params.ddpcr_plate.Rd ddpcr/man/variable_dim_var.Rd ddpcr/man/other_dim.Rd ddpcr/man/reset.Rd ddpcr/man/hex_positive_pnpp.Rd
ddpcr/LICENSE

Questions? Problems? Suggestions? or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.