Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Creation of a Skyline spectral library from Kojak XL-MS search results #1

Open
alessiodiianni opened this issue Dec 11, 2023 · 14 comments

Comments

@alessiodiianni
Copy link

Dear proXL team,
I am trying to use Kojak 2.1.0 for XL-MS data analysis. I am currently doing it from the command line in combination with Percolator validation; all the runs look fine and I was able to see the data with the Kojak SpectrumViewer executable. I then tried to convert the kojak.txt output file into a proXL XML file for subsequent spectral library creation and manual validation in Skyline but didn't manage to read the XML file. Shortly, using the command for ProXL conversion with Percolator .xml files gives me error, while the conversion without using percolator validated files is successfull and it seems to generate a good XML output file but for some strange reason I am not able to read it in Skyline. Could you help him out to convert the data in both scenarios so that I can import everything into Skyline afterwards?

@mriffle
Copy link
Member

mriffle commented Dec 14, 2023

Hi Alessio, thanks for your message. I got your email as well, apologies for taking so long to respond. I am happy to help however I can.

Just so I understand: You are able to create a Proxl XML file from Kojak results, both with and without using Percolator. When you try to create a spectral library in Skyline, the Proxl XML file you made from Kojak-only results works, but trying to do so with the Proxl XML created from Kojak+Percolator gives an error.

Are any error messages produced by Skyline that you can paste in here?

@alessiodiianni
Copy link
Author

alessiodiianni commented Dec 14, 2023 via email

@mriffle
Copy link
Member

mriffle commented Dec 14, 2023

  1. The image of the error from Skyline didn't come through.

  2. Can you provide the exact command line command you are using to run both percolator and the Proxl XML converter?

@alessiodiianni
Copy link
Author

alessiodiianni commented Dec 14, 2023 via email

@alessiodiianni
Copy link
Author

alessiodiianni commented Dec 14, 2023 via email

@mriffle
Copy link
Member

mriffle commented Dec 14, 2023

erco-inter.x

What are perco-inter.xml, perco-intra.xml etc. Were those produced by percolator? What is the command you used to run percolator? Can you attach one of those perco-*.xml files? I just want to confirm they're in the expected format.

@alessiodiianni
Copy link
Author

alessiodiianni commented Dec 14, 2023 via email

@mriffle
Copy link
Member

mriffle commented Dec 14, 2023

Aha, I see the issue (at least one of the issues):

You have to give Percolator another flag to output XML, changing the name of the file from .txt to .xml won't work.

Here is how to run it:

C:\MyFolder\Percolator.exe -X DataFile1-validated.xml DataFile1.pin > DataFile1-validated.txt

This will create two files, the XML file and the normal text file. The converter needs to have the XML file.

@alessiodiianni
Copy link
Author

alessiodiianni commented Dec 15, 2023 via email

@mriffle
Copy link
Member

mriffle commented Dec 15, 2023

We might need to find a better form of communication, zoom maybe.

  1. The issue with Kojak + Percolator and XML. I am 99.99% sure I'm right about what was wrong here.

By default, Percolator doesn't make the XML required for the Proxl XML converter. You have to use the -X flag to generate the XML that it needs. The error you're seeing is because a non-XML document is being given to the Proxl XL converter. Sequence of events should be roughly:

  1. Run Kojak as normal. This will generate a Kojak txt file with its results and a .pin file(s) for Percolator. Let's assume these are called kojak_results.txt and kojak_results.pin.
  2. Run Percolator: C:\MyFolder\Percolator.exe -X percolator_xml_results.xml kojak_results.pin > percolator_txt_results.txt
  3. Run the Proxl XML converter as:
    java -jar kojak2ProxlXML.jar -o proxl_results.proxl.xml -l dsso -k kojak_results.txt-c Kojak.conf -x percolator_xml_results.xml

I will make a different post about the Skyline part.

@mriffle
Copy link
Member

mriffle commented Dec 15, 2023

The Skyline issue:

For its cross-linking support, Skyline requires that the data be represented as Proxl XML, which you know. Internally it uses a program called Bibliospec, that is part of Proteowizard, to create the spectral library from the ProxlXML file and the spectral files (e.g. mzML or MGF files). Since ProxlXML is a format that can contain data from any program (e.g. Kojak or MeroX), and since Bibliospec can't know about every possible program that does cross-linking, it looks for q-values to be present in the data (or some form of probability). The developers of Proteowizard don't want to support native scores that come out of programs, but want to stick to probability-based scores, like q-values, when creating spectral libraries.

Bibliospec doesn't know how to read Proxl XML files from Kojak-only--it doesn't know about e-values. I don't know if they'd be willing to support that or not. I'm not a member of the Proteowizard or Skyline teams. Skyline has a support forum here: https://skyline.ms/project/home/support/begin.view? I know they have been very responsive in the past about this kind of issue.

It's possible that Skyline will support the Kojak+Percolator data, since it contains q-values. But I don't know this for sure.

@alessiodiianni
Copy link
Author

alessiodiianni commented Dec 15, 2023 via email

@alessiodiianni
Copy link
Author

alessiodiianni commented Dec 19, 2023 via email

@alessiodiianni
Copy link
Author

alessiodiianni commented Jan 17, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants