I noticed the MSAmanda mzIdentML output in 2.0.0.11219 standalone appears to be incorrect.
It currently generates two SpectrumIdentificationResult entries per spectrum, one for targets and another for decoys. The entry should be unique per spectrum, containing a combination of both identification types.
Actual as per 2.0:
<SpectrumIdentificationResult id="SIR_0" spectrumID="0" spectraData_ref="SD_1">
<SpectrumIdentificationItem id="SII_0_1" chargeState="2"
experimentalMassToCharge="790.3333536858"
peptide_ref="EEGDEKEEEKDDK_000000000000000"
rank="1" passThreshold="True">
<PeptideEvidenceRef peptideEvidence_ref="EEGDEKEEEKDDK_000000000000000_sp|Q9JL35" />
<cvParam name="Amanda:AmandaScore" value="47.0586583281504" cvRef="PSI-MS" accession="MS:1002319" />
</SpectrumIdentificationItem>
......
<cvParam name="spectrum title"
value="260416_Sample5.5119.5119.2 (intensity=966488.9626)"
cvRef="PSI-MS" accession="MS:1000796" />
<cvParam name="retention time" value="1188.781" cvRef="PSI-MS"
accession="MS:1000894" unitCvRef="UO" unitAccession="UO:0000010"
unitName="second" />
</SpectrumIdentificationResult>
<SpectrumIdentificationResult id="SIRD_0" spectrumID="0" spectraData_ref="SD_1">
<SpectrumIdentificationItem id="SII_0_6482" chargeState="2"
experimentalMassToCharge="790.3333536858"
peptide_ref="EQLSSCALAKANK_000011100000000"
rank="1" passThreshold="True">
<PeptideEvidenceRef peptideEvidence_ref="EQLSSCALAKANK_000011100000000_REV_sp|Q9DBR4" />
<cvParam name="Amanda:AmandaScore" value="58.5417487911531" cvRef="PSI-MS" accession="MS:1002319" />
</SpectrumIdentificationItem>
....
<cvParam name="spectrum title"
value="260416_Sample5.5119.5119.2 (intensity=966488.9626)"
cvRef="PSI-MS" accession="MS:1000796" />
<cvParam name="retention time" value="1188.781" cvRef="PSI-MS"
accession="MS:1000894" unitCvRef="UO" unitAccession="UO:0000010"
unitName="second" />
</SpectrumIdentificationResult>
This results in two rank="1" peptides being returned for the same spectrum with differing scores.
Expected:
<SpectrumIdentificationResult id="SIR_0" spectrumID="0" spectraData_ref="SD_1">
<SpectrumIdentificationItem id="SII_0_6482" chargeState="2"
experimentalMassToCharge="790.3333536858"
peptide_ref="EQLSSCALAKANK_000011100000000"
rank="1" passThreshold="True">
<PeptideEvidenceRef peptideEvidence_ref="EQLSSCALAKANK_000011100000000_REV_sp|Q9DBR4" />
<cvParam name="Amanda:AmandaScore" value="58.5417487911531" cvRef="PSI-MS" accession="MS:1002319" />
</SpectrumIdentificationItem>
<SpectrumIdentificationItem id="SII_0_1" chargeState="2"
experimentalMassToCharge="790.3333536858"
peptide_ref="EEGDEKEEEKDDK_000000000000000"
rank="2" passThreshold="True">
<PeptideEvidenceRef peptideEvidence_ref="EEGDEKEEEKDDK_000000000000000_sp|Q9JL35" />
<cvParam name="Amanda:AmandaScore" value="47.0586583281504" cvRef="PSI-MS" accession="MS:1002319" />
</SpectrumIdentificationItem>
....
<cvParam name="spectrum title"
value="260416_Sample5.5119.5119.2 (intensity=966488.9626)"
cvRef="PSI-MS" accession="MS:1000796" />
<cvParam name="retention time" value="1188.781" cvRef="PSI-MS"
accession="MS:1000894" unitCvRef="UO" unitAccession="UO:0000010"
unitName="second" />
</SpectrumIdentificationResult>
This bug appears to confuse a few readers and knock FDR scores out by quite a bit since it is assumed spectrumID will be unique.