MannLabs / directlfq

Fast and accurate label-free quantification for small and very large numbers of proteomes
https://doi.org/10.1101/2023.02.17.528962
Apache License 2.0
37 stars 4 forks source link

DIA-NN and FDR filtering #7

Closed pisistrato closed 1 year ago

pisistrato commented 1 year ago

First of all great work! :)

Then a quick question, does directlfq performs any sort of FDR filtering (as iq does) for DIA-NN data? If not, I guess one could do this beforehand, i.e. by filtering the report.tsv, but it would be quite useful to have it done on the fly by directlfq.

ammarcsj commented 1 year ago

Hi,

thanks a lot for your input and sorry for the very late response, your comment slipped through the cracks unfortunately. Yes, so currently I do not apply any additional filters, as, according to Vadim (https://github.com/vdemichev/DiaNN/discussions/493), MaxLFQ (and therefore also directLFQ) should be sufficiently robust in most cases. In particular because if you use match-between-runs as recommended, the report.tsv is already filtered. I do agree however that additional filtering options would be good and they are on the list!

Best&thanks Constantin

pisistrato commented 1 year ago

Hi Constantin,

No worries :) Right, the main report is indeed already filtered. However, this is not the case in library-free mode, where you would filter for Lib.PG.Q.Value as well (https://github.com/vdemichev/DiaNN/discussions/710#discussioncomment-5977045).

Thanks and looking forward to testing the next release!

ammarcsj commented 1 year ago

Hi @pisistrato

Thanks again very much for your input! I have now put the Lib.PG.Q.Value <=0.01 as a default filter for all DIA-NN input files. In case you want to specify additional filters, there is now the switch filter_dict, where you can specify individual filters as a dictionary. In the Python API you can for example do something like this:

filter_dict={'protein_filt': {'param': 'Lib.PG.Q.Value', 'comparator': '<=', 'value': 0.01}, 'peptide_filt' :{'param' : 'Lib.Q.Value','comparator': '<=', 'value': 0.01}}

In the CLI and GUI, you need to specify this as a .yaml file (see also GitHub docu). Hope this works for you and let me know if you have additional feedback :)

pisistrato commented 1 year ago

Hi @ammarcsj,

Thanks a lot!