Plot Panel

Description

The plot_panel function takes objects of the class adpcr to enable customizable graphical representations of a chamber-based digital PCR experiments (e.g., Digital Array (R) IFCs (integrated fluidic circuits) of the BioMark (R) and EP1 (R)).

Usage

1
2
plot_panel(input, use_breaks = TRUE, col = "red", legend = TRUE,
  half = "none", plot = TRUE, ...)

Arguments

input

object of the adpcr class.

use_breaks

if TRUE, input is cutted into intervals using the breaks slot. If FALSE, the integer class of the input is preserved. Ignored if data has "np" type (see possible types of adpcr objects).

col

A single color or vector of colors for each level of input.

legend

If TRUE, a built-in legend is added to the plot.

half

If left or right, every well is represented only by the adequate half of the rectangle.

plot

"logical", if FALSE, only plot data is returned invisibly.

...

Arguments to be passed to plot function.

Details

Currently, only objects containing tnp data can be plotted as a whole. For the any other type of the adpcr data, only just one column of data (one panel) can be plotted at the same time (see Examples how easily plot multipanel objects). Moreover the object must contain fluorescence intensities or exact number of molecules or the positive hits derived from the Cq values for each well. The Cq values can be obtained by custom made functions (see example in dpcr_density)) or the yet to implement "qpcr_analyser function from the dpcR package.

If the col argument has length one, a color is assigned for each interval of the input, with the brightest colors for the lowest values.

Value

Invisibly returns two sets of coordinates of each microfluidic well as per calc_coordinates: coords is a list of coordinates suitable for usage with functions from graphics package. The second element is a data frame of coordinates useful for users utilizing ggplot2 package.

Author(s)

Michal Burdukiewicz, Stefan Roediger.

See Also

extract_dpcr - extract experiments. adpcr2panel - convert adpcr object to arrays.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# Create a sample dPCR experiment with 765 elements (~> virtual compartments)   
# of target molecule copies per compartment as integer numbers (0,1,2)
ttest <- sim_adpcr(m = 400, n = 765, times = 20, pos_sums = FALSE, 
                   n_panels = 1)
# Plot the dPCR experiment results with default settings
plot_panel(ttest)

#do it without breaks
plot_panel(ttest, use_breaks = FALSE)

# Apply a binary color code with blue as positive
slot(ttest, "breaks") <- c(0, 2, 4)
plot_panel(ttest, col = "blue")

# Apply a two color code for number of copies per compartment
plot_panel(ttest, col = c("blue", "red"))



# supply customized breaks and compare
par(mfcol = c(2, 1))
plot_panel(ttest)
slot(ttest, "breaks") <- c(0, 1, 2, (max(slot(ttest, "breaks")) + 1))
plot_panel(ttest)
par(mfcol = c(1, 1))

# plot few panels
ttest2 <- sim_adpcr(m = 400, n = 765, times = 40, pos_sums = FALSE, 
                    n_panels = 4)
par(mfcol = c(2, 2))
four_panels <- lapply(1:ncol(ttest2), function(i) 
       plot_panel(extract_dpcr(ttest2, i), legend = FALSE, 
         main = paste("Panel", LETTERS[i], sep = " ")))
par(mfcol = c(1, 1))

# two different channels 
plot_panel(extract_dpcr(ttest2, 1), legend = FALSE, 
           half = "left")
par(new = TRUE)
plot_panel(extract_dpcr(ttest2, 2), col = "blue", 
           legend = FALSE, half = "right")

# plot two panels with every well as only the half of the rectangle
ttest3 <- sim_adpcr(m = 400, n = 765, times = 40, pos_sums = FALSE, 
                    n_panels = 2)
par(mfcol = c(1, 2))
two_panels <- lapply(1:ncol(ttest3), function(i) 
       plot_panel(extract_dpcr(ttest3, i), legend = FALSE, 
         main = paste("Panel", LETTERS[i], sep = " ")))
par(mfcol = c(1, 1))

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.