View source: R/multipleAlignment.R
imputePeaks | R Documentation |
Using the information within the peaks that are matched across several runs, we can impute the location of the peaks that are undetected in a subset of runs
imputePeaks(pD, obj, typ = 1, obj2 = NULL, filterMin = 1, verbose = TRUE)
pD |
a |
obj |
the alignment object, either |
typ |
type of imputation to do, 1 for simple linear interpolation
(default), 2 only works if |
obj2 |
a |
filterMin |
minimum number of peaks within a merged peak to impute |
verbose |
logical, whether to print out information |
If you are aligning several samples and for a (small) subset of the samples in question, a peak is undetected, there is information within the alignment that can be useful in determining where the undetected peak is, based on the surrounding matched peaks. Instead of moving forward with missing values into the data matrices, this procedures goes back to the raw data and imputes the location of the apex (as well as the start and end), so that we do not need to bother with post-hoc imputation or removing data because of missing components.
We realize that imputation is prone to error and prone to attributing intensity from neighbouring peaks to the unmatched peak. We argue that this is still better than having to deal with these in statistical models after that fact. This may be an area of future improvement.
list
with 3 elements apex
, start
and
end
, each masked matrices giving the scan numbers of the imputed
peaks.
Mark Robinson
Mark D Robinson (2008). Methods for the analysis of gas chromatography - mass spectrometry data PhD dissertation University of Melbourne.
multipleAlignment
,
progressiveAlignment
, peaksDataset
require(gcspikelite) ## paths and files gcmsPath <- paste(find.package("gcspikelite"), "data", sep = "/") cdfFiles <- dir(gcmsPath,"CDF", full = TRUE) eluFiles <- dir(gcmsPath,"ELU", full = TRUE) ## read data, peak detection results pd <- peaksDataset(cdfFiles[1:3], mz = seq(50,550), rtrange = c(7.5,8.5)) pd <- addAMDISPeaks(pd, eluFiles[1:3]) ## alignments ca <- clusterAlignment(pd, gap = 0.5, D = 0.05, df = 30, metric = 1, type = 1, compress = FALSE) pa <-progressiveAlignment(pd, ca, gap = 0.6, D = 0.1, df = 30, compress = FALSE) v <- imputePeaks(pd, pa, filterMin = 1)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.