zamboni-lab / SLAW

Scalable and self-optimizing processing workflow for untargeted LC-MS
GNU General Public License v2.0
26 stars 3 forks source link

openMS empty datamatrices (other algorithms working) #13

Closed HeatherKates closed 2 years ago

HeatherKates commented 2 years ago

Hello, thank you for this great tool. I am just starting to use it and am testing out the three peakpicking algorithms with parameter optimization. Right now on a dataset of 110 files, centwave finished in ~1 hr, ADAP is long-running (12+ hrs, no output printed to the log since "Building peakpicking" began 9 hours ago - ADAP has finished on smaller datasets so hopefully will eventually finish), and openMS finished with no output in the datamatrices/ subdirectory although there is output in the OPENMS/peaktables/ subdir.

In my previous tests, datamatrices/ being empty meant that some parameters were set very far off. Notably (I saw a closed issue about this), this can happen with the default parameters for ADAP

Because CENTWAVE (and presumably ADAP) are working with the same data, I've focused on adjusting the parameters unique to openMS, i.e. trace_construction and peak_width_fac and I've manually tuned noise_level_ms1, noise_level_ms2 and peaks_deconvolution. I've tested a few different values for each, but I'm not experienced with openMS and can't find helpful guidelines in its documentation to know whether these parameters being off could cause the problem.

I have tried this using SLAW v 20211217 and the dev version. using -e LOGGING=DEBUG gives the same output as without debugging, and that output and two of the parameters files that I used are attached.

Do you have any recommendations of common offenders causing no output from experience with using openMS in SLAW? Thank you! slaw.openMS.log parameters.optimized.txt parameters.optimized.edited..txt

adelabriere commented 2 years ago

Hi @HeatherKates

Sorry for the delay, openMS seems to have ran on your files looking at runtime, could you tell me if you have some tables in OPENMS/peaktables and if they can be opened ?

Moreover I am certain that the DEBUG log was not present, with openMS if the debug log was working you should see something like this:

docker run -e LOGGING=DEBUG -v /home/dalexis/Documents/dev/SLAW/test_data/output3:/output -v /home/dalexis/Documents/dev/SLAW/test_data/mzML:/input adelabriere/slaw:latest
2022-02-28|11:18:22|INFO: Total memory available: 10629 and 8 cores. The workflow will use 1518 Mb by core on 7 cores.
2022-02-28|11:18:22|INFO: Guessing polarity from file:S2.mzML
2022-02-28|11:18:22|DEBUG: Rscript /pylcmsprocessing/Rscript/get_polarity.R "/input/S2.mzML" "/output/polarity"
2022-02-28|11:18:23|INFO: Polarity detected: positive
2022-02-28|11:18:23|DEBUG: Rscript /pylcmsprocessing/Rscript/createSQLiteexperiment.R -d '/input' -b '/output/temp_processing_db.sqlite'
2022-02-28|11:18:23|DEBUG: Rscript /pylcmsprocessing/Rscript/createSQLiteexperiment.R -d '/input' -b '/output/temp_processing_db.sqlite'
2022-02-28|11:18:23|INFO: STEP: initialisation TOTAL_TIME:1.34s LAST_STEP:1.34s
2022-02-28|11:18:23|DEBUG: Rscript /pylcmsprocessing/Rscript/createSQLiteexperiment.R -d '/input' -b '/output/temp_processing_db.sqlite'
2022-02-28|11:18:23|DEBUG: Rscript /pylcmsprocessing/Rscript/createSQLiteexperiment.R -d '/input' -b '/output/temp_processing_db.sqlite'
2022-02-28|11:18:24|INFO: 4 peakpicking added
2022-02-28|11:18:24|DEBUG: FeatureFinderMetabo -in "/input/QC2.mzML" -out "/output/OPENMS/peaktables/peaktable_1_d808e9cf9a7362e653f2475279fa2dd4.featureXML" -algorithm:common:chrom_peak_snr 3.0 -algorithm:epd:masstrace_snr_filtering true -algorithm:epd:max_fwhm 6.0  -algorithm:epd:min_fwhm 1.2 -algorithm:common:chrom_fwhm 2.16 -algorithm:ffm:use_smoothed_intensities true -algorithm:epd:width_filtering fixed -algorithm:mtd:mass_error_ppm 15.0 -algorithm:mtd:quant_method area -algorithm:mtd:trace_termination_criterion outlier -algorithm:mtd:trace_termination_outliers 5 -algorithm:mtd:min_trace_length 1.2

Could retry to run it the command line should look like this:

 docker run -e LOGGING=DEBUG -v /home/dalexis/Documents/dev/SLAW/test_data/output3:/output -v /home/dalexis/Documents/dev/SLAW/test_data/mzML:/input adelabriere/slaw:latest

A possible problem is an invalid parameterization of SLAW for alignment, how long is your gradient ? You can also try to send me 1 or 2 mzML files so that I can investigate.

htmonkey commented 2 years ago

I am closing the issue. Please reopen if needed.