Skip to content

Postprocessing after chromatographic peak detection #414

Open
@jorainer

Description

@jorainer

After chromatographic peak detection I find myself frequently looking through identified peaks to see whether they make sense or are just noise (I guess that sounds familiar to most people). Things I frequently encounter are:

  • signal from an ion that got split into two separate peaks.
  • streches of neighboring peaks, i.e. noisy signal (we're using HILIC) that results in rather long streches of peak-like signal. For these centWave detects usual several peaks every now and then.

What I would propose is to implement a cleanChromPeaks function that could be called after findChromPeaks to clean up messy signal or refine identified peaks. It's signature could be findChromPeaks(object = "XCMSnExp", param) with param being a parameter object defining the settings for a specific cleaning algorithm. Examples could be:

  • JoinNeighboringPeaksParam: join chromatographic peaks if their m/z range is overlapping and if they are not more than x seconds apart. To avoid joining isomers, skip peaks for which the intensity at rtmax is less than x % of the peak's apex.
  • CleanBroadPeaksParam: remove chromatographic peaks that are wider than x seconds.

Other implementations could follow. They all should take an XCMSnExp and a parameter object as input and return an XCMSnExp (with cleaned/improved chromatographic peaks).

I guess other people might also have similar utility functions already implemented (@stanstrup , @michaelwitting ?) that could be added too.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions