Hello,
I am analyzing the publicly available cross-linking dataset PXD042173:
https://www.ebi.ac.uk/pride/archive/projects/PXD042173
When processing the data with pLink3, I repeatedly encounter an error originating from the pParse2Plus step. The issue occurs both when running through the GUI and via the command line.
[pParse2Plus] 0, Write mgf [ERROR] Traceback (most recent call last): File "pParse2Plus.py", line 96, in <module> File "pParse2Plus.py", line 79, in _main File "flow.py", line 386, in flow.arg_plink_cfg File "flow.py", line 339, in flow.flow_pparse2plus_cfg File "flow.py", line 300, in flow.flow_raw_cfg File "mgf_file.py", line 45, in mgf_file.write_mgf_from_ms2_mp File "mgf_file.py", line 55, in mgf_file.write_mgf_from_ms2_mp KeyError: 3324 [12872] Failed to execute script 'pParse2Plus' due to unhandled exception!
I have isolated the RAW files that reproduce the problem. One example of a problematic RAW file:
ftp://ftp.pride.ebi.ac.uk/pride/data/archive/2024/08/PXD042173/L1_20211004_MxR_secondbatch_DSSOplate_B12.raw
For this individual file, the search (multi-thread, single CPU) completes despite the pParse2Plus error. However, when processing the full dataset (Multiprocess, CPU number = 16), the issue affects a substantial fraction of the files (66 out of 178), and in previous runs the GUI crashed before completion.
Any insight would be greatly appreciated.
[pParse2Plus] "C:\Users\BittremieuxLab\Documents\CasanovoXL\failed_file_example_gui\failed_file_example_gui\failed_file_example_gui.plink" " -t -0.8 -z 5 -i 1 -C 1 -a 0 -p 1 -S 1" " -path:pParse2 ..\pParse.exe -Plus:pxtract_n_isotope 2"
[pParse2Plus] 0, cfg_plus_args: {'path': {'pParse2': '..\pParse.exe'}, 'Plus': {'pxtract_n_isotope': 2}}
[pParse2Plus] 0, C:\Users\BittremieuxLab\Documents\CasanovoXL\failed_file_example_gui\L1_20211004_MxR_secondbatch_DSSOplate_B12.raw
[cur] 2026-06-01 23:38:35 Starting...
[pParse2Plus] 0, Extract using pParse
[pParse2Plus] "C:\pFindStudio\pLink\3.0.17\bin\pParse.exe" -D "C:\Users\BittremieuxLab\Documents\CasanovoXL\failed_file_example_gui\L1_20211004_MxR_secondbatch_DSSOplate_B12.raw" -t -0.8 -z 5 -i 1 -C 1 -a 0 -p 1 -S 1 -O "C:\Users\BittremieuxLab\Documents\CasanovoXL\failed_file_example_gui"
*********************************************
/ pParse2.0 (x64) from pFind Studio \
/ Email : pfind@ict.ac.cn \
\ Website: http://pfind.ict.ac.cn /
*********************************************
[pParse] Calling pXtract to export MS1 and MS2 files...
[pXtract] The software will expire in 01/01/2100
[pXtract] Begin to extract C:\Users\BittremieuxLab\Documents\CasanovoXL\failed_file_example_gui\L1_20211004_MxR_secondbatch_DSSOplate_B12.raw
[pXtract] pXtract tries to use MSFileReader
[pXtract] : 100.00%
[pXtract] Output Files Completed!
[pXtract] == == == Time elapsed: 13.692s. == == ==
[pParse] MS1list completes.
[pParse] Processing L1_20211004_MxR_secondbatch_DSSOplate_B12.MS1
[pParse] Loading MS1 and MS2 files...
[pParse] Loading MS1 Spectra Number: 18633
[pParse] Loading MS2 Spectra Number: 28141
[pParse] Writing MS1 to PF...
[pParse] : 100%
[pParse] Evaluting by the classifier...
[pParse] Filtering by the threshold...
[pParse] : 100%
[pParse] Writing CSV...
[pParse] Releasing resources...
[pParse] Saving CSV to disk...
[pParse] Exported 128961 precursors.
[pParse] Found 0 duplicate scans.
[pParse] == == == Time elapsed: 25 seconds. == == == =
[pParse2Plus] 0, Load pXtract ms2 head
[pParse2Plus] 0, Load pParse2 mgf head
[pParse2Plus] 0, Merge precursor
[pParse2Plus] 0, # merge precursor: 137424, # scan: 28141, multiplier: 4.88
[pParse2Plus] 0, # precursor from distribution: {1: 107599, 2: 21362, 0: 8463}
[pParse2Plus] 0, Calculate precursor score
[pParse2Plus] 0, # precursor score distribution: {0: 0.2558, 1: 0.3646, 2: 0.3423}
[pParse2Plus] 0, Write mgf
[ERROR] Traceback (most recent call last):
File "pParse2Plus.py", line 96, in
File "pParse2Plus.py", line 79, in _main
File "flow.py", line 386, in flow.arg_plink_cfg
File "flow.py", line 339, in flow.flow_pparse2plus_cfg
File "flow.py", line 300, in flow.flow_raw_cfg
File "mgf_file.py", line 45, in mgf_file.write_mgf_from_ms2_mp
File "mgf_file.py", line 55, in mgf_file.write_mgf_from_ms2_mp
KeyError: 3324
[12872] Failed to execute script 'pParse2Plus' due to unhandled exception!
[pLink] Welcome to use pLink v3.0.17, it will be expired on 20280110
[pLink] Search Engine initializing...
[pLink] Generating reverse database...
[pLink] Search identifier: GPVSP
[pLink] Search Engine is ready to search.
[pLink] Start searching C:\Users\BittremieuxLab\Documents\CasanovoXL\failed_file_example_gui\L1_20211004_MxR_secondbatch_DSSOplate_B12_HCDFT.pf2, Labeling None
[pLink] Total spectra: 128961
[pLink] Loaded 5000 spectra, 5000 / 128961
[pLink] Loaded 5000 spectra, 10000 / 128961
[pLink] Loaded 5000 spectra, 15000 / 128961
[pLink] Loaded 5000 spectra, 20000 / 128961
[pLink] Loaded 5000 spectra, 25000 / 128961
[pLink] Loaded 5000 spectra, 30000 / 128961
[pLink] Loaded 5000 spectra, 35000 / 128961
[pLink] Loaded 5000 spectra, 40000 / 128961
[pLink] Loaded 5000 spectra, 45000 / 128961
[pLink] Loaded 5000 spectra, 50000 / 128961
[pLink] Loaded 5000 spectra, 55000 / 128961
[pLink] Loaded 5000 spectra, 60000 / 128961
[pLink] Loaded 5000 spectra, 65000 / 128961
[pLink] Loaded 5000 spectra, 70000 / 128961
[pLink] Loaded 5000 spectra, 75000 / 128961
[pLink] Loaded 5000 spectra, 80000 / 128961
[pLink] Loaded 5000 spectra, 85000 / 128961
[pLink] Loaded 5000 spectra, 90000 / 128961
[pLink] Loaded 5000 spectra, 95000 / 128961
[pLink] Loaded 5000 spectra, 100000 / 128961
[pLink] Loaded 5000 spectra, 105000 / 128961
[pLink] Loaded 5000 spectra, 110000 / 128961
[pLink] Loaded 5000 spectra, 115000 / 128961
[pLink] Loaded 5000 spectra, 120000 / 128961
[pLink] Loaded 5000 spectra, 125000 / 128961
[pLink] Loaded 3961 spectra, 128961 / 128961
[pLink] Complete First search.
[pLink] Load File0.Tmp.All.pfd.
[pLink] Start re-ranking...
[pLink] Iteration: round 1/5
[pLink] Iteration: round 2/5
[pLink] Iteration: round 3/5
[pLink] Iteration: round 4/5
[pLink] Iteration: round 5/5
[RerankOut] C:\Users\BittremieuxLab\Documents\CasanovoXL\failed_file_example_gui\failed_file_example_gui\failed_file_example_gui.plink
[RerankOut] Start...
[RerankOut] Model hyperparameter optimization...
[RerankOut] Iteration: round 1/5
[RerankOut] Iteration: round 2/5
[RerankOut] Iteration: round 3/5
[RerankOut] Iteration: round 4/5
[RerankOut] Iteration: round 5/5
[pLink] Complete re-rank.
[pLink] Saved result_2026.06.01.File0.pfd.
[pLink] Complete Searching L1_20211004_MxR_secondbatch_DSSOplate_B12_HCDFT.pf2.
[pLink] Start to generate reports...
[pLink] Controlling FDR at the peptide level...
[pLink] Complete report.
[pLink] Start to generate filter reports...
[pLinkFDR] C:\Users\BittremieuxLab\Documents\CasanovoXL\failed_file_example_gui\failed_file_example_gui\failed_file_example_gui.plink
[pLinkFDR] Start...
[pLinkFDR] Filtering...
[pLink] Load the titltes to filter.
[pLink] Complete report.
pParsePlusLog.txt
failed_file_example_gui.log
pLinkFDR.log
RerankOut.log
failed_file_example_gui_plink.txt
log_out.txt
Hello,
I am analyzing the publicly available cross-linking dataset PXD042173:
https://www.ebi.ac.uk/pride/archive/projects/PXD042173
When processing the data with pLink3, I repeatedly encounter an error originating from the pParse2Plus step. The issue occurs both when running through the GUI and via the command line.
[pParse2Plus] 0, Write mgf [ERROR] Traceback (most recent call last): File "pParse2Plus.py", line 96, in <module> File "pParse2Plus.py", line 79, in _main File "flow.py", line 386, in flow.arg_plink_cfg File "flow.py", line 339, in flow.flow_pparse2plus_cfg File "flow.py", line 300, in flow.flow_raw_cfg File "mgf_file.py", line 45, in mgf_file.write_mgf_from_ms2_mp File "mgf_file.py", line 55, in mgf_file.write_mgf_from_ms2_mp KeyError: 3324 [12872] Failed to execute script 'pParse2Plus' due to unhandled exception!I have isolated the RAW files that reproduce the problem. One example of a problematic RAW file:
ftp://ftp.pride.ebi.ac.uk/pride/data/archive/2024/08/PXD042173/L1_20211004_MxR_secondbatch_DSSOplate_B12.raw
For this individual file, the search (multi-thread, single CPU) completes despite the pParse2Plus error. However, when processing the full dataset (Multiprocess, CPU number = 16), the issue affects a substantial fraction of the files (66 out of 178), and in previous runs the GUI crashed before completion.
Any insight would be greatly appreciated.
[pParse2Plus] "C:\Users\BittremieuxLab\Documents\CasanovoXL\failed_file_example_gui\failed_file_example_gui\failed_file_example_gui.plink" " -t -0.8 -z 5 -i 1 -C 1 -a 0 -p 1 -S 1" " -path:pParse2 ..\pParse.exe -Plus:pxtract_n_isotope 2"
[pParse2Plus] 0, cfg_plus_args: {'path': {'pParse2': '..\pParse.exe'}, 'Plus': {'pxtract_n_isotope': 2}}
[pParse2Plus] 0, C:\Users\BittremieuxLab\Documents\CasanovoXL\failed_file_example_gui\L1_20211004_MxR_secondbatch_DSSOplate_B12.raw
[cur] 2026-06-01 23:38:35 Starting...
[pParse2Plus] 0, Extract using pParse
[pParse2Plus] "C:\pFindStudio\pLink\3.0.17\bin\pParse.exe" -D "C:\Users\BittremieuxLab\Documents\CasanovoXL\failed_file_example_gui\L1_20211004_MxR_secondbatch_DSSOplate_B12.raw" -t -0.8 -z 5 -i 1 -C 1 -a 0 -p 1 -S 1 -O "C:\Users\BittremieuxLab\Documents\CasanovoXL\failed_file_example_gui"
[pParse] Calling pXtract to export MS1 and MS2 files...
[pXtract] The software will expire in 01/01/2100
[pXtract] Begin to extract C:\Users\BittremieuxLab\Documents\CasanovoXL\failed_file_example_gui\L1_20211004_MxR_secondbatch_DSSOplate_B12.raw
[pXtract] pXtract tries to use MSFileReader
[pXtract] : 100.00%
[pXtract] Output Files Completed!
[pXtract] == == == Time elapsed: 13.692s. == == ==
[pParse] MS1list completes.
[pParse] Processing L1_20211004_MxR_secondbatch_DSSOplate_B12.MS1
[pParse] Loading MS1 and MS2 files...
[pParse] Loading MS1 Spectra Number: 18633
[pParse] Loading MS2 Spectra Number: 28141
[pParse] Writing MS1 to PF...
[pParse] : 100%
[pParse] Evaluting by the classifier...
[pParse] Filtering by the threshold...
[pParse] : 100%
[pParse] Writing CSV...
[pParse] Releasing resources...
[pParse] Saving CSV to disk...
[pParse] Exported 128961 precursors.
[pParse] Found 0 duplicate scans.
[pParse] == == == Time elapsed: 25 seconds. == == == =
[pParse2Plus] 0, Load pXtract ms2 head
[pParse2Plus] 0, Load pParse2 mgf head
[pParse2Plus] 0, Merge precursor
[pParse2Plus] 0, # merge precursor: 137424, # scan: 28141, multiplier: 4.88
[pParse2Plus] 0, # precursor from distribution: {1: 107599, 2: 21362, 0: 8463}
[pParse2Plus] 0, Calculate precursor score
[pParse2Plus] 0, # precursor score distribution: {0: 0.2558, 1: 0.3646, 2: 0.3423}
[pParse2Plus] 0, Write mgf
[ERROR] Traceback (most recent call last):
File "pParse2Plus.py", line 96, in
File "pParse2Plus.py", line 79, in _main
File "flow.py", line 386, in flow.arg_plink_cfg
File "flow.py", line 339, in flow.flow_pparse2plus_cfg
File "flow.py", line 300, in flow.flow_raw_cfg
File "mgf_file.py", line 45, in mgf_file.write_mgf_from_ms2_mp
File "mgf_file.py", line 55, in mgf_file.write_mgf_from_ms2_mp
KeyError: 3324
[12872] Failed to execute script 'pParse2Plus' due to unhandled exception!
[pLink] Welcome to use pLink v3.0.17, it will be expired on 20280110
[pLink] Search Engine initializing...
[pLink] Generating reverse database...
[pLink] Search identifier: GPVSP
[pLink] Search Engine is ready to search.
[pLink] Start searching C:\Users\BittremieuxLab\Documents\CasanovoXL\failed_file_example_gui\L1_20211004_MxR_secondbatch_DSSOplate_B12_HCDFT.pf2, Labeling None
[pLink] Total spectra: 128961
[pLink] Loaded 5000 spectra, 5000 / 128961
[pLink] Loaded 5000 spectra, 10000 / 128961
[pLink] Loaded 5000 spectra, 15000 / 128961
[pLink] Loaded 5000 spectra, 20000 / 128961
[pLink] Loaded 5000 spectra, 25000 / 128961
[pLink] Loaded 5000 spectra, 30000 / 128961
[pLink] Loaded 5000 spectra, 35000 / 128961
[pLink] Loaded 5000 spectra, 40000 / 128961
[pLink] Loaded 5000 spectra, 45000 / 128961
[pLink] Loaded 5000 spectra, 50000 / 128961
[pLink] Loaded 5000 spectra, 55000 / 128961
[pLink] Loaded 5000 spectra, 60000 / 128961
[pLink] Loaded 5000 spectra, 65000 / 128961
[pLink] Loaded 5000 spectra, 70000 / 128961
[pLink] Loaded 5000 spectra, 75000 / 128961
[pLink] Loaded 5000 spectra, 80000 / 128961
[pLink] Loaded 5000 spectra, 85000 / 128961
[pLink] Loaded 5000 spectra, 90000 / 128961
[pLink] Loaded 5000 spectra, 95000 / 128961
[pLink] Loaded 5000 spectra, 100000 / 128961
[pLink] Loaded 5000 spectra, 105000 / 128961
[pLink] Loaded 5000 spectra, 110000 / 128961
[pLink] Loaded 5000 spectra, 115000 / 128961
[pLink] Loaded 5000 spectra, 120000 / 128961
[pLink] Loaded 5000 spectra, 125000 / 128961
[pLink] Loaded 3961 spectra, 128961 / 128961
[pLink] Complete First search.
[pLink] Load File0.Tmp.All.pfd.
[pLink] Start re-ranking...
[pLink] Iteration: round 1/5
[pLink] Iteration: round 2/5
[pLink] Iteration: round 3/5
[pLink] Iteration: round 4/5
[pLink] Iteration: round 5/5
[RerankOut] C:\Users\BittremieuxLab\Documents\CasanovoXL\failed_file_example_gui\failed_file_example_gui\failed_file_example_gui.plink
[RerankOut] Start...
[RerankOut] Model hyperparameter optimization...
[RerankOut] Iteration: round 1/5
[RerankOut] Iteration: round 2/5
[RerankOut] Iteration: round 3/5
[RerankOut] Iteration: round 4/5
[RerankOut] Iteration: round 5/5
[pLink] Complete re-rank.
[pLink] Saved result_2026.06.01.File0.pfd.
[pLink] Complete Searching L1_20211004_MxR_secondbatch_DSSOplate_B12_HCDFT.pf2.
[pLink] Start to generate reports...
[pLink] Controlling FDR at the peptide level...
[pLink] Complete report.
[pLink] Start to generate filter reports...
[pLinkFDR] C:\Users\BittremieuxLab\Documents\CasanovoXL\failed_file_example_gui\failed_file_example_gui\failed_file_example_gui.plink
[pLinkFDR] Start...
[pLinkFDR] Filtering...
[pLink] Load the titltes to filter.
[pLink] Complete report.
pParsePlusLog.txt
failed_file_example_gui.log
pLinkFDR.log
RerankOut.log
failed_file_example_gui_plink.txt
log_out.txt