[BioC] peak and peak width (FWHM) identification

Duke duke.lists at gmx.com
Thu Feb 10 23:29:07 CET 2011


Hi folks,

I have to deal with finding peaks and their widths (for example FWHM - 
Full width at half maximum) of a dataset (basically x coordinates and y 
non-negative values). So far, after searching through forum and google, 
I found turnpoints() function in Pastecs package which can help me to 
find the turning points. My algorithm is as followed:

1. get the list of local peaks with certain threshold (max turnpoints by 
turnpoints function)
2. for each of the found peaks, do two scans using peak's index to find 
furthest upper/lower points that have values not smaller than half of 
that peak. These points will determine the peak's FWHM.

Well, the algorithm is fine, and so far for a small dataset, it runs 
fine and give me quite a satisfied result. But the problem is the time 
of the scan. Usually the peak finding takes about few minutes for a data 
of about few million points, but the scan to get FWHM takes like the 
whole day, because of its double looping (1st for peak loop, 2nd for 
each peak).

I thougth using array / matrix will help improve the speed much faster, 
so anybody has any other idea/suggestions? Or any one know packages that 
can help my task?

Thanks a lot,

D.



More information about the Bioconductor mailing list