View source: R/combineMultFilterNAimput.R
| combineMultFilterNAimput | R Documentation |
In most omics data-analysis one needs to employ a certain number of filtering strategies to avoid getting artifacts to the step of statistical testing.
This function takes both the origial data and the NA-imputed data to create several different filters (number of NAs, min abundance, ..) and finally combines them.
The filter-component aiming to take away the least abundant values (using the imputede data) can be fine-tuned by the argument abundThr.
combineMultFilterNAimput(
dat,
imputed,
grp,
useComparison = "all",
experSetup = NULL,
annDat = NULL,
abundThr = NULL,
colRazNa = NULL,
colTotNa = NULL,
minSpeNo = 1,
minTotNo = 2,
maxGrpMiss = 1,
ratMaxNA = 0.8,
silent = FALSE,
debug = FALSE,
callFrom = NULL
)
dat |
(matrix or data.frame) main data (may contain |
imputed |
(character) same as 'dat' but with all |
grp |
(character or factor) define groups of replicates (in columns of 'dat') |
useComparison |
(character or matrix) argument allowing to specify which pairwise comparions sould be performed, default |
experSetup |
(list) optional esperimental setup (list with $ind, $pwGrpIndex, $sep and $pwGrpNa as obtained using |
annDat |
(matrix or data.frame) annotation data (should match lines of 'dat') |
abundThr |
(numeric) optional threshold filter for minimumn abundance |
colRazNa |
(character) if razor peptides are used: column name for razor peptide count |
colTotNa |
(character) column name for total peptide count |
minSpeNo |
(integer) minimum number of specific peptides for maintaining proteins |
minTotNo |
(integer) minimum total ie max razor number of peptides |
maxGrpMiss |
(numeric) passd to |
ratMaxNA |
(numeric) passd to |
silent |
(logical) suppress messages |
debug |
(logical) additional messages for debugging |
callFrom |
(character) allows easier tracking of messages produced |
The main filtering step compares the means for each group and line (from argument imputed), at least one group-mean has to be superior the threshold (abundThr,
based on hypothesis that if all conditions represent extrememy low measures their differential may not be determined with certainty).
The filter addressing the number of missing values (NA) uses the original data (argument dat), the arguments colTotNa, minSpeNo and minTotNo
are used during this step. Basically, this step allows defining a minimum content of 'real' (ie non-NA) values for further considering the measurements as reliable.
This part uses internally presenceFilt for filtering elevated content of NA per line.
Finally, this function combines both filters (as matrix of FALSE and TRUE) on NA-imputed and original data
and retruns a vector of logical values if corresponding lines passe all filter criteria.
This function returns a list with $data (unmodified input from dat), $nNA, $randParam, $NAneigLst, $seed, $filt (the reommended filtering : TRUE for keeping value), and $annot
presenceFilt
set.seed(2013)
datT6 <- matrix(round(rnorm(300)+3,1), ncol=6,
dimnames=list(paste0("li",1:50), letters[19:24]))
datT6 <- datT6 +matrix(rep(1:nrow(datT6),ncol(datT6)), ncol=ncol(datT6))
datT6[6:7,c(1,3,6)] <- NA
datT6[which(datT6 < 11 & datT6 > 10.5)] <- NA
datT6[which(datT6 < 6 & datT6 > 5)] <- NA
datT6[which(datT6 < 4.6 & datT6 > 4)] <- NA
datT6b <- matrixNAneighbourImpute(datT6, gr=gl(2,3))
datT6c <- combineMultFilterNAimput(datT6, datT6b, grp=gl(2,3), abundThr=2)
head(datT6c$filt)
## with custom choice of comparisons :
gr2 <- gl(2, 3, labels=c("A","B"))
datT6d <- combineMultFilterNAimput(datT6, datT6b, grp=gr2, useCom="B-A", abundThr=2)
head(datT6d$filt)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.