Next, machine learning tools, such as MS 2 PIP 25 and DeepLC, are used to predict the LC-MS/MS behavior of the putatively identified peptides. These predictions are then compared to the observed behavior in the LC-MS/MS data by calculating (dis)similarity metrics. Finally, these metrics are used as features for identification rescoring by Percolator or Mokapot, together with the traditional rescoring features, such as search engine score, charge state, mass errors, etc. Including orthogonal information such as MS2 intensities and retention time into the scoring process generally results in an increased identification sensitivity and/or specificity. Large-scale refactoring of the MS 2 Rescore package MS 2 Rescore was largely rebuilt from the ground up to improve usability and simplify future development of the package. All code related to parsing different PSM files -or search engine output files -was moved into the new psm_utils Python package, which partially relies on existing functionality in Pyteomics, pyOpenMS, and psims. This separation facilitates adding support for more PSM file formats and allows the PSM file reading and writing functionality to be reused in other applications. Currently, twelve different PSM file formats are supported in psm_utils, including a generic TSV format based on the HUPO-PSI ProForma 2.0 peptidoform notation. psm_utils is an open-source project that welcomes contributions from the community.