####################################################################
## Author: Gro Nilsen, Knut Liestøl and Ole Christian Lingjærde.
## Maintainer: Gro Nilsen <gronilse@ifi.uio.no>
## License: Artistic 2.0
## Part of the copynumber package
## Reference: Nilsen and Liestøl et al. (2012), BMC Genomics
####################################################################
# Function that calls segments as gain, normal or loss
## Input:
### segments: segmentation results from pcf or multipcf
### thres.gain,thres.loss: threshold(s) to be applied for abberration calling
## Required by: none
## Requires:
### is.multiseg
### pullOutContent
callAberrations <- function(segments, thres.gain, thres.loss = -thres.gain) {
# Make sure segments is a data frame
segments <- pullOutContent(res = segments, what = "segments")
if (is.multiseg(segments)) {
call.seg <- matrix("normal", nrow = nrow(segments), ncol = ncol(segments) - 5)
colnames(call.seg) <- colnames(segments)[-c(1:5)]
gain <- segments[, -c(1:5), drop = FALSE] > thres.gain
call.seg[gain] <- "gain"
loss <- segments[, -c(1:5), drop = FALSE] < thres.loss
call.seg[loss] <- "loss"
call.seg <- as.data.frame(cbind(segments[, c(1:5)], call.seg))
} else {
call.seg <- rep("normal", nrow(segments))
gain <- segments[, 7] > thres.gain
call.seg[gain] <- "gain"
loss <- segments[, 7] < thres.loss
call.seg[loss] <- "loss"
call.seg <- as.data.frame(cbind(segments[, c(1:6)], call.seg))
colnames(call.seg)[7] <- "call"
}
return(call.seg)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.