Nesvilab / FragPipe

A cross-platform Graphical User Interface (GUI) for running MSFragger and Philosopher - powered pipeline for comprehensive analysis of shotgun proteomics data
http://fragpipe.nesvilab.org
Other
175 stars 37 forks source link

FP 22.0, plexDIA & MSBooster #1638

Open kabalak opened 1 week ago

kabalak commented 1 week 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 1 week 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 1 week 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 1 week 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 1 week ago

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

Best,

Fengchao