QualScore - 0 dtas written

Skip to first unread message

Miguel Cosenza

Jul 16, 2020, 2:10:50 PM7/16/20
to spctools-discuss
Dear all,

I am very interesting on using QualScore.

I managed to get it running within the TPP GUI but I believe there's a problem with the output. It seems the tool detects the unassigned  spectra but none is then written in the output. The qdir.coef file contains only NaN values.

I am including here the command I used along with the output log. 

EXECUTING: cd c:/TPP/data/testing_qualscore && c: && java -jar C:/TPP/bin/qualscore.jar -c 1.0 -p 0.1 hek_2_test1_p0_settrue_interact.pep.xml 

QualScore version 1.0_2 Copyright (C) 2006
Institute for Systems Biology, Seattle WA
QualScore is free software and comes with absolutely no warranty.

Loading interact data:
  1000  2000  3000  4000  5000  6000  7000  8000  9000  10000  11000  12000  13000  14000  15000  16000  17000  18000  19000  20000  21000  22000  23000  23145
Interact data file contains 23144 entries.
0 +1 were removed.
Enumerating scans:
  processing HEK_2.mzXML...     500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000 6500 7000 7500 8000 8500 9000 9500 10000 10500 11000 11500 12000 12500 13000 13500 14000 14500 15000 15500 16000 16500 17000 17500 18000 18500 19000 19500 20000 20500 21000 21500 22000 22500 23000 23144
Features calculated for:  23144 (15082 ms)
Training set:  8909/8666 (good/bad)
Unassigned spectra:  11165
Quality score calculation time: 74 ms
Writing classifier co-efficients to file: hek_2_test1_p0_settrue_interact.pep.qdir.coef
0 dtas written to hek_2_test1_p0_settrue_interact.pep.qdir.
Time: 15

I am running this on Windows 10. I generated the interact.pep.xml setting up the command -p0 in peptideProphet to include all assignments. The pep.xml file consist of a search result from Comet, executed from the same instance of TPP.

Does anyone has an idea why this could be happening? I am having similar results with two different raw files from different measurements runs. 

In case this tool is not supported anymore, does anyone has a suggestion of other tools or approach to salvage high-quality but unassigned spectra after DB search?

I would really appreciate any help.

Best regards,

Yun-En Chung

Nov 10, 2021, 9:44:21 PM11/10/21
to spctools-discuss
A bit late for a response, but I was also experimenting with QualScore and encountered the same issue, where I'm also getting NaN coefficients and 0 dtas.
After debugging the QualScore source code from here, the issue seems to be with their custom mzXML parser class (org.isb.mzxml.MzXMLParser.java).

It looks like the bug occurs when the code tries to parse the encoded mz_intensity list of a scan from the MzXML file. 
In the function MzXMLParser.convertMassList(), the code assumes that the mz and intensity values are encoded in a 32-bit single-precision binary floating-point format, which would work fine if that's the format of your MzXML file.
However, in my raw file at least, the mz_intensity values are encoded in 64-bit precision doubles, so the incorrect parsing ends up converting the mz and intensities to very small values, which is probably what led to the NaN coeffs and 0 dtas further down the line.

I couldn't figure out how to convert my mzXML file such that it encodes mz and intensity in 32-bit precisions instead of 64-bit (even the --mz32 --inten32 options from ProteoWizard's msconvert don't seem to do the job), which is probably the easier way to solve this issue.  
So, I ended up modifying the source code to make it parse the file as 64 bits precision doubles instead, as shown in the screenshot below, which solved the NaN and 0 dta issue for me.
The modification was made in the convertMassList() function and the endElement() function, both under the MzXMLParser.java class mentioned above. 


Hope this might help.

Best regards,
Yun-En Chung
Reply all
Reply to author
0 new messages