bigbio / quantms

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

Include newest DIA-NN version (1.9.2) #439

Open lcynwoods opened 1 week ago

lcynwoods commented 1 week ago

Description of feature

Apologies if I'm directing my query to the wrong place, but I was wondering whether there is any plan to allow the newest version of DIA-NN (1.9.2) in the DIA pipeline as I understand currently 1.8.1 and the beta of 1.9.1 are available:

diann_version = '1.8.1' // Possible versions are '1.8.1', '1.9.beta.1'

I know 1.9.2 came out quite recently, so I don't mean to push :)

I think QuantMS could save us an awful lot of work, so thanks a lot!

ypriverol commented 1 week ago

Thanks, @lcynwoods currently, we can't distribute the diann 1.9.2 docker or singularity. We are trying to figure it out what will be the best way to include it. Meaning, that we will need to provide not only the version by also the path to the singularity or docker container.

In addition, 1.9.2 will not be able to be tested in the CI/CD because we can not make public a docker or singularity container. We will try to look for a solution and go back to you.

lcynwoods commented 1 week ago

Thanks a lot!

ypriverol commented 1 week ago

@daichengxin @jpfeuffer :

We can support the 1.9.beta.1 and 1.9.2 differently than we are doing now. Instead of providing us with the container docker or singularity. In these cases, the user has to give the image for the workflow to run. It could be as a parameter or in a config file. What do you think, have you seen this before in nf-core?

jpfeuffer commented 1 week ago

Yes. Config file only please. Introduce label for all processes that use DIANN.

Then the config will just be

withLabel "DIANN" { process{ container=your own stuff } }

ypriverol commented 1 week ago

Fantastic. Got it, similar to this PR: https://github.com/bigbio/quantms/pulls for OpenMS nightly updates.

jpfeuffer commented 1 week ago

I would suggest so, yes!

ypriverol commented 1 week ago

I will use this issue to trace some of the issues realted with movement to 1.9.2 DIANN. The current method:

  diann   --f RD139_Narrow_UPS1_0_1fmol_inj1.mzML --f RD139_Narrow_UPS1_0_1fmol_inj2.mzML --f RD139_Narrow_UPS1_0_25fmol_inj1.mzML --f RD139_Narrow_UPS1_0_25fmol_inj2.mzML \
          --lib report-lib.predicted.speclib \
          --threads 4 \
          --out-lib empirical_library.tsv \
          --verbose 3 \
          --rt-profiling \
          --temp ./quant/ \
          --use-quant \
          --quick-mass-acc --individual-mass-acc \
          --individual-windows \
          --gen-spec-lib \
           \
          2>&1 | tee assemble_empirical_library.log

When running diann 1.9.2 the library file is not available. Error:

Missing output file(s) `empirical_library.tsv` expected by process `NFCORE_QUANTMS:QUANTMS:DIA:ASSEMBLE_EMPIRICAL_LIBRARY (PXD026600.sdrf)`

I check all the files in that folder and it looks like the output now is different:

drwxr-xr-x 3 root root     4096 Nov 18 18:34 .
drwxr-xr-x 3 root root       44 Nov 18 18:34 ..
-rw-r--r-- 1 root root     4205 Nov 18 18:34 assemble_empirical_library.log
-rw-r--r-- 1 root root        0 Nov 18 18:34 .command.begin
-rw-r--r-- 1 root root        0 Nov 18 18:34 .command.err
-rw-r--r-- 1 root root     5109 Nov 18 18:34 .command.log
-rw-r--r-- 1 root root     5109 Nov 18 18:34 .command.out
-rw-r--r-- 1 root root    11981 Nov 18 18:34 .command.run
-rw-r--r-- 1 root root     1225 Nov 18 18:34 .command.sh
-rw-r--r-- 1 root root      272 Nov 18 18:34 .command.trace
-rw-r--r-- 1 root root  1247671 Nov 18 18:34 empirical_library.parquet
-rw-r--r-- 1 root root        1 Nov 18 18:34 .exitcode
drwxr-xr-x 2 root root      204 Nov 18 18:34 quant
lrwxrwxrwx 1 root root       92 Nov 18 18:34 RD139_Narrow_UPS1_0_1fmol_inj1.mzML -> /srv/data/quantms/work/07/ed17bc07f791e76712d5747a350021/RD139_Narrow_UPS1_0_1fmol_inj1.mzML
lrwxrwxrwx 1 root root       92 Nov 18 18:34 RD139_Narrow_UPS1_0_1fmol_inj2.mzML -> /srv/data/quantms/work/31/992e894d7fa5a9584bddb586b29fdd/RD139_Narrow_UPS1_0_1fmol_inj2.mzML
lrwxrwxrwx 1 root root       93 Nov 18 18:34 RD139_Narrow_UPS1_0_25fmol_inj1.mzML -> /srv/data/quantms/work/79/caba07cdf080e9f2c2d05ff183079b/RD139_Narrow_UPS1_0_25fmol_inj1.mzML
lrwxrwxrwx 1 root root       93 Nov 18 18:34 RD139_Narrow_UPS1_0_25fmol_inj2.mzML -> /srv/data/quantms/work/04/5c99f3e7ad745debbef99a2db1b120/RD139_Narrow_UPS1_0_25fmol_inj2.mzML
lrwxrwxrwx 1 root root       85 Nov 18 18:34 report-lib.predicted.speclib -> /srv/data/quantms/work/15/03d5c8f3ce22114046054fb1eda1f0/report-lib.predicted.speclib
-rw-r--r-- 1 root root     3139 Nov 18 18:34 report.log.txt
-rw-r--r-- 1 root root  2641195 Nov 18 18:34 report.parquet
-rw-r--r-- 1 root root     1038 Nov 18 18:34 report.stats.tsv
-rw-r--r-- 1 root root 16698391 Nov 18 18:34 report.tsv
-rw-r--r-- 1 root root       75 Nov 18 18:34 versions.yml

Is the output of diann --out-lib always parquet now, even if the file provided is tsv: empirical_library.tsv @vdemichev