PyProphet / pyprophet

PyProphet: Semi-supervised learning and scoring of OpenSWATH results.
http://www.openswath.org
BSD 3-Clause "New" or "Revised" License
29 stars 21 forks source link

Transition group ids do not form unique blocks in data file #15

Closed eseble closed 6 years ago

eseble commented 6 years ago

Hello, I have a set of runs all processed trough OpenMS 2.1.0 with the same parameters but when I try to use pyprophet 0.24.1 it only works on some and the others give me the error "Exception: transition group ids do not form unique blocks in data file"

What can be the problem?

Thanks

grosenberger commented 6 years ago

PyProphet groups candidate peak groups by the column "transition_group_id". OpenSwathWorkflow processes your data in a serial fashion, extracting and scoring data for each "transition_group_id". Usually all candidate signals are reported in a block in the output TSV file and PyProphet uses this property to speed up the analysis.

How did you generate the input for PyProphet? Is this concatenated output of several OpenSWATH TSV files? If yes, I would recommend to first ensure that "transition_group_id" has unique identifiers per run, e.g. run1 has "transition_group_ids" like "PEPTIDEK_2_run1", run2: "PEPTIDEK_2_run2" instead of "PEPTIDEK_2_run0".

eseble commented 6 years ago

I used the command FOR %f IN ("*_OSW.tsv") DO (pyprophet....) as far as I understand this doesn't concatenate the files just opens one after the another so the identifiers shouldn't coincide.

Only thing I can find in common between the files that worked is that they are some of the smaller OpenSWATH TSV files from my results.

grosenberger commented 6 years ago

A common issue is that the precursor isolation window settings include an overlab, e.g. window 1: 400-425, window 2: 424-449, etc., but that the overlap was not defined in OpenSwathWorkflow. In this case, set -min_upper_edge_dist to 1.0 or the appropriate value.

If this is not the issue, could you please provide one of the TSV files that is failing?

eseble commented 6 years ago

Thanks a lot, this seemed to the trick. I had checked that before but decided to take a closer look and found this error from OpenSwath "Extraction will overlap between 577.4 and 577.1" Turns out one of the windows had an error so the overlap was bigger than 1. I have reprocessed the files with OpenSwathWorkflow and the corrected windows file and now PyProphet works fine.