flag {MANOR} | R Documentation |
A flag
object is a list which contains essentially a function
(flag action) and a character, optionally arguments to be passed to the
function.
We make the distinction between two different flag types,
corresponding to two different purposes:
- permanent flags identify poor quality spots or clones and remove them from further
analysis (eg spots with low signal to noise ratio)
- temporary flags identify spots or clones that have not to be taken into account for
the computation of a (scaling) normalization coefficient (eg X chromosome in case of sex mismatch)
to.flag(FUN, char=NULL, args=NULL, type="perm.flag", label=NULL)
FUN |
a R function to be applied to an arrayCGH , and optionally
other arguments. If char is not NULL, must return a list of spots (lines of
arrayCGH$arrayValues ) to be flagged out; if char==NULL , must return
an object of type arrayCGH |
char |
a character value to identify flagged spots; defaults to NULL |
args |
a list of further arguments to be passed to FUN ; defaults
to NULL (ie arrayCGH is the only argument to FUN ) |
type |
a character value defaulting to "perm.flag" which makes the distinction between permanent flags (type="perm.flag") and temporary flags (type="temp.flag") |
label |
a character value for flag labelling |
If flag$char
is null, flag$FUN
is supposed to return a
arrayCGH
object; if it is not null, flag$FUN
is supposed
to return a list of spots to be flagged with flag$char
.
An object of class flag
.
People interested in tools for array-CGH analysis can visit our web-page: http://bioinfo.curie.fr.
Pierre Neuvial, manor@curie.fr.
### creation of a permanent flag: ## flag spots with low signal to noise ratios SNR.FUN <- function(arrayCGH, snr.thr) which(arrayCGH$arrayValues$F2 < arrayCGH$arrayValues$B2+log(snr.thr, 2)) SNR.char <- "B" SNR.flag <- to.flag(SNR.FUN, SNR.char, args=alist(snr.thr=3)) ### creation of a permanent flag returning an arrayCGH object: ## correct log-ratios for spatial trend global.spatial.FUN <- function(arrayCGH, var) { Trend <- arrayTrend(arrayCGH, var, span=0.03, degree=1, iterations=3, family="symmetric") arrayCGH$arrayValues[[var]] <- Trend$arrayValues[[var]]-Trend$arrayValues$Trend arrayCGH } global.spatial.flag <- to.flag(global.spatial.FUN, args=alist(var="LogRatio")) ### creation of a temporary flag: ## exclude sexual chromosomes from signal scaling chromosome.FUN <- function(arrayCGH, var) which(!is.na(match(as.character(arrayCGH$arrayValues[[var]]), c("X", "Y")))) chromosome.char <- "X" chromosome.flag <- to.flag(chromosome.FUN, chromosome.char, type="temp.flag", args=alist(var="Chromosome")) data(spatial) SNR.flag$args$snr.thr <- 3 ## set SNR threshold gradient <- flag.arrayCGH(SNR.flag, gradient) ## apply SNR.flag to array CGH gradient <- flag.arrayCGH(global.spatial.flag, gradient) gradient <- flag.arrayCGH(chromosome.flag, gradient) summary.factor(gradient$arrayValues$Flag) ## permanent flags summary.factor(gradient$arrayValues$FlagT) ## temporary flags