xieguigang / sciBASIC

sciBASIC# is a kind of dialect language which is derive from the native VB.NET language, and written for the data scientist.
http://sciBASIC.NET/
GNU General Public License v3.0
74 stars 35 forks source link

Can this method "Peak identification carried out by cumulative lines" being intergrated into existing non-targeted LCMS analysis up-stream pipeline? #269

Open YUANMENG-1 opened 1 week ago

YUANMENG-1 commented 1 week ago

I would like to ask if there are existing tools that use this principle for peak lifting, if not, do you plan to build new upstream analysis tools based on this?

YUANMENG-1 commented 4 days ago

Did this have some paper?

xieguigang commented 4 days ago

hi,

The algorithm for peak detection based on signal accumulation lines is a prevalent approach within the field of signal processing. This methodology is extensively utilized in biological image processing applications, such as the detection of cell and tissue boundaries. Nevertheless, its application for peak detection in liquid chromatography-mass spectrometry is not routine, as the prevailing technique for deconvolution analysis in LCMS remains curve fitting methods.

An implementation of the signal accumulation line method is available within the mzkit software, and we have conducted a series of tests that have yielded promising results. I will furnish you with detailed test outcomes in due course and will ensure to inform you accordingly. Your attention to the progress of this endeavor would be appreciated.

code details of algorithm implements in mzkit

  1. Chromatogram data calls the PopulateROI function for finding ROI peaks: https://github.com/xieguigang/mzkit/blob/402ade786b1a653ad10429ab3a366ae501e5f200/src/mzmath/mz_deco/Deconvolution.vb#L81

  2. then function PopulateROI reference to the ElevationAlgorithm module for find signal peaks: https://github.com/xieguigang/mzkit/blob/402ade786b1a653ad10429ab3a366ae501e5f200/src/mzmath/mz_deco/Signals/Chromatogram/AccumulateROI.vb#L120

  3. where finnaly in ElevationAlgorithm module use the method of signal accumulation lines for finding the signal peaks as the LCMS peak ROI output: https://github.com/xieguigang/sciBASIC/blob/bebb0a718729db13725bf593b08ad7b32b9fe938/Data_science/Mathematica/SignalProcessing/SignalProcessing/PeakFinding/Algorithm.vb#L96

The above algorithm invocation process has been encapsulated as a public API in an mzkit_hpc R# language package, allowing for the method to be called through script programming.