Skip to main content
Topic: centwave: prefilter = c(K,I) or noise (Read 5469 times) previous topic - next topic

centwave: prefilter = c(K,I) or noise

Hello,

In the documentation on findPeaks.centWave  there seem to be two different parameters to set an intensity threshold during the ROI detection step.

1) prefilter = c(K,I) which keeps mass traces if they contain at least K peaks with intensity >= I.
2) noise = which is described as an optional parameter to remove centroids with intensity < noise

I understand both of these ideas. What I don't understand is why there are two ways to set the lower intensity bounds during the ROI detection step. Is there a case where the intensity value in the prefilter would be a different number than the noise parameter? Or, have I misunderstood the two parameters?

Thanks,
Krista

Re: centwave: prefilter = c(K,I) or noise

Reply #1
While I am not entirely sure, I think the prefilter parameter only applies during the ROI generation step, while the noise parameter applies to the entire centWave analysis.  So, when generating ROIs, centWave will totally ignore anything under the noise parameter and will only keep ROIs that pass the prefilter parameter.  Once the ROIs are picked, however, centWave will also use the noise parameter when performing peak detection and integration within those ROIs, while the prefilter parameter is not used for the duration of the analysis.

Hope this helps,
Cole

Re: centwave: prefilter = c(K,I) or noise

Reply #2
Hi Cole,

OK. The distinction makes sense to me, although I still cannot envision a case where two different values would be useful. Thanks for the clarification.

Krista

Re: centwave: prefilter = c(K,I) or noise

Reply #3
The noise parameter is going to affect your entire analysis.  Some specific areas include identification of peak boundaries (if integrate=2 is chosen), subsequent integration of identified peaks, and calculation of signal to noise ratio.  Since noise tends to vary in a nonlinear fashion over the entirety of a run, however, I personally prefer to either not use the noise parameter (since it is pretty much guaranteed to be inaccurate at some point in the chromatographic domain) or to set it very conservatively to ensure that I do not inadvertently filter out valid data.

The prefilter parameter, however, exists solely to ensure the quality of your regions of interest that are then searched for peaks.

So, one is about the overall quality of your data and the other is about the overall quality of the ROI's picked in the first step.  As such, I would consider these parameters to be completely distinct rather than almost redundant.

Take, for example, a data set that has an average noise level of 100 count.  Let's also say that valid regions of interest tend to have at least 4 'peaks'  that are of intensity 400 or greater.  If you were to simply set the noise parameter to 100, you would get a lot of unwanted ROIs from the first step that contained 'peaks' between 100 and 400 count (which, based on our definition, end up not containing any actual peaks). Conversely, if you were to set the noise parameter to 400, you would get only valid/desired ROI's from the first step, but would get inaccurate results from the second step where peaks are identified and quantified (since the true noise is at 100 and not 400).  So, for optimal results, you would need to set the noise level to 100 AND  prefilter = c(4,400).  This gives you optimal/accurate ROIs and accurate identification+quantification.

Sorry if I seem like I am repeating myself, but I hope this makes things a little more clear.

Cole

Re: centwave: prefilter = c(K,I) or noise

Reply #4
Hi Cole,

OK. That makes sense to me now. Thanks for the clarification and the concrete example.