From 4477447413bb535aef05bae63d73b617bf7582d0 Mon Sep 17 00:00:00 2001 From: RalfG Date: Wed, 17 Jul 2024 17:25:36 +0200 Subject: [PATCH] Update tims2rescore documentation --- README.md | 19 ++++++- docs/source/userguide/configuration.rst | 13 +++++ docs/source/userguide/tims2Rescore.rst | 69 +++++++++++++++---------- ms2rescore/__main__.py | 18 ++++--- 4 files changed, 85 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index bf48b06..c6d6b71 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,17 @@ files: MS²Rescore is available as a [desktop application][desktop], a [command line tool][cli], and a [modular Python API][python-package]. +## TIMS²Rescore: Direct support for DDA-PASEF data + +MS²Rescore v3.1+ includes TIMS²Rescore, a usage mode with specialized default configurations for +DDA-PASEF data from timsTOF instruments. TIMS²Rescore makes use of new MS²PIP prediction models for +timsTOF fragmentation and IM2Deep for ion mobility separation. Bruker .d and miniTDF spectrum +files are directly supported through the [timsrust](https://github.com/MannLabs/timsrust) library. + +Checkout our [preprint](https://doi.org/10.1101/2024.05.29.596400) for more information and the +[TIMS²Rescore documentation](https://ms2rescore.readthedocs.io/userguide/tims2rescore) +to get started. + ## Citing **Latest MS²Rescore publication:** @@ -54,10 +65,16 @@ MS²Rescore is available as a [desktop application][desktop], a [command line to **MS²Rescore for immunopeptidomics:** -> **MS2Rescore: Data-driven rescoring dramatically boosts immunopeptide identification rates.** +> **MS²Rescore: Data-driven rescoring dramatically boosts immunopeptide identification rates.** > Arthur Declercq, Robbin Bouwmeester, Aurélie Hirschler, Christine Carapito, Sven Degroeve, Lennart Martens, and Ralf Gabriels. > _Molecular & Cellular Proteomics_ (2021) [doi:10.1016/j.mcpro.2022.100266](https://doi.org/10.1016/j.mcpro.2022.100266) +**MS²Rescore for timsTOF DDA-PASEF data:** + +> **TIMS²Rescore: A DDA-PASEF optimized data-driven rescoring pipeline based on MS²Rescore.** +> Arthur Declercq*, Robbe Devreese*, Jonas Scheid, Caroline Jachmann, Tim Van Den Bossche, Annica Preikschat, David Gomez-Zepeda, Jeewan Babu Rijal, Aurélie Hirschler, Jonathan R Krieger, Tharan Srikumar, George Rosenberger, Dennis Trede, Christine Carapito, Stefan Tenzer, Juliane S Walz, Sven Degroeve, Robbin Bouwmeester, Lennart Martens, and Ralf Gabriels. +> _bioRxiv_ (2024) [doi:10.1101/2024.05.29.596400](https://doi.org/10.1101/2024.05.29.596400) + **Original publication describing the concept of rescoring with predicted spectra:** > **Accurate peptide fragmentation predictions allow data driven approaches to replace and improve upon proteomics search engine scoring functions.** diff --git a/docs/source/userguide/configuration.rst b/docs/source/userguide/configuration.rst index e22b3ec..a692f77 100644 --- a/docs/source/userguide/configuration.rst +++ b/docs/source/userguide/configuration.rst @@ -81,6 +81,19 @@ preferably provide the formula instead of a mass shift, as the mass shift can al be calculated from the formula, but not vice-versa, and some feature generators (such as DeepLC) require the modification formula. +.. role:: raw-html(raw) + :format: html + +Formula modification labels can be defined with the ``Formula:`` prefix, followed by each atom +symbol and its count, denoting which atoms are added or removed by the modification. If no count is +provided, it is assumed to be 1. For example, ``Formula:HO3P`` is equivalent to ``Formula:H1O3P1``. +For isotopes, prefix the atom symbol with the isotope number and place the entire block (isotope +number, atom symbol, and number of atoms) in square brackets. For example, the SILAC 13C(2) 15N(1) +label (`UNIMOD:2088 `_) +would be notated as ``Formula:C-2[13C2]N-1[15N]``, meaning that two C atoms are removed, two +:raw-html:`13C` atoms are added, one N atom is removed and one +:raw-html:`15N` atom is added. + And example of the :py:obj:`modification_mapping` could be: .. tab:: JSON diff --git a/docs/source/userguide/tims2Rescore.rst b/docs/source/userguide/tims2Rescore.rst index f9b9096..51a18b1 100644 --- a/docs/source/userguide/tims2Rescore.rst +++ b/docs/source/userguide/tims2Rescore.rst @@ -1,61 +1,76 @@ -.. _timsrescore: +.. _tims2rescore: -TIMS²Rescore User Guide -======================= +TIMS²Rescore +============ Introduction ------------ -The `TIMS²Rescore` tool is a DDA-PASEF adapted version of `ms2rescore` that allows users to perform rescoring of peptide-spectrum matches (PSMs) acquired on Bruker instruments. This guide provides an overview of how to use `timsrescore` in `ms2rescore` effectively. +`TIMS²Rescore` is a specialized version of `MS²Rescore` for timsTOF DDA-PASEF data. This guide +provides an overview of how to use TIMS²Rescore effectively. -Installation ------------- - -Before using `timsrescore`, ensure that you have `ms2rescore` installed on your system. You can install `ms2rescore` using the following command: - -.. code-block:: bash +Installing TIMS²Rescore +----------------------- - pip install ms2rescore +TIMS²Rescore is part of the ``ms2rescore`` package. Check out the :ref:`installation` instructions +to get started. Usage ----- -To use `timsrescore`, follow these steps: +To use TIMS²Rescore, follow these steps: 1. Prepare your input files: - - Ensure that you have the necessary input files, including the PSM file spectrum files - - Make sure that the PSM file format from a supported search engine or a standard format like .mzid(:external+psm_utils:ref:`supported file formats `). - - Spectrum files can directly be given as .d or minitdf files from Bruker instruments or first converted to .mzML format. - -2. Run `timsrescore`: + - To boost DDA-PASEF peptide identifications, TIMS²Rescore requires the spectrum files from + the timsTOF instrument and the PSM files with identifications from a supported search engine. + - Make sure that the PSM file format comes from a supported search engine or is a standard + format such as mzIdentML (See + :external+psm_utils:ref:`supported file formats `). + - Spectrum files can directly be passed as ``.d`` or `miniTDF` raw data or can optionally be + first converted to mzML or MGF. We recommend using the format that was passed to the search + engine. + +2. Run ``tims2rescore``: - Open a terminal or command prompt. - Navigate to the directory where your input files are located. - Execute the following command: .. code-block:: bash - timsrescore -p -s -o + tims2rescore -p -s + + Replace ``, ``, and `` with the + actual paths to your input and output files. - Replace ``, ``, and `` with the actual paths to your input and output files. - _NOTE_ By default timsTOF specific models will be used for predictions. Optionally you can further configure settings through a configuration file. For more information on configuring `timsrescore`, refer to the :doc:`configuration` tab in the user guide. + .. admonition:: note + + By default, specialized timsTOF models will be used for predictions. Optionally you can + further configure TIMS²Rescore through a configuration file. For more information, refer + to the :ref:`configuration` tab in the user guide. 3. Review the results: - - Once the `timsrescore` process completes, you will find the rescoring results in the specified output file or if not specified in the same directory as the input files - - If you want a detailed overview of the performance, you can either give the set `write_report` to `True` in the configuration file, use the `--write_report` option in the command line or run the following command: - + - Once the ``tims2rescore`` process completes, you will find the rescoring results in the + same directory as the input files. + - If you want a detailed report of the rescoring performance, you can either give the set + `write_report` to `True` in the configuration file, use the `--write_report` option in the + ``tims2rescore`` command line. Alternatively, run the following command after rescoring: + .. code-block:: bash ms2rescore-report - Replace `` with the actual output prefix of the result files to the output file. + Replace `` with the actual output prefix of the result files to the output + file. For instance, if the output file is ``identifications.psms.tsv``, then the output + prefix is ``identifications``. -Additional Options +Additional options ------------------ -`ms2rescore` provides additional options to customize the `timsrescore` process. You can explore these options by running the following command: +`tims2rescore` provides additional options to customize rescoring. You can explore these options +by running the following command: .. code-block:: bash - timsrescore --help + tims2rescore --help diff --git a/ms2rescore/__main__.py b/ms2rescore/__main__.py index 70e384c..400a1fa 100644 --- a/ms2rescore/__main__.py +++ b/ms2rescore/__main__.py @@ -41,18 +41,24 @@ def _print_credits(tims=False): text = Text() text.append("\n") if tims: - text.append("TIMS²Rescore", style="bold link https://github.com/compomics/ms2rescore") + text.append("TIMS²Rescore", style="bold link https://github.com/compomics/tims2rescore") else: text.append("MS²Rescore", style="bold link https://github.com/compomics/ms2rescore") text.append(f" (v{__version__})\n", style="bold") if tims: - text.append("MS²Rescore tuned for Bruker timsTOF instruments.\n", style="italic") + text.append("MS²Rescore tuned for timsTOF DDA-PASEF data.\n", style="italic") text.append("Developed at CompOmics, VIB / Ghent University, Belgium.\n") text.append("Please cite: ") - text.append( - "Buur & Declercq et al. JPR (2024)", - style="link https://doi.org/10.1021/acs.jproteome.3c00785", - ) + if tims: + text.append( + "Declercq & Devreese et al. bioRxiv (2024)", + style="link https://doi.org/10.1101/2024.05.29.596400", + ) + else: + text.append( + "Buur & Declercq et al. JPR (2024)", + style="link https://doi.org/10.1021/acs.jproteome.3c00785", + ) text.append("\n") if tims: text.stylize("#006cb5")