reports samples that have too little starting material relative to others (by default, less by two standard deviations)
Usage
outlierSamples(model, data, z.cutoff = -2)
Arguments
model
qPCR model: the output of mcmc.qpcr or mcmc.qpcr.lognormal function fitted with pr=TRUE option
data
The dataset that was analysed to generate the model (output of cq2counts or cq2log functions)
z.cutoff
z-score cutoff to report an outlier sample.
Value
A vector containing outlier sample names.
Author(s)
Mikhail V. Matz, University of Texas at Austin
<matz@utexas.edu>
References
Matz MV, Wright RM, Scott JG (2013) No Control Genes Required: Bayesian Analysis of qRT-PCR Data. PLoS ONE 8(8): e71448. doi:10.1371/journal.pone.0071448
Examples
# loading Cq data and amplification efficiencies
data(coral.stress)
data(amp.eff)
# extracting a subset of data
cs.short=subset(coral.stress, timepoint=="one")
genecolumns=c(5,6,16,17) # specifying columns corresponding to genes of interest
conditions=c(1:4) # specifying columns containing factors
# calculating molecule counts and reformatting:
dd=cq2counts(data=cs.short,genecols=genecolumns,
condcols=conditions,effic=amp.eff,Cq1=37)
# fitting the model
mm=mcmc.qpcr(
fixed="condition",
data=dd,
controls=c("nd5","rpl11"),
nitt=4000, # remove this line when analyzing real data!
pr=TRUE
)
# detecting outliers
outliers=outlierSamples(mm,dd)
# removing outliers
dd=dd[!(dd$sample %in% outliers),]
Results
R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> library(MCMC.qpcr)
Loading required package: MCMCglmm
Loading required package: Matrix
Loading required package: coda
Loading required package: ape
Loading required package: ggplot2
> png(filename="/home/ddbj/snapshot/RGM3/R_CC/result/MCMC.qpcr/outlierSamples.Rd_%03d_medium.png", width=480, height=480)
> ### Name: outlierSamples
> ### Title: detects outlier samples in qPCR data
> ### Aliases: outlierSamples
>
> ### ** Examples
>
> # loading Cq data and amplification efficiencies
> data(coral.stress)
> data(amp.eff)
> # extracting a subset of data
> cs.short=subset(coral.stress, timepoint=="one")
>
> genecolumns=c(5,6,16,17) # specifying columns corresponding to genes of interest
> conditions=c(1:4) # specifying columns containing factors
>
> # calculating molecule counts and reformatting:
> dd=cq2counts(data=cs.short,genecols=genecolumns,
+ condcols=conditions,effic=amp.eff,Cq1=37)
>
> # fitting the model
> mm=mcmc.qpcr(
+ fixed="condition",
+ data=dd,
+ controls=c("nd5","rpl11"),
+ nitt=4000, # remove this line when analyzing real data!
+ pr=TRUE
+ )
$PRIOR
$PRIOR$B
$PRIOR$B$mu
[1] 0 0 0 0 0 0 0 0
$PRIOR$B$V
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] 1e+08 0e+00 0e+00 0e+00 0e+00 0e+00 0.0000000 0.0000000
[2,] 0e+00 1e+08 0e+00 0e+00 0e+00 0e+00 0.0000000 0.0000000
[3,] 0e+00 0e+00 1e+08 0e+00 0e+00 0e+00 0.0000000 0.0000000
[4,] 0e+00 0e+00 0e+00 1e+08 0e+00 0e+00 0.0000000 0.0000000
[5,] 0e+00 0e+00 0e+00 0e+00 1e+08 0e+00 0.0000000 0.0000000
[6,] 0e+00 0e+00 0e+00 0e+00 0e+00 1e+08 0.0000000 0.0000000
[7,] 0e+00 0e+00 0e+00 0e+00 0e+00 0e+00 0.3663091 0.0000000
[8,] 0e+00 0e+00 0e+00 0e+00 0e+00 0e+00 0.0000000 0.3663091
$PRIOR$R
$PRIOR$R$V
[,1] [,2] [,3] [,4]
[1,] 1 0 0 0
[2,] 0 1 0 0
[3,] 0 0 1 0
[4,] 0 0 0 1
$PRIOR$R$nu
[1] 3.002
$PRIOR$G
$PRIOR$G$G1
$PRIOR$G$G1$V
[1] 1
$PRIOR$G$G1$nu
[1] 0
$FIXED
[1] "count~0+gene++gene:condition"
$RANDOM
[1] "~sample"
MCMC iteration = 0
Acceptance ratio for liability set 1 = 0.000313
Acceptance ratio for liability set 2 = 0.000387
Acceptance ratio for liability set 3 = 0.000258
Acceptance ratio for liability set 4 = 0.000344
MCMC iteration = 1000
Acceptance ratio for liability set 1 = 0.105281
Acceptance ratio for liability set 2 = 0.379710
Acceptance ratio for liability set 3 = 0.308581
Acceptance ratio for liability set 4 = 0.116062
MCMC iteration = 2000
Acceptance ratio for liability set 1 = 0.157219
Acceptance ratio for liability set 2 = 0.424032
Acceptance ratio for liability set 3 = 0.360129
Acceptance ratio for liability set 4 = 0.177906
MCMC iteration = 3000
Acceptance ratio for liability set 1 = 0.186750
Acceptance ratio for liability set 2 = 0.439355
Acceptance ratio for liability set 3 = 0.365032
Acceptance ratio for liability set 4 = 0.203063
MCMC iteration = 4000
Acceptance ratio for liability set 1 = 0.193188
Acceptance ratio for liability set 2 = 0.411645
Acceptance ratio for liability set 3 = 0.330194
Acceptance ratio for liability set 4 = 0.221719
>
> # detecting outliers
> outliers=outlierSamples(mm,dd)
>
> # removing outliers
> dd=dd[!(dd$sample %in% outliers),]
>
>
>
>
>
>
> dev.off()
null device
1
>