nf-core / quantms

Quantitative mass spectrometry workflow. Currently supports proteomics experiments with complex experimental designs for DDA-LFQ, DDA-Isobaric and DIA-LFQ quantification.
https://nf-co.re/quantms
MIT License
31 stars 0 forks source link

`DIANNCONVERT` crashes when `dia_params` has empty parameters #62

Closed harper357 closed 2 years ago

harper357 commented 2 years ago

Description of the bug

Im having some trouble testing v1.1 with my data. I am getting a crash when it hits DIANNCONVERT. Looking into it, diann_convert.py is passed --dia_params "20;ppm;10;ppm;Trypsin;;Oxidation (M)", so https://github.com/nf-core/quantms/blob/a1bf7d4104ec424abff984512764ddecde79d21f/bin/diann_convert.py#L205-L215 doesn’t work. mods_db.getModification(mod) says there is no mod for "".

Diving into that, I found my seed.sdrf_config has blanks for FixedModifications. This is probably because my original input SDRF file did not have any column for it. Is that the expected result if i don’t have any FixedModifications in my SDRF file or should it put null ?

One possible solution is just to change L215 to check for "null" or "", but I wonder if a better solution is to change it upstream where seed.sdrf_config is generated as it probably isn't supposed to have blanks in it?

I can't share my original seed file, but the bug should be reproducible if you delete the comment[modification parameters] columns from nf-core/test-datasets/quantms/testdata-aws/dia_full/PXD004684.sdrf.tsv

Command used and terminal output

No response

Relevant files

No response

System information

Nextflow version (eg. 22.04.5) Hardware AWS Executor awsbatch Container engine: default OS AWSLinux Version of nf-core/quantms v1.1dev

WangHong007 commented 2 years ago

Hi !@harper357 We tested the sdrf without fixed modification, and also tested the sdrf with multiple variable modification (without fixed modification), and these tests were fine. Unfortunately, we did not repeat your error.

In the error you mentioned, we filtered '' upstream and it should be replaced with 'null' even if the column is missing in SDRF or the column is blank. Here: https://github.com/nf-core/quantms/blob/a1bf7d4104ec424abff984512764ddecde79d21f/bin/diann_convert.py#L248-L249

harper357 commented 2 years ago

Sorry about that @WangHong007 ! It looks like I need to rebase my fork. Looking at the git blame, you fixed this shortly after I make my fork.