
Last chance! 50% off unlimited learning
Sale ends in
segment(x, weights = NULL, alpha = 0.01, nperm = 10000, p.method = c("hybrid", "perm"), min.width=2, kmax=25, nmin=200, eta=0.05, sbdry=NULL, trim = 0.025, undo.splits = c("none", "prune", "sdundo"), undo.prune=0.05, undo.SD=3, verbose=1)
DNAcopy
. It has three elements:
We recommend using one of the undoing options to remove change-points detected due to local trends (see the manuscript below for examples of local trends).
Since the segmentation procedure uses a permutation reference distribution, R commands for setting and saving seeds should be used if the user wishes to reproduce the results.
Data that are NA, Inf, NaN will be removed on a per sample basis for "genomdat" and all samples for "chrom" and "maploc".
Venkatraman, E. S., Olshen, A. B. (2007) A faster circular binary segmentation algorithm for the analysis of array CGH data. Bioinformatics 23: 657-63.
# test code on an easy data set
set.seed(25)
genomdat <- rnorm(500, sd=0.1) +
rep(c(-0.2,0.1,1,-0.5,0.2,-0.5,0.1,-0.2),c(137,87,17,49,29,52,87,42))
plot(genomdat)
chrom <- rep(1:2,c(290,210))
maploc <- c(1:290,1:210)
test1 <- segment(CNA(genomdat, chrom, maploc))
# test code on a noisier and hence more difficult data set
set.seed(51)
genomdat <- rnorm(500, sd=0.2) +
rep(c(-0.2,0.1,1,-0.5,0.2,-0.5,0.1,-0.2),c(137,87,17,49,29,52,87,42))
plot(genomdat)
chrom <- rep(1:2,c(290,210))
maploc <- c(1:290,1:210)
test2 <- segment(CNA(genomdat, chrom, maploc))
# test code for weighted CBS
set.seed(97)
wts <- sample(1:3, 500, replace=TRUE)
genomdat <- rnorm(500, sd=0.3)/sqrt(wts) +
rep(c(-0.2,0.1,1,-0.5,0.2,-0.5,0.1,-0.2),c(137,87,17,49,29,52,87,42))
plot(genomdat)
chrom <- rep(1:2,c(290,210))
maploc <- c(1:290,1:210)
test3 <- segment(CNA(genomdat, chrom, maploc), weights=wts)
#A real analyis
data(coriell)
#Combine into one CNA object to prepare for analysis on Chromosomes 1-23
CNA.object <- CNA(cbind(coriell$Coriell.05296,coriell$Coriell.13330),
coriell$Chromosome,coriell$Position,
data.type="logratio",sampleid=c("c05296","c13330"))
#We generally recommend smoothing single point outliers before analysis
#Make sure to check that the smoothing is proper
smoothed.CNA.object <- smooth.CNA(CNA.object)
#Segmentation at default parameters
segment.smoothed.CNA.object <- segment(smoothed.CNA.object, verbose=1)
data(coriell)
#Combine into one CNA object to prepare for analysis on Chromosomes 1-23
CNA.object <- CNA(cbind(coriell$Coriell.05296,coriell$Coriell.13330),
coriell$Chromosome,coriell$Position,
data.type="logratio",sampleid=c("c05296","c13330"))
#We generally recommend smoothing single point outliers before analysis
#Make sure to check that the smoothing is proper
smoothed.CNA.object <- smooth.CNA(CNA.object)
#Segmentation at default parameters
segment.smoothed.CNA.object <- segment(smoothed.CNA.object, verbose=1)
Run the code above in your browser using DataLab