Added
- ✨ `io.alphadia`: Read support for AlphaDIA `precursors.tsv` (103 by rodvrees)
- ✨ `io.fragpipe`: Read support for FragPipe `psm.tsv` (103 by rodvrees)
- ✨ `io.diann`: Read support for DIA-NN TSV (103 by rodvrees)
Changed
- 💥 `psm_list`: When returning a PSM property across the full PSMList (e.g. `psm_list["peptidoform"]`), `np.fromiter` is now used instead of `np.array`. This fixes an issue where if all peptidoforms have the same length, a 3D array of parsed sequences (amino acids and modifications) was be returned instead of an array of `Peptidoform` object. However, this does mean that all resulting arrays will have the `object` dtype instead of the previously coerced dtypes. This might lead to issues downstream. (102)
- ➖ `io.idxml`: Make pyOpenMS an optional dependency, working around https://github.com/OpenMS/OpenMS/issues/7600 for now. For `idxml` support, install psm_utils with the `idxml` extra dependencies. (#107 by paretje)
Fixed
- 🐛 `io.pepxml`: Fix modification location and mass parsing. Position had an off-by-one error and the reported mass was the sum of the residue and modification instead of the modification alone. (fixes 100, 104)