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

Share:

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.

Author
Dean Attali [aut, cre]
Date of publication
2016-11-12 00:09:57
Maintainer
Dean Attali <daattali@gmail.com>
License
MIT + file LICENSE
Version
1.6
URLs

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