mpcbs: Multi-platform circular binary segmentation with user tuned...

Description Usage Arguments Details Value Author(s) References See Also Examples

Description

This function performs multi-platform circular binary segmentation for detecting DNA copy number changes. The number of change-points is determined by a user given threshold.

Usage

1
mpcbs(y, pos, anchors)

Arguments

y

A vector of intensity levels for each platform. y[[k]] should be the intensity levels corresponding to pos[[k]] for platform k.

pos

A vector of sorted integer arrays, one array for each platform. pos[[k]] should give the positions, in increasing order, of the probes of the k-th platform.

anchor

The anchor set, returned by a call to merge.pos(...)

MIN.SNPs

The minimum number of SNPs for each platform in a segment.

MIN.BP.LEN

The minimum base pair length of a segment.

WCHISQ.CUTOFF

Cut-off for the projected chi-square statistic that determines when to stop the recursion.

rratio

An array containing the signal response ratio of each platform.

platform.names

The names of the platforms.

plots

A logical indicating whether to make progress plots.

plotspdf

An optional pdf file where the progress plots will be recorded.

use.filtered.scan

A logical indicating whether to use the faster filtered scan statistic (highly recommended).

Details

MIN.SNPs is the minimum number of snps that a platform needs to have in a window to contribute to the combined scan statistic. If the platform does not have enough SNPs, it will simply contribute 0 to the overall statistic, but if there is enough evidence from the other platforms, that window may still be called.

MIN.BP.LEN is the minimum base pair length of any call.

If the rratio is not specified, it is assumed to be 1 for all platforms.

If use.filtered.scan is TRUE, the scan will roughly take O[nlog(n)] time. If this is false, the scan will take O[n^2] time.

Value

yhat=yhat,chpts=chpts.final,ranking=ranking,Z.score=maxZ

yhat

the segmented (piece-wise constant) values for y.

chpts

the list of change-points.

Z.score

the z-score associated with each interval.

ranking

ranking of the intervals in terms of z-score.

Author(s)

Nancy R. Zhang

References

Zhang, NR, Senbabaoglu, Y. and Li, J.Z. (2009) Joint Estimation of DNA Copy Number from Multiple Platforms. Under review, download manuscript from http://www-stat.stanford.edu/~nzhang/web_multiplatform/

See Also

mpcbs, plot.crossplatform, merge.pos

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
data(mpcbs.example)

# there are 3 platforms represented in this data example: Illumina, Affymetrix, and Agilent.
names(mpcbs.example)

# K is the number of platforms.
K=3

# Store the chromosome positions in vector pos,
# the intensities in vector y:

pos=vector("list",K)
pos[[1]] = mpcbs.example$illu[,1]
pos[[2]] = mpcbs.example$affy[,1]
pos[[3]] = mpcbs.example$agil[,1]

y = vector("list",K)
y[[1]] = mpcbs.example$illu[,2]
y[[2]] = mpcbs.example$affy[,2]
y[[3]] = mpcbs.example$agil[,2]

# Names of the platforms:
platform.names=c("Illumina","Affymetrix","Agilent")

# Get the anchor set.
anchor = merge.pos(pos)

# Perform the segmentation.
#seg<-mpcbs(y,pos,anchor,WCHISQ.CUTOFF=10, platform.names=platform.names,plots=TRUE)


# Plot the data and segmentation, giving it yhat and change-points.
#plot.crossplatform(pos,y, yhat=seg$yhat, chpts=seg$chpts, anchor=anchor, platform.names=platform.names, col="darkgray")

mpcbs documentation built on May 2, 2019, 4:49 p.m.