Nesvilab / FragPipe

A cross-platform proteomics data analysis suite
http://fragpipe.nesvilab.org
Other
204 stars 38 forks source link

FP 22.0, plexDIA & MSBooster #1638

Closed kabalak closed 4 months ago

kabalak commented 5 months ago

log_2024-06-19_10-51-42.zip

Hi,

I am using FragPipe 22.0 on a triplex plexDIA (L=+28, M=+32, H=+36 Da, semi-specific Nt. search strategy with ArgC) HUNTER sample, measured on an Exploris480 with FAIMS and split into the single CVs. The MSFragger search works fine, but subsequently MSBooster does not work and crashes with the error:

[0:00] Loading spectral library F:\Fatih\240618_M1\spectraRT.tsv
[0:00] Finding proteotypic peptides (assuming that the list of UniProt ids provided for each peptide is complete)
[0:00] Spectral library loaded: 0 protein isoforms, 0 protein groups and 95179 precursors in 93786 elution groups.
[0:00] Encoding peptides for spectra and RTs prediction
[0:00] Predicting spectra and IMs
[0:17] Predicting RTs
[0:24] Decoding predicted spectra and IMs
[0:27] Decoding RTs
[0:27] Saving the list of predictions to F:\Fatih\240618_M1\spectraRT.predicted.bin
Finished
java.lang.NullPointerException
    at Features.MassCalculator.calcMass(MassCalculator.java:165)
    at Features.MassCalculator.<init>(MassCalculator.java:118)
    at Features.DiannSpeclibReader.<init>(DiannSpeclibReader.java:81)
    at Features.SpectralPredictionMapper.createSpectralPredictionMapper(SpectralPredictionMapper.java:47)
    at Features.PercolatorFormatter.editPin(PercolatorFormatter.java:90)
    at Features.MainClass.main(MainClass.java:647)
Done generating DIA-NN predictions
Model running took 28417 milliseconds
Generating edited pin with following features: [brayCurtis, pearsonCorr, dotProduct, unweightedSpectralEntropy, deltaRTLOESS, deltaRTLOESSnormalized, RTprobabilityUnifPrior]
Loading predicted spectra
Process 'MSBooster' finished, exit code: 1
Process returned non-zero exit code, stopping

If I switch off MSBooster in the Validation tab, all the other steps in the workflow work nicely (is MSBooster working nicely on semi-specific peptides at all?) and the search finishes. Also interesting is the PDV viewer component does not define the N-terminal modifications in the output list, it only features [29]... peptides, but none starting with the heavier dimethyl labels on the N-terminus - is this a bug?

fcyu commented 5 months ago

You probability could disable MSBooster because the labeled peptides won't have good predicted retention time and intensities. But I will let @yangkl96 to take a look to make MSBooster more robust.

Also interesting is the PDV viewer component does not define the N-terminal modifications in the output list, it only features [29]... peptides, but none starting with the heavier dimethyl labels on the N-terminus - is this a bug?

@KaiLiCn , can you take a look at this PDV questions?

Thanks,

Fengchao

yangkl96 commented 5 months ago

Are you sure you are using FP 22.0? The log starts with saying you are using FP 21.1. Regardless, this error is caused by incompatibility between MSFragger 4.1 and MSBooster 1.1.28 (peptide column in pin file includes charge state in the string). This was fixed in FP 22.0 with the newest MSBooster.

Predictions should generalize well to semitryptic peptides, but accuracy is also modification-dependent.

kabalak commented 4 months ago

I have updated to FP 22.0 and get also there a problem; so it seems like MSBooster is not having a problem now, but DiaNN within FragPipe does not work with multiplex DIA data?

System OS: Windows 10, Architecture: AMD64
Java Info: 17.0.10, OpenJDK 64-Bit Server VM, Eclipse Adoptium
.NET Core Info: 6.0.31

Version info:
FragPipe version 22.0
MSFragger version 4.1
IonQuant version 1.10.27
diaTracer version 1.1.3
Philosopher version 5.1.1

E:\fragpipe-21.1\tools\diann\1.8.2_beta_8\win\dia-nn-plotter.exe diann-output\report.stats.tsv diann-output\report.tsv diann-output\report.pdf
Generating report. Stats, main report, output file: diann-output\report.stats.tsv, diann-output\report.tsv, diann-output\report.pdf
Cannot infer conditions/replicates
Process 'DIA-NN' finished, exit code: 0
DIA-NN: Propagate information [Work dir: F:\Fatih\240620_iVH-LHF1-Triplex\FP-plexDIA\diann-output]
E:\FragPipe-jre-22.0\fragpipe\jre\bin\java.exe -cp E:\FragPipe-jre-22.0\fragpipe\tools\batmass-io-1.33.4.jar;E:\FragPipe-jre-22.0\fragpipe\lib\fragpipe-22.0.jar;E:\FragPipe-jre-22.0\fragpipe\lib\fragpipe-22.0.jar com.dmtavt.fragpipe.tools.diann.Propagation F:\Fatih\240620_iVH-LHF1-Triplex\FP-plexDIA
java.lang.NumberFormatException: For input string: "label-n-L"
    at java.base/jdk.internal.math.FloatingDecimal.readJavaFormatString(Unknown Source)
    at java.base/jdk.internal.math.FloatingDecimal.parseFloat(Unknown Source)
    at java.base/java.lang.Float.parseFloat(Unknown Source)
    at com.dmtavt.fragpipe.util.UnimodOboReader$Precursor.getModMass(UnimodOboReader.java:229)
    at com.dmtavt.fragpipe.util.UnimodOboReader$Precursor.<init>(UnimodOboReader.java:196)
    at com.dmtavt.fragpipe.tools.diann.Propagation.editReport(Propagation.java:262)
    at com.dmtavt.fragpipe.tools.diann.Propagation.propagate(Propagation.java:190)
    at com.dmtavt.fragpipe.tools.diann.Propagation.main(Propagation.java:69)
Process 'DIA-NN: Propagate information' finished, exit code: 1
Process returned non-zero exit code, stopping

The configuration is a triplex dimethyl labelling: image

With var. Dimethyl shifts on top of the base shift of +28 Da: image

Is there any kind of a configuration hickup somewhere?

fcyu commented 4 months ago

Thank for the bug report. We are aware of this bug. Will fix it soon.

Best,

Fengchao

fcyu commented 4 months ago

This bug has been fixed in https://github.com/Nesvilab/FragPipe/commit/9614455f2a2cea695d195b29b1b2bc2e6684554c

If you want to try the pre-released version, please send an email to yufeATumich.edu (replace AT with @).

Thanks,

Fengchao

kabalak commented 2 months ago

As I have now tried the build5 pre-release version, this error is not present, but I get the following error instead:

CheckCentroid java -Xmx109G -cp E:\FragPipe-22.1-build05\fragpipe-22.1-build05\lib\fragpipe-22.1-build05.jar;E:\FragPipe-22.1-build05\fragpipe-22.1-build05\tools\batmass-io-1.33.6.jar com.dmtavt.fragpipe.util.CheckCentroid F:\Fatih\240916_R1.raw 40 Done in 0.0 s. Process 'CheckCentroid' finished, exit code: 0 IonQuant [Work dir: F:\Fatih\240916_C3-Triplex_DDA\FP-DDA-Trypsin] java -Xmx109G -Dlibs.bruker.dir=E:\FragPipe-22.1-build05\fragpipe-22.1-build05\tools\MSFragger-4.1\ext\bruker -Dlibs.thermo.dir=E:\FragPipe-22.1-build05\fragpipe-22.1-build05\tools\MSFragger-4.1\ext\thermo -cp E:\FragPipe-22.1-build05\fragpipe-22.1-build05\tools\jfreechart-1.5.3.jar;E:\FragPipe-22.1-build05\fragpipe-22.1-build05\tools\batmass-io-1.33.6.jar;E:\FragPipe-22.1-build05\fragpipe-22.1-build05\tools\IonQuant-1.10.27.jar ionquant.IonQuant --threads 40 --perform-ms1quant 1 --perform-isoquant 0 --isotol 20.0 --isolevel 2 --isotype tmt10 --ionmobility 0 --site-reports 1 --msstats 1 --minexps 1 --mbr 1 --maxlfq 1 --requantify 1 --mztol 10 --imtol 0.05 --rttol 0.4 --mbrmincorr 0 --mbrrttol 1 --mbrimtol 0.05 --mbrtoprun 100000 --ionfdr 0.01 --proteinfdr 1 --peptidefdr 1 --normalization 1 --minisotopes 2 --minscans 3 --writeindex 0 --light Kn28.0313 --medium Kn32.0564 --heavy Kn36.0756 --tp 3 --minfreq 0.5 --minions 2 --locprob 0.75 --uniqueness 0 --multidir . --filelist F:\Fatih\240916\filelist_ionquant.txt --modlist F:\Fatih\240916\FP-DDA-Trypsin\modmasses_ionquant.txt IonQuant version IonQuant-1.10.27 Batmass-IO version 1.33.6 timsdata library version timsdata-2-21-0-4 (c) University of Michigan System OS: Windows 10, Architecture: AMD64 Java Info: 17.0.10, OpenJDK 64-Bit Server VM, Eclipse Adoptium JVM started with 109 GB memory 2024-09-16 16:33:04 [INFO] - Collecting variable modifications from all psm.tsv files... 2024-09-16 16:33:04 [INFO] - Loading and indexing all psm.tsv files... 2024-09-16 16:33:04 [INFO] - Collecting all compensation voltages if applicable... 2024-09-16 16:33:11 [INFO] - There are in total 1 compensation voltages: -40 2024-09-16 16:33:11 [ERROR] - There were errors creating tables in F:\Fatih\240916\FP-DDA-Trypsin.: java.lang.RuntimeException: Failed to correct the modification mass 32.056400299072266. The closest theoretical mass is 28.0313. Process 'IonQuant' finished, exit code: 1 Process returned non-zero exit code, stopping

Same files and same search strategy; I have put up the n^ and the K's as variable +4/+8 modifications, but IonQuant does not pick up those modifications as it seems? Maybe I am missing something obvious.. Attached is the log file for the re-processing; the MSFragger search and validation works fine. log_2024-09-16_16-33-11.txt

fcyu commented 1 month ago

Somehow I couldn't find the issue question on GitHub, so I will just reply to this email.

You only run IonQuant with the existing temp files. FragPipe extracts and collects a list of modifications in the MSFragger tab for IonQuant. If you just run IonQuant, you still need to make sure that the MSFragger tab's modification settings match what your existing result files have,

Best,

Fengchao

On Tue, Sep 17, 2024 at 2:36 AM Fatih D. @.***> wrote:

As I have now tried the build5 pre-release version, this error is not present, but I get the following error instead:

CheckCentroid java -Xmx109G -cp E:\FragPipe-22.1-build05\fragpipe-22.1-build05\lib\fragpipe-22.1-build05.jar;E:\FragPipe-22.1-build05\fragpipe-22.1-build05\tools\batmass-io-1.33.6.jar com.dmtavt.fragpipe.util.CheckCentroid F:\Fatih\240916_C3-Triplex_DDA\240829_C3-Triplex-HUNTER_Trypsin-DDA_50ng_25m-R1.raw 40 Done in 0.0 s. Process 'CheckCentroid' finished, exit code: 0 IonQuant [Work dir: F:\Fatih\240916_C3-Triplex_DDA\FP-DDA-Trypsin] java -Xmx109G -Dlibs.bruker.dir=E:\FragPipe-22.1-build05\fragpipe-22.1-build05\tools\MSFragger-4.1\ext\bruker -Dlibs.thermo.dir=E:\FragPipe-22.1-build05\fragpipe-22.1-build05\tools\MSFragger-4.1\ext\thermo -cp E:\FragPipe-22.1-build05\fragpipe-22.1-build05\tools\jfreechart-1.5.3.jar;E:\FragPipe-22.1-build05\fragpipe-22.1-build05\tools\batmass-io-1.33.6.jar;E:\FragPipe-22.1-build05\fragpipe-22.1-build05\tools\IonQuant-1.10.27.jar ionquant.IonQuant --threads 40 --perform-ms1quant 1 --perform-isoquant 0 --isotol 20.0 --isolevel 2 --isotype tmt10 --ionmobility 0 --site-reports 1 --msstats 1 --minexps 1 --mbr 1 --maxlfq 1 --requantify 1 --mztol 10 --imtol 0.05 --rttol 0.4 --mbrmincorr 0 --mbrrttol 1 --mbrimtol 0.05 --mbrtoprun 100000 --ionfdr 0.01 --proteinfdr 1 --peptidefdr 1 --normalization 1 --minisotopes 2 --minscans 3 --writeindex 0 --light Kn28.0313 --medium Kn32.0564 --heavy Kn36.0756 --tp 3 --minfreq 0.5 --minions 2 --locprob 0.75 --uniqueness 0 --multidir . --filelist F:\Fatih\240916_C3-Triplex_DDA\FP-DDA-Trypsin\filelist_ionquant.txt --modlist F:\Fatih\240916_C3-Triplex_DDA\FP-DDA-Trypsin\modmasses_ionquant.txt IonQuant version IonQuant-1.10.27 Batmass-IO version 1.33.6 timsdata library version timsdata-2-21-0-4 (c) University of Michigan System OS: Windows 10, Architecture: AMD64 Java Info: 17.0.10, OpenJDK 64-Bit Server VM, Eclipse Adoptium JVM started with 109 GB memory 2024-09-16 16:33:04 [INFO] - Collecting variable modifications from all psm.tsv files... 2024-09-16 16:33:04 [INFO] - Loading and indexing all psm.tsv files... 2024-09-16 16:33:04 [INFO] - Collecting all compensation voltages if applicable... 2024-09-16 16:33:11 [INFO] - There are in total 1 compensation voltages: -40 2024-09-16 16:33:11 [ERROR] - There were errors creating tables in F:\Fatih\240916_C3-Triplex_DDA\FP-DDA-Trypsin.: java.lang.RuntimeException: Failed to correct the modification mass 32.056400299072266. The closest theoretical mass is 28.0313. Process 'IonQuant' finished, exit code: 1 Process returned non-zero exit code, stopping

Same files and same search strategy; I have put up the n^ and the K's as variable +4/+8 modifications, but IonQuant does not pick up those modifications as it seems? Maybe I am missing something obvious.. Attached is the log file for the re-processing; the MSFragger search and validation works fine. log_2024-09-16_16-33-11.txt https://github.com/user-attachments/files/17023881/log_2024-09-16_16-33-11.txt

— Reply to this email directly, view it on GitHub https://github.com/Nesvilab/FragPipe/issues/1638#issuecomment-2354657164, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABU27WY65JWRR5XA23LEUR3ZW7EXBAVCNFSM6AAAAABJRU54LWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNJUGY2TOMJWGQ . You are receiving this because you modified the open/close state.Message ID: @.***>

-- Dr. Fengchao Yu Research Investigator University of Michigan

kabalak commented 1 month ago

Hi Fengchao,

The case has been closed by you; maybe thus you cannot find it in GitHub. The problem is that I try to reprocess the interrupted query and just try to re-analyse it. Maybe I need to re-cap what I am trying:

I have a low complexity dimethyl triplex labelling (+28/32/36 Da) and apply the +28 Da light formaldehyde as a fixed mod and the +4/8 Da as variable mods on K & n^ in the MSFragger tab, whereas for DiaNN plexDIA I define the full +28,32,36 Da as masses as instructed by the tooltip. It seems like there is some kind of a mismatch with the mod masses, because "Failed to correct the modification mass 32.056400299072266. The closest

theoretical mass is 28.0313." - this sounds like the +4 Da mass is not interpreted as 32 somewhere in the workflow..

So, I cannot analyse the DDA runs for this recombinant protein-based samples runs (very short gradients, 25min only). Maybe it is a configuration issue somewhere, but I used the exact same template already successfully for previous versions of FragPipe...

Greetings, Fatih


From: Fengchao @.> Sent: Tuesday, September 17, 2024 22:44 To: Nesvilab/FragPipe @.> Cc: Fatih Demir @.>; Author @.> Subject: Re: [Nesvilab/FragPipe] FP 22.0, plexDIA & MSBooster (Issue #1638)

Somehow I couldn't find the issue question on GitHub, so I will just reply to this email.

You only run IonQuant with the existing temp files. FragPipe extracts and collects a list of modifications in the MSFragger tab for IonQuant. If you just run IonQuant, you still need to make sure that the MSFragger tab's modification settings match what your existing result files have,

Best,

Fengchao

On Tue, Sep 17, 2024 at 2:36 AM Fatih D. @.***> wrote:

As I have now tried the build5 pre-release version, this error is not present, but I get the following error instead:

CheckCentroid java -Xmx109G -cp E:\FragPipe-22.1-build05\fragpipe-22.1-build05\lib\fragpipe-22.1-build05.jar;E:\FragPipe-22.1-build05\fragpipe-22.1-build05\tools\batmass-io-1.33.6.jar com.dmtavt.fragpipe.util.CheckCentroid F:\Fatih\240916_C3-Triplex_DDA\240829_C3-Triplex-HUNTER_Trypsin-DDA_50ng_25m-R1.raw 40 Done in 0.0 s. Process 'CheckCentroid' finished, exit code: 0 IonQuant [Work dir: F:\Fatih\240916_C3-Triplex_DDA\FP-DDA-Trypsin] java -Xmx109G -Dlibs.bruker.dir=E:\FragPipe-22.1-build05\fragpipe-22.1-build05\tools\MSFragger-4.1\ext\bruker -Dlibs.thermo.dir=E:\FragPipe-22.1-build05\fragpipe-22.1-build05\tools\MSFragger-4.1\ext\thermo -cp E:\FragPipe-22.1-build05\fragpipe-22.1-build05\tools\jfreechart-1.5.3.jar;E:\FragPipe-22.1-build05\fragpipe-22.1-build05\tools\batmass-io-1.33.6.jar;E:\FragPipe-22.1-build05\fragpipe-22.1-build05\tools\IonQuant-1.10.27.jar ionquant.IonQuant --threads 40 --perform-ms1quant 1 --perform-isoquant 0 --isotol 20.0 --isolevel 2 --isotype tmt10 --ionmobility 0 --site-reports 1 --msstats 1 --minexps 1 --mbr 1 --maxlfq 1 --requantify 1 --mztol 10 --imtol 0.05 --rttol 0.4 --mbrmincorr 0 --mbrrttol 1 --mbrimtol 0.05 --mbrtoprun 100000 --ionfdr 0.01 --proteinfdr 1 --peptidefdr 1 --normalization 1 --minisotopes 2 --minscans 3 --writeindex 0 --light Kn28.0313 --medium Kn32.0564 --heavy Kn36.0756 --tp 3 --minfreq 0.5 --minions 2 --locprob 0.75 --uniqueness 0 --multidir . --filelist F:\Fatih\240916_C3-Triplex_DDA\FP-DDA-Trypsin\filelist_ionquant.txt --modlist F:\Fatih\240916_C3-Triplex_DDA\FP-DDA-Trypsin\modmasses_ionquant.txt IonQuant version IonQuant-1.10.27 Batmass-IO version 1.33.6 timsdata library version timsdata-2-21-0-4 (c) University of Michigan System OS: Windows 10, Architecture: AMD64 Java Info: 17.0.10, OpenJDK 64-Bit Server VM, Eclipse Adoptium JVM started with 109 GB memory 2024-09-16 16:33:04 [INFO] - Collecting variable modifications from all psm.tsv files... 2024-09-16 16:33:04 [INFO] - Loading and indexing all psm.tsv files... 2024-09-16 16:33:04 [INFO] - Collecting all compensation voltages if applicable... 2024-09-16 16:33:11 [INFO] - There are in total 1 compensation voltages: -40 2024-09-16 16:33:11 [ERROR] - There were errors creating tables in F:\Fatih\240916_C3-Triplex_DDA\FP-DDA-Trypsin.: java.lang.RuntimeException: Failed to correct the modification mass 32.056400299072266. The closest theoretical mass is 28.0313. Process 'IonQuant' finished, exit code: 1 Process returned non-zero exit code, stopping

Same files and same search strategy; I have put up the n^ and the K's as variable +4/+8 modifications, but IonQuant does not pick up those modifications as it seems? Maybe I am missing something obvious.. Attached is the log file for the re-processing; the MSFragger search and validation works fine. log_2024-09-16_16-33-11.txt https://github.com/user-attachments/files/17023881/log_2024-09-16_16-33-11.txt

— Reply to this email directly, view it on GitHub https://github.com/Nesvilab/FragPipe/issues/1638#issuecomment-2354657164, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABU27WY65JWRR5XA23LEUR3ZW7EXBAVCNFSM6AAAAABJRU54LWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNJUGY2TOMJWGQ . You are receiving this because you modified the open/close state.Message ID: @.***>

-- Dr. Fengchao Yu Research Investigator University of Michigan

— Reply to this email directly, view it on GitHubhttps://github.com/Nesvilab/FragPipe/issues/1638#issuecomment-2356893510, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ASBZIY5ZQWSUUHJNQTNB66DZXCIEHAVCNFSM6AAAAABJRU54LWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNJWHA4TGNJRGA. You are receiving this because you authored the thread.

fcyu commented 1 month ago

Closing the GitHub issue is not the reason for not finding it, because it is still there and replyable. I can see your latest reply by clicking the view it on GitHub at the bottom of the email.

Regarding your error, you need to set set 28.0313, 32.0564, and 36.0756 as var mod in the MSFragger tab to let FragPipe propagate the modifications to IonQuant.

Best,

Fengchao