Nesvilab / MSFragger

Ultrafast, comprehensive peptide identification for mass spectrometry–based proteomics
https://msfragger.nesvilab.org
97 stars 7 forks source link

Incorrect mzML tags broke MSFragger #323

Open ClaSofMag opened 1 week ago

ClaSofMag commented 1 week ago

Hi Fragpipe developers,

I'm trying to do a protein ID and LFQ of 12 samples using Fragpipe on the CLI, just like many times before. I ran into this issue in the mass calibration and parameter optimization: "There was an error in mass calibration. Index -4 out of bounds for length 3" that I can't figure it out. Samples were analyzed on an Eclipse Tribrid.

Here is the log file: turbotSP.7231.log

Thanks

fcyu commented 1 week ago

Could you upgrade FragPipe and MSFragger to the latest version and try again?

Thanks,

Fengchao

ClaSofMag commented 1 week ago

Dear Fengchao,

I updated only the MSFragger, because the Fragpipe needs to be updated cluster wise and the person responsible is not answering me. But I tried this way and now the error is in the same step, but different:

"Could not find the MS2 FAIMS CV 0 from the MS1 scans. Please check your data."

ClaSofMag commented 1 week ago

But I've been doing other works in Fragpipe, even today I did another protein ID work, with other samples, and worked perfectly (also FAIMS data).

fcyu commented 1 week ago

Could you share the log file?

Thanks,

Fengchao

ClaSofMag commented 1 week ago

turbotSP.7240.log Thanks

fcyu commented 1 week ago

Thanks for the log file. I think the error was because the MS1 and MS2 have different set of FAIMS CV.

Best,

Fengchao

ClaSofMag commented 1 week ago

Ok thanks, but is there any setting in Fragpipe to adjust to that?

fcyu commented 1 week ago

I apologize if there are any miscommunications. I meant that something was wrong in your data. Could you share CR10Pm.mzML with me to take a look?

Thanks,

Fengchao

ClaSofMag commented 1 week ago

Hi Fengchao,

thank you for your time. Please find attached the file required:file (the file is too big, I was only able to upload it like this)

fcyu commented 1 week ago

Thanks for sharing the mzML file.

The reason for the error is that your mzML file does not have the required tags. Taking the following MS2 scan for example

<spectrum id="controllerType=0 controllerNumber=1 scan=4" index="3" defaultArrayLength="21">
  <cvParam cvRef="MS" accession="MS:1000511" value="2" name="ms level" />
  <cvParam cvRef="MS" accession="MS:1000580" value="" name="MSn spectrum" />
  <cvParam cvRef="MS" accession="MS:1000130" value="" name="positive scan" />
  <cvParam cvRef="MS" accession="MS:1000285" value="671.313820838928" name="total ion current" />
  <cvParam cvRef="MS" accession="MS:1000127" value="" name="centroid spectrum" />
  <cvParam cvRef="MS" accession="MS:1000504" value="72.1150588989258" name="base peak m/z" unitAccession="MS:1000040" unitName="m/z" unitCvRef="MS" />
  <cvParam cvRef="MS" accession="MS:1000505" value="78.6754760742188" name="base peak intensity" unitAccession="MS:1000131" unitName="number of detector counts" unitCvRef="MS" />
  <cvParam cvRef="MS" accession="MS:1000528" value="72.1150588989258" name="lowest observed m/z" unitAccession="MS:1000040" unitName="m/z" unitCvRef="MS" />
  <cvParam cvRef="MS" accession="MS:1000527" value="743.319030761719" name="highest observed m/z" unitAccession="MS:1000040" unitName="m/z" unitCvRef="MS" />
  <scanList count="1">
    <cvParam cvRef="MS" accession="MS:1000795" value="" name="no combination" />
    <scan instrumentConfigurationRef="IC2">
      <cvParam cvRef="MS" accession="MS:1000016" value="0.0943935912" name="scan start time" unitAccession="UO:0000031" unitName="minute" unitCvRef="UO" />
      <cvParam cvRef="MS" accession="MS:1000512" value="ITMS + c NSI cv=-60.00 r d Full ms2 421.7575@hcd30.00 [70.0000-854.0000]" name="filter string" />
      <cvParam cvRef="MS" accession="MS:1000927" value="35" name="ion injection time" unitAccession="UO:0000028" unitName="millisecond" unitCvRef="UO" />
      ...

Although the filter string, ITMS + c NSI cv=-60.00 r d Full ms2 421.7575@hcd30.00 [70.0000-854.0000], shows that the compensation voltage is -60, there is no <cvParam cvRef="MS" accession="MS:1001581" value="-60" name="FAIMS compensation voltage" /> tag. These tags should exist in both MS1 and MS2 scans. But in your mzML, only MS1 scans have such tags.

I see that your mzML file was converted using ThermoRawFileParser: <cvParam cvRef="MS" accession="MS:1003145" name="ThermoRawFileParser" />. It is not the commonly used one. I am not sure if it has been thoroughly tested (the issue in your mzML file indicates that it is not).

Please use the msconvert in ProteoWizard. Here is our tutorial https://fragpipe.nesvilab.org/docs/tutorial_convert.html

Best,

Fengchao

ClaSofMag commented 1 week ago

Hi Fengchao,

Thank you for your diagnostic! I've been having some issues installing ProteoWizard on my Mac so I tried the same fragpipe workflow but with the raw files. Now I get an error related to the Thermo Index. Does this mean that the problem is probably in the raw files and not in the mzML? Here is the log file: turbotSP.7320.txt

thank you again

fcyu commented 1 week ago

The error was because either the ext folder was not in the MSFragger-4.1.jar folder or mono was not installed on your Linux: https://fragpipe.nesvilab.org/docs/tutorial_setup_fragpipe.html. To read the raw format, mono is required to run the Thermo library on Linux.

Best,

Fengchao

ClaSofMag commented 6 days ago

Fengchao,

I'm really sorry to bother you again! All went smoothly now until the compensation voltage issue again....this time in the IonQuant. Here is the log: turbotSP.7331.txt

fcyu commented 5 days ago

Ah, this is because IonQuant detected and read the mzML files, which had the compensation voltage issues, from the same folder. Could you move the mzML files to other places and try again?

Thanks,

Fengchao