There is a software which export mzML with MS level as 2 which has isolationWindow and activation element and lacks selectedIonList element in precursor element.
SelectedIonList may not be suitable for some experiment (e.g. SWATH).
So, I think following step should added in mzML reader.
1. If selectedIonList is exist, obtain precursor ion mass from selectedIon subelement.
(if multiple ions are listed, I thinks precursor ion with largest m/z is suitable as representative precursor ion mass, since
some analysis plug-in use precursor ion mass as max ion mass of data.)
2. if there is not selectedIon element, obtain precursor ion mass from cvParam of MS:1000827 (or 1000829 (upper offset)) in isolationWindow element.
There is a software which export mzML with MS level as 2 which has isolationWindow and activation element and lacks selectedIonList element in precursor element.
SelectedIonList may not be suitable for some experiment (e.g. SWATH). So, I think following step should added in mzML reader. 1. If selectedIonList is exist, obtain precursor ion mass from selectedIon subelement.
2. if there is not selectedIon element, obtain precursor ion mass from cvParam of MS:1000827 (or 1000829 (upper offset)) in isolationWindow element.