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 proteotypic peptide filtering #9

Closed rob-lawrence closed 1 year ago

rob-lawrence commented 1 year ago

Hello,

I have noticed that directLFQ does not filter out shared peptides from the DIA-NN output so the quant can be highly misleading for certain protein families. I can use the generic input format with the precursors table as a work-around, but it would be great to filter for proteotypic peptides only by default or as an optional parameter if possible.

Thanks!

ammarcsj commented 1 year ago

Hi Rob,

thanks a lot for your input! Indeed we do not filter out any peptides based on this criterium. The reasoning behind this is, that when we use the Protein.Groups column every peptide maps to only one protein group. So the mapping is unique, but indeed it can be that the assignment of the protein group is wrong. So it would be good to have an option to filter for proteotypic peptides and I will include it in the next releases. Another option to filter now is to subset the DIA-NN report.tsv to only prototypic peptides, save it and feed that directly into directLFQ.

Best&thanks Constantin

ammarcsj commented 1 year ago

Hi Rob,

in the new directLFQ version there the 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={'proteotypic_filter' :{'param' : 'Proteotypic','comparator': '==', 'value': 1}} directlfq.lfq_manager.run_lfq(.....,filter_dict = filter_dict)

In the CLI and GUI, you need to specify this as a .yaml file (see also GitHub docu). Hope this works for you? I did not include the proteotypicity filter as a default because I think this is too stringent. There I would rely on the parsimony principle usually applied for the grouping (see response above)

Best & thanks Constantin

rob-lawrence commented 1 year ago

Hi Constantin,

Thanks very much for adding this filter. I will give the new version a try.

Rob