prafols / rMSIproc

rMSI processing methods using C++
GNU General Public License v3.0
10 stars 4 forks source link

peak matrix not stored in output folder #10

Closed goterm closed 2 years ago

goterm commented 2 years ago

Hello,

I am trying to use rMSIproc with imzML files. The process runs and load the data as follows:

Processing execution 1 of 1 Loading Image...

No ramdisk directory, it will be created | | 0% Parsing XML data in imzML file... WARNING: Checksum validation is disabled, data may be corrupt! Calculating the new mass axis... |=================================================================================| 100% Mass axis calculation time: 3193.3 seconds The re-sampled mass axis contains 39451 data points

Reading spectra from binary file... |=================================================================================| 100% Binary file reading time: 201.4 seconds

Calculating Average Spectrum... 100%|====================================================================================================| 14/14 Multi thread processing complete

Running Savitzky-Golay Smoothing... 100%|====================================================================================================| 14/14 Multi thread processing complete Calculating internal reference spectrum 1/1... |=================================================================================| 100% Pixel with ID 3370 from image indexed as 1 (220526_maldi2_tonsil_test.imzML) selected as internal reference. Running Label-Free Alignment... 100%|====================================================================================================| 14/14 Multi thread processing complete Running Bit depth reduction... 100%|====================================================================================================| 14/14 Multi thread processing complete Calculating average spectrum... 100%|====================================================================================================| 14/14 Multi thread processing complete

and this is a screenshot of the result:

Screen Shot 2022-06-28 at 5 27 44 PM

However, the output folder is empty and the peak matrix is not stored as it should. I am missing something but the only thing I can to is close the GUI. I have tried with several data imzML data sets as well. Could you please help me out?

prafols commented 2 years ago

Hi, the rMSIproc workflow is waiting you to perform the mass recalibration, that's the purpose of this GUI. When the calibration is done, it will continue with the processing.

To perform the calibration you need to create your own mass references file which is basically a plain text file with the known peaks and its m/z values (see some examples https://github.com/prafols/rMSI2/tree/main/massCalibrationRefs) Then, you assign each reference to the corresponding peak in the average spectrum. I recommend using the "Loess" mode only if you can provide more than three mass references, use "linear" otherwise. Alternatively, if you do not know any internal mass reference for your dataset, you can just disable the mass calibration step.

Apologizes, this is not well documented yet, but let me know if you need future help.

A side of that, the average spectrum in your screenshot does not look good to me. Are you sure your imzML file is in profile mode?

I would also like to point you to the new rMSI2 which is the successor of rMSIproc ( https://github.com/prafols/rMSI2). It is still under heavy development, but I think it performs better. Take a look at the installation guide and the workshop (https://github.com/prafols/rMSI2/tree/main/guides).

goterm commented 2 years ago

Hi, apologies for the late reply. I have solved as suggested. I could not find the option to disable the mass calibration step.

I have also used rMSI2, thanks!

I am running into another issue that I will open separately.