ms2rescore 3.1.0.dev2__tar.gz → 3.1.0.dev4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/PKG-INFO +1 -1
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/__init__.py +1 -1
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/__main__.py +26 -1
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/package_data/config_schema.json +5 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/rescoring_engines/mokapot.py +28 -8
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/LICENSE +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/README.md +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/config_parser.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/core.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/exceptions.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/feature_generators/__init__.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/feature_generators/base.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/feature_generators/basic.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/feature_generators/deeplc.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/feature_generators/im2deep.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/feature_generators/ionmob.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/feature_generators/maxquant.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/feature_generators/ms2pip.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/gui/__init__.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/gui/__main__.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/gui/app.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/gui/function2ctk.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/gui/widgets.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/package_data/__init__.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/package_data/config_default.json +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/package_data/config_default_tims.json +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/package_data/img/__init__.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/package_data/img/config_icon.png +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/package_data/img/github-mark-white.png +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/package_data/img/github-mark.png +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/package_data/img/ms2rescore_logo.png +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/package_data/img/program_icon.ico +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/package_data/ms2rescore-gui-theme.json +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/parse_psms.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/parse_spectra.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/report/__init__.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/report/__main__.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/report/charts.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/report/generate.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/report/templates/__init__.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/report/templates/about.html +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/report/templates/base.html +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/report/templates/config.html +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/report/templates/features.html +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/report/templates/log.html +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/report/templates/metadata.html +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/report/templates/overview.html +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/report/templates/stats-card.html +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/report/templates/style.html +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/report/templates/target-decoy.html +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/report/templates/texts.toml +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/report/utils.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/rescoring_engines/__init__.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/rescoring_engines/percolator.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/utils.py +0 -0
- {ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/pyproject.toml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ms2rescore
|
|
3
|
-
Version: 3.1.0.
|
|
3
|
+
Version: 3.1.0.dev4
|
|
4
4
|
Summary: MS²Rescore: Sensitive PSM rescoring with predicted MS² peak intensities and retention times.
|
|
5
5
|
Keywords: MS2Rescore,MS2PIP,DeepLC,Percolator,proteomics,mass spectrometry,peptide identification,rescoring,machine learning
|
|
6
6
|
Author: Ana Sílvia C. Silva, Robbin Bouwmeester, Louise Buur
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""MS²Rescore: Sensitive PSM rescoring with predicted MS² peak intensities and RTs."""
|
|
2
2
|
|
|
3
3
|
import argparse
|
|
4
|
+
import cProfile
|
|
4
5
|
import importlib.resources
|
|
5
6
|
import json
|
|
6
7
|
import logging
|
|
@@ -139,6 +140,14 @@ def _argument_parser() -> argparse.ArgumentParser:
|
|
|
139
140
|
dest="fasta_file",
|
|
140
141
|
help="path to FASTA file",
|
|
141
142
|
)
|
|
143
|
+
parser.add_argument(
|
|
144
|
+
"--profile",
|
|
145
|
+
# metavar="BOOL",
|
|
146
|
+
action="store_true",
|
|
147
|
+
# type=bool,
|
|
148
|
+
# dest="profile",
|
|
149
|
+
help="boolean to enable profiling with cProfile",
|
|
150
|
+
)
|
|
142
151
|
|
|
143
152
|
return parser
|
|
144
153
|
|
|
@@ -161,6 +170,18 @@ def _setup_logging(passed_level: str, log_file: Union[str, Path]):
|
|
|
161
170
|
)
|
|
162
171
|
|
|
163
172
|
|
|
173
|
+
def profile(fnc, filepath):
|
|
174
|
+
"""A decorator that uses cProfile to profile a function"""
|
|
175
|
+
|
|
176
|
+
def inner(*args, **kwargs):
|
|
177
|
+
with cProfile.Profile() as profiler:
|
|
178
|
+
return_value = fnc(*args, **kwargs)
|
|
179
|
+
profiler.dump_stats(filepath + ".profile.prof")
|
|
180
|
+
return return_value
|
|
181
|
+
|
|
182
|
+
return inner
|
|
183
|
+
|
|
184
|
+
|
|
164
185
|
def main_tims():
|
|
165
186
|
"""Run MS²Rescore command-line interface in TIMS²Rescore mode."""
|
|
166
187
|
main(tims=True)
|
|
@@ -196,7 +217,11 @@ def main(tims=False):
|
|
|
196
217
|
|
|
197
218
|
# Run MS²Rescore
|
|
198
219
|
try:
|
|
199
|
-
|
|
220
|
+
if cli_args.profile:
|
|
221
|
+
profiled_rescore = profile(rescore, config["ms2rescore"]["output_path"])
|
|
222
|
+
profiled_rescore(configuration=config)
|
|
223
|
+
else:
|
|
224
|
+
rescore(configuration=config)
|
|
200
225
|
except Exception as e:
|
|
201
226
|
LOGGER.exception(e)
|
|
202
227
|
sys.exit(1)
|
|
@@ -157,6 +157,11 @@
|
|
|
157
157
|
"description": "Write an HTML report with various QC metrics and charts",
|
|
158
158
|
"type": "boolean",
|
|
159
159
|
"default": false
|
|
160
|
+
},
|
|
161
|
+
"profile": {
|
|
162
|
+
"description": "Write an txt report using cProfile for profiling",
|
|
163
|
+
"type": "boolean",
|
|
164
|
+
"default": false
|
|
160
165
|
}
|
|
161
166
|
}
|
|
162
167
|
}
|
|
@@ -20,7 +20,8 @@ If you use Mokapot through MS²Rescore, please cite:
|
|
|
20
20
|
"""
|
|
21
21
|
|
|
22
22
|
import logging
|
|
23
|
-
|
|
23
|
+
import re
|
|
24
|
+
from typing import Any, Dict, List, Optional, Tuple
|
|
24
25
|
|
|
25
26
|
import mokapot
|
|
26
27
|
import numpy as np
|
|
@@ -93,15 +94,12 @@ def rescore(
|
|
|
93
94
|
confidence_results, models = brew(lin_psm_data, rng=8, **kwargs)
|
|
94
95
|
|
|
95
96
|
# Reshape confidence estimates to match PSMList
|
|
97
|
+
keys = ["mokapot score", "mokapot q-value", "mokapot PEP"]
|
|
96
98
|
mokapot_values_targets = (
|
|
97
|
-
confidence_results.confidence_estimates["psms"]
|
|
98
|
-
.set_index("index")
|
|
99
|
-
.sort_index()[["mokapot score", "mokapot q-value", "mokapot PEP"]]
|
|
99
|
+
confidence_results.confidence_estimates["psms"].set_index("index").sort_index()[keys]
|
|
100
100
|
)
|
|
101
101
|
mokapot_values_decoys = (
|
|
102
|
-
confidence_results.decoy_confidence_estimates["psms"]
|
|
103
|
-
.set_index("index")
|
|
104
|
-
.sort_index()[["mokapot score", "mokapot q-value", "mokapot PEP"]]
|
|
102
|
+
confidence_results.decoy_confidence_estimates["psms"].set_index("index").sort_index()[keys]
|
|
105
103
|
)
|
|
106
104
|
q = np.full((len(psm_list), 3), np.nan)
|
|
107
105
|
q[mokapot_values_targets.index] = mokapot_values_targets.values
|
|
@@ -112,6 +110,28 @@ def rescore(
|
|
|
112
110
|
psm_list["qvalue"] = q[:, 1]
|
|
113
111
|
psm_list["pep"] = q[:, 2]
|
|
114
112
|
|
|
113
|
+
# Repeat for peptide-level scores
|
|
114
|
+
peptides_targets = confidence_results.confidence_estimates["peptides"].set_index(
|
|
115
|
+
["peptide", "run"]
|
|
116
|
+
)[keys]
|
|
117
|
+
peptides_decoys = confidence_results.decoy_confidence_estimates["peptides"].set_index(
|
|
118
|
+
["peptide", "run"]
|
|
119
|
+
)[keys]
|
|
120
|
+
peptide_info = pd.concat([peptides_targets, peptides_decoys], axis=0).to_dict(orient="index")
|
|
121
|
+
|
|
122
|
+
peptidoform_without_charge = re.compile(r"(/\d+$)")
|
|
123
|
+
for psm in psm_list:
|
|
124
|
+
peptide_scores = peptide_info[
|
|
125
|
+
(peptidoform_without_charge.sub("", str(psm.peptidoform), 1), psm.run)
|
|
126
|
+
]
|
|
127
|
+
psm.metadata.update(
|
|
128
|
+
{
|
|
129
|
+
"peptide_score": peptide_scores["mokapot score"],
|
|
130
|
+
"peptide_qvalue": peptide_scores["mokapot q-value"],
|
|
131
|
+
"peptide_pep": peptide_scores["mokapot PEP"],
|
|
132
|
+
}
|
|
133
|
+
)
|
|
134
|
+
|
|
115
135
|
# Write results
|
|
116
136
|
if write_weights:
|
|
117
137
|
try:
|
|
@@ -174,7 +194,7 @@ def convert_psm_list(
|
|
|
174
194
|
|
|
175
195
|
# Ensure filename for FlashLFQ txt output
|
|
176
196
|
if not combined_df["run"].notnull().all():
|
|
177
|
-
combined_df["run"] = "
|
|
197
|
+
combined_df["run"] = "nan"
|
|
178
198
|
|
|
179
199
|
feature_names = [f"feature:{f}" for f in feature_names] if feature_names else None
|
|
180
200
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/package_data/config_default_tims.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/package_data/img/github-mark-white.png
RENAMED
|
File without changes
|
|
File without changes
|
{ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/package_data/img/ms2rescore_logo.png
RENAMED
|
File without changes
|
{ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/package_data/img/program_icon.ico
RENAMED
|
File without changes
|
{ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/package_data/ms2rescore-gui-theme.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ms2rescore-3.1.0.dev2 → ms2rescore-3.1.0.dev4}/ms2rescore/report/templates/target-decoy.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|