applyCNPmask: Apply a mask to a table of copy number events.

View source: R/applyCNPmask.R

applyCNPmaskR Documentation

Apply a mask to a table of copy number events.

Description

A mask is applied to amplified or deleted segments as tabulated in segtable. A decision whether to mask a segment is taken based on what portion of the segment is covered by the mask. A position is chosen at random within a segment to be masked, the flanking segments are extended to that position and the segment to be masked is indicated as such in the value returned.

Usage

applyCNPmask(segtable,chrom,startPos,endPos,startProbe,endProbe,
	eventIndex,masktable,maskchrom,maskstart,maskend,maskindex,mincover=1,
	indexvals=c(-1,1))

Arguments

segtable

A matrix or a data frame with columns named or enumerated by the values of chrom, startPos, endPos, startProbe, endProbe, eventIndex.

chrom

A character string specifying the name for the column in segtable tabulating the (integer) chromosome number for each segment.

startPos, endPos

Character strings or integers specifying the names or numbers of columns in segtable that tabulate the (integer) genomic start and end coordinates of each segment.

startProbe, endProbe

Character strings specifying the names of columns in segtable that tabulate the (integer) start and end postions of each segment in internal units such as probe numbers for data of CGH microarray origin.

eventIndex

A character string giving the name of a column in segtable where copy number variation status of the segments is tabulated.

masktable

A matrix or a data frame with columns named or enumerated as given by maskchrom, maskstart, maskend, maskindex and with rows corresponding to genomic intervals that comprise the mask.

maskchrom,maskstart,maskend

Character strings or integers specifying the names or numbers of columns in masktable that tabulate the chromosome number and (integer) genomic start and end coordinates of the intervals comprising the mask.

maskindex

A numeric vector corresponding to eventIndex,specifying copy number events status for measuring units.

mincover

A numeric value specifying the minimal portion of the segment that must be covered by the mask in order to trigger masking.

indexvals

A numeric vector of length 2 specifying the two values in maskindex to be matched with values in eventIndex to determine the events that are to be masked.

Details

Masking is performed separately for each value in indexvals. Segments (rows of segtable) with that value of eventIndex are examined for coverage by mask intervals with that value of maskindex in masktable. If the coverage is at least mincover, the segment is slated for masking, while its flanking segments are extended to a random point within the segment being masked.

Value

A matrix with same number of observations/rows as segtable and with following three columns:

startProbe,endProbe

An integer vector for the start and end positions of the segments after masking.

toremove

An integer vector whose values are 1 if the segment is masked and 0 otherwise.

Author(s)

Alex Krasnitz

Examples

## Not run: 
data(segexample)
data(ratexample)
data(normsegs)
data(cnpexample)
segtable<-CNpreprocessing(segall=segexample[segexample[,"ID"]=="WZ1",],
ratall=ratexample,"ID","start","end",chromcol="chrom",bpstartcol="chrom.pos.start",
bpendcol="chrom.pos.end",blsize=50,minjoin=0.25,cweight=0.4,bstimes=50,
chromrange=1:22,distrib="Rparallel",njobs=2,modelNames="E",normalength=normsegs[,1],
normalmedian=normsegs[,2])
#form a eventIndex vector
eventIndex<-rep(0,nrow(segtable))
eventIndex[segtable[,"marginalprob"]<1e-4&segtable[,"negtail"]>
0.999&segtable[,"mediandev"]<0] <- -1
eventIndex[segtable[,"marginalprob"]<1e-4&segtable[,"negtail"]>
0.999&segtable[,"mediandev"]>0] <- 1
segtable<-cbind(segtable,eventIndex)
#form a cnpindex vector
namps17<-cnpexample[cnpexample[,"copy.num"]=="amp",]
aCNPmask<-makeCNPmask(imat=namps17,chromcol=2,startcol=3,endcol=4,
nprof=1203,uthresh=0.02,dthresh=0.008)
ndels17<-cnpexample[cnpexample[,"copy.num"]=="del",]
dCNPmask<-makeCNPmask(imat=ndels17,chromcol=2,startcol=3,endcol=4,
nprof=1203,uthresh=0.02,dthresh=0.008)
cnptable<-rbind(cbind(aCNPmask,cnpindex=1),cbind(dCNPmask,cnpindex=-1))
#run the CNP test
myCNPtable<-applyCNPmask(segtable,"chrom",startPos="chrom.pos.start",
endPos="chrom.pos.end","start","end","eventIndex",masktable=cnptable,"chrom",
maskstart="start",maskend="end",maskindex="cnpindex",mincover=0.005,indexvals=c(-1,1))

## End(Not run)

CNprep documentation built on May 24, 2022, 5:05 p.m.

Related to applyCNPmask in CNprep...