Skip to content

Commit 25580bf

Browse files
authored
Merge pull request #359 from jonasscheid/support-im2deep
Support IM2Deep
2 parents 6f719ec + 3cce935 commit 25580bf

File tree

7 files changed

+18
-9
lines changed

7 files changed

+18
-9
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1313
- Added `-weights` parameter in `OPENMS_PERCOLATORADAPTER` and visualize the median feature weights in multiQC report [#347](https://github.com/nf-core/mhcquant/pull/347)
1414
- Added flag `generate_speclib` that will generate a spectrum library for DIA searches with EasyPQP [#349](https://github.com/nf-core/mhcquant/pull/349)
1515
- Replace local with nf-core modules [#350](https://github.com/nf-core/mhcquant/pull/347)
16+
- Added support for CCS-based rescoring with `IM2Deep` feature generator [#358](https://github.com/nf-core/mhcquant/pull/358)
1617

1718
### `Fixed`
1819

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,10 @@ In addition, references of tools and data used in this pipeline are as follows:
175175
>
176176
> Declercq A. et al, _Nucleic Acids Res._ 2023 Jul 5;51(W1):W338-W342. doi: [10.1093/nar/gkad335](https://academic.oup.com/nar/article/51/W1/W338/7151340?login=false)
177177
>
178+
> **CCS prediction**
179+
>
180+
> Declercq A. et al _Journal of Proteome Research_ 2025 Feb 6. doi: [10.1021/acs.jproteome.4c00609](https://pubs.acs.org/doi/10.1021/acs.jproteome.4c00609)
181+
>
178182
> **MS²Rescore framework**
179183
>
180184
> Buur L. M. et al, \_J Proteome Res. 2024 Mar 16. doi: [10.1021/acs.jproteome.3c00785](https://pubs.acs.org/doi/10.1021/acs.jproteome.3c00785)

assets/multiqc_config.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,3 +200,9 @@ percolator:
200200
- "observed_retention_time_best"
201201
- "rt_diff_best"
202202
- "observed_retention_time"
203+
im2deep:
204+
- "ccs_observed_im2deep"
205+
- "ccs_predicted_im2deep"
206+
- "ccs_error_im2deep"
207+
- "abs_ccs_error_im2deep"
208+
- "perc_ccs_error_im2deep"

bin/ms2rescore_cli.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ def parse_cli_arguments_to_config(**kwargs):
4848
config["ms2rescore"]["feature_generators"]["maxquant"] = {}
4949
if "ionmob" in feature_generators:
5050
config["ms2rescore"]["feature_generators"]["ionmob"] = {}
51+
if "im2deep" in feature_generators:
52+
config["ms2rescore"]["feature_generators"]["im2deep"] = {}
5153

5254
elif key == "rescoring_engine":
5355
# Reset rescoring engine dict we want to allow only computing features
@@ -57,7 +59,6 @@ def parse_cli_arguments_to_config(**kwargs):
5759
"write_weights": True,
5860
"write_txt": False,
5961
"write_flashlfq": False,
60-
"rng": kwargs["rng"],
6162
"max_workers": kwargs["processes"],
6263
}
6364
if value == "percolator":
@@ -156,9 +157,6 @@ def filter_out_artifact_psms(
156157
default=0.15,
157158
)
158159
@click.option("-re", "--rescoring_engine", help="Either mokapot or percolator (default: `mokapot`)", default="mokapot")
159-
@click.option(
160-
"-rng", "--rng", help="Seed for mokapot's random number generator (default: `4711`)", type=int, default=4711
161-
)
162160
@click.option("-d", "--id_decoy_pattern", help="Regex decoy pattern (default: `DECOY_`)", default="^DECOY_")
163161
@click.option(
164162
"-lsb",

conf/test_timstof.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,6 @@ params {
3535
spectrum_batch_size = 1000
3636

3737
// MS²Rescore settings
38-
feature_generators = 'ms2pip'
38+
feature_generators = 'ms2pip,im2deep'
3939
ms2pip_model = 'timsTOF'
4040
}

docs/usage.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ Further information about the command line arguments is documented on the [nf-co
6464

6565
## Rescoring using MS²Rescore
6666

67-
By default the pipline generates additional features using MS²PIP and DeepLC via the MS²Rescore framework (`--feature_generators deeplc,ms2pip`). Additional feature generators can be added (`basic,deeplc,ms2pip`) to boost identification rates and quality. Please make sure you provide the correct `--ms2pip_model` (default: `Immuno-HCD`). All available MS²PIP models can be found on [GitHub](https://github.com/compomics/ms2pip).
67+
By default the pipline generates additional features using MS²PIP and DeepLC via the MS²Rescore framework (`--feature_generators deeplc,ms2pip`). Additional feature generators can be added (`basic,deeplc,ms2pip,ionmob,im2deep`) to boost identification rates and quality. Please make sure you provide the correct `--ms2pip_model` (default: `Immuno-HCD`). All available MS²PIP models can be found on [GitHub](https://github.com/compomics/ms2pip).
6868

6969
MS²Rescore creates a comprehensive QC report of the added features used for rescoring. This report is only available if `--rescoring_engine mokapot` is specified (default: `percolator`). The report can be found in `<OUTDIR>/multiqc/ms2rescore`. Further information on the tool itself can be read up in the published paper [Declerq et al. 2022](<https://www.mcponline.org/article/S1535-9476(22)00074-3/fulltext>)
7070

modules/local/ms2rescore.nf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ process MS2RESCORE {
22
tag "$meta.id"
33
label 'process_high'
44

5-
conda "bioconda::ms2rescore=3.0.1"
5+
conda "bioconda::ms2rescore=3.1.4"
66
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
7-
'https://depot.galaxyproject.org/singularity/ms2rescore:3.0.1--pyhdfd78af_2':
8-
'biocontainers/ms2rescore:3.0.1--pyhdfd78af_2' }"
7+
'https://depot.galaxyproject.org/singularity/ms2rescore:3.1.4--pyh7e72e81_0':
8+
'biocontainers/ms2rescore:3.1.4--pyh7e72e81_0' }"
99

1010
// userEmulation settings when docker is specified
1111
containerOptions = (workflow.containerEngine == 'docker') ? '-u $(id -u) -e "HOME=${HOME}" -v /etc/passwd:/etc/passwd:ro -v /etc/shadow:/etc/shadow:ro -v /etc/group:/etc/group:ro -v $HOME:$HOME' : ''

0 commit comments

Comments
 (0)