alphadia 1.9.3.dev2__tar.gz → 1.10.3__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.
Files changed (85) hide show
  1. {alphadia-1.9.3.dev2/alphadia.egg-info → alphadia-1.10.3}/PKG-INFO +120 -42
  2. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/README.md +26 -7
  3. alphadia-1.10.3/alphadia/__init__.py +9 -0
  4. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/cli.py +4 -1
  5. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/constants/default.yaml +73 -23
  6. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/constants/keys.py +6 -0
  7. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/constants/multistep.yaml +2 -1
  8. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/exceptions.py +10 -0
  9. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/fdrx/models/two_step_classifier.py +85 -50
  10. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/features.py +36 -21
  11. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/libtransform.py +4 -3
  12. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/outputaccumulator.py +112 -178
  13. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/outputtransform.py +56 -20
  14. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/plexscoring.py +23 -0
  15. alphadia-1.10.3/alphadia/scoring/utils.py +147 -0
  16. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/search_plan.py +15 -8
  17. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/search_step.py +30 -13
  18. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/utilities/logging.py +4 -0
  19. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/utils.py +10 -4
  20. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/workflow/config.py +13 -3
  21. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/workflow/manager.py +3 -1
  22. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/workflow/peptidecentric.py +6 -3
  23. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/workflow/reporting.py +46 -14
  24. {alphadia-1.9.3.dev2 → alphadia-1.10.3/alphadia.egg-info}/PKG-INFO +120 -42
  25. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia.egg-info/SOURCES.txt +2 -2
  26. alphadia-1.10.3/alphadia.egg-info/requires.txt +137 -0
  27. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/pyproject.toml +2 -2
  28. alphadia-1.10.3/requirements/_requirements.freeze.txt +86 -0
  29. alphadia-1.10.3/requirements/requirements.txt +18 -0
  30. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/requirements/requirements_development.txt +3 -4
  31. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/requirements/requirements_tests.txt +1 -0
  32. alphadia-1.9.3.dev2/alphadia/__init__.py +0 -3
  33. alphadia-1.9.3.dev2/alphadia/test_data_downloader.py +0 -136
  34. alphadia-1.9.3.dev2/alphadia.egg-info/requires.txt +0 -75
  35. alphadia-1.9.3.dev2/requirements/requirements.txt +0 -23
  36. alphadia-1.9.3.dev2/requirements/requirements_loose.txt +0 -22
  37. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/LICENSE.txt +0 -0
  38. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/MANIFEST.in +0 -0
  39. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/calibration/models.py +0 -0
  40. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/calibration/property.py +0 -0
  41. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/consensus/utils.py +0 -0
  42. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/constants/classifier/fa9945ae23db872d.pth +0 -0
  43. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/data/alpharaw_wrapper.py +0 -0
  44. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/data/bruker.py +0 -0
  45. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/fdr.py +0 -0
  46. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/fdrexperimental.py +0 -0
  47. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/fdrx/base.py +0 -0
  48. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/fdrx/models/__init__.py +0 -0
  49. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/fdrx/models/logistic_regression.py +0 -0
  50. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/fdrx/plotting.py +0 -0
  51. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/fdrx/stats.py +0 -0
  52. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/fdrx/utils.py +0 -0
  53. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/fragcomp.py +0 -0
  54. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/grouping.py +0 -0
  55. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/numba/config.py +0 -0
  56. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/numba/fft.py +0 -0
  57. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/numba/fragments.py +0 -0
  58. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/numba/numeric.py +0 -0
  59. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/peakgroup/kernel.py +0 -0
  60. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/peakgroup/search.py +0 -0
  61. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/peakgroup/utils.py +0 -0
  62. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/plotting/cycle.py +0 -0
  63. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/plotting/debug.py +0 -0
  64. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/plotting/utils.py +0 -0
  65. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/quadrupole.py +0 -0
  66. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/transferlearning/metrics.py +0 -0
  67. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/transferlearning/train.py +0 -0
  68. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/utilities/__init__.py +0 -0
  69. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/validate.py +0 -0
  70. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/workflow/base.py +0 -0
  71. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/workflow/managers/__init__.py +0 -0
  72. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/workflow/managers/raw_file_manager.py +0 -0
  73. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia/workflow/optimization.py +0 -0
  74. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia.egg-info/dependency_links.txt +0 -0
  75. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia.egg-info/entry_points.txt +0 -0
  76. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/alphadia.egg-info/top_level.txt +0 -0
  77. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/docs/conf.py +0 -0
  78. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/misc/distributed_search/discover_project_files.py +0 -0
  79. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/misc/distributed_search/parse_parameters.py +0 -0
  80. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/misc/distributed_search/speclib_config.py +0 -0
  81. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/release/pyinstaller/cli_hook.py +0 -0
  82. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/release/pyinstaller/hookdir/hook-huggingface_hub.py +0 -0
  83. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/release/pyinstaller/hookdir/hook-rocket_fft.py +0 -0
  84. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/requirements/requirements_docs.txt +0 -0
  85. {alphadia-1.9.3.dev2 → alphadia-1.10.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: alphadia
3
- Version: 1.9.3.dev2
3
+ Version: 1.10.3
4
4
  Summary: A novel proteomics search engine for DIA data based on end-to-end transfer learning.
5
5
  Author-email: Mann Labs <wallmann@biochem.mpg.de>
6
6
  License: Apache License
@@ -219,49 +219,110 @@ Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
219
219
  Requires-Python: >=3.10.0
220
220
  Description-Content-Type: text/markdown
221
221
  License-File: LICENSE.txt
222
- Requires-Dist: numba
223
- Requires-Dist: argparse
224
222
  Requires-Dist: alpharaw>=0.3.1
225
- Requires-Dist: alphatims
226
- Requires-Dist: alphabase<1.5.0,>=1.4.0
223
+ Requires-Dist: alphatims>=1.0.8
224
+ Requires-Dist: alphabase>=1.5.0
227
225
  Requires-Dist: peptdeep>=1.3.0
228
- Requires-Dist: dask==2024.11.2
229
- Requires-Dist: progressbar
230
- Requires-Dist: neptune
226
+ Requires-Dist: directlfq>=0.2.19
227
+ Requires-Dist: argparse
231
228
  Requires-Dist: seaborn
232
229
  Requires-Dist: rocket_fft
233
230
  Requires-Dist: xxhash
234
231
  Requires-Dist: torchmetrics
235
- Requires-Dist: transformers<=4.40.2
236
- Requires-Dist: directlfq
237
- Requires-Dist: pythonnet
238
- Requires-Dist: zstandard
232
+ Requires-Dist: transformers
239
233
  Requires-Dist: numpy<2
240
- Requires-Dist: scipy>=1.12.0
234
+ Requires-Dist: scipy==1.12.0
241
235
  Provides-Extra: stable
242
- Requires-Dist: numba==0.59.1; extra == "stable"
236
+ Requires-Dist: alphabase==1.6.2; extra == "stable"
237
+ Requires-Dist: alpharaw==0.4.7; extra == "stable"
238
+ Requires-Dist: alphatims==1.0.9; extra == "stable"
243
239
  Requires-Dist: argparse==1.4.0; extra == "stable"
244
- Requires-Dist: alpharaw==0.4.5; extra == "stable"
245
- Requires-Dist: alphatims==1.0.8; extra == "stable"
246
- Requires-Dist: alphabase==1.4.2; extra == "stable"
247
- Requires-Dist: peptdeep==1.3.0; extra == "stable"
248
- Requires-Dist: progressbar==2.5; extra == "stable"
249
- Requires-Dist: neptune==1.10.4; extra == "stable"
250
- Requires-Dist: seaborn==0.13.2; extra == "stable"
251
- Requires-Dist: rocket_fft==0.2.5; extra == "stable"
252
- Requires-Dist: xxhash==3.4.1; extra == "stable"
253
- Requires-Dist: torchmetrics==1.4.0.post0; extra == "stable"
254
- Requires-Dist: transformers==4.40.2; extra == "stable"
255
- Requires-Dist: directlfq==0.2.19; extra == "stable"
256
- Requires-Dist: pythonnet==3.0.3; extra == "stable"
257
- Requires-Dist: zstandard==0.22.0; extra == "stable"
258
- Requires-Dist: dask==2024.11.2; extra == "stable"
259
- Requires-Dist: numpy<2; extra == "stable"
240
+ Requires-Dist: biopython==1.85; extra == "stable"
241
+ Requires-Dist: certifi==2025.1.31; extra == "stable"
242
+ Requires-Dist: cffi==1.17.1; extra == "stable"
243
+ Requires-Dist: charset-normalizer==3.4.1; extra == "stable"
244
+ Requires-Dist: click==8.1.8; extra == "stable"
245
+ Requires-Dist: clr-loader==0.2.7.post0; extra == "stable"
246
+ Requires-Dist: contextlib2==21.6.0; extra == "stable"
247
+ Requires-Dist: contourpy==1.3.1; extra == "stable"
248
+ Requires-Dist: cycler==0.12.1; extra == "stable"
249
+ Requires-Dist: dill==0.3.9; extra == "stable"
250
+ Requires-Dist: directlfq==0.3.1; extra == "stable"
251
+ Requires-Dist: filelock==3.18.0; extra == "stable"
252
+ Requires-Dist: fonttools==4.57.0; extra == "stable"
253
+ Requires-Dist: fsspec==2025.3.2; extra == "stable"
254
+ Requires-Dist: h5py==3.13.0; extra == "stable"
255
+ Requires-Dist: huggingface-hub==0.30.2; extra == "stable"
256
+ Requires-Dist: idna==3.10; extra == "stable"
257
+ Requires-Dist: jinja2==3.1.6; extra == "stable"
258
+ Requires-Dist: joblib==1.4.2; extra == "stable"
259
+ Requires-Dist: kiwisolver==1.4.8; extra == "stable"
260
+ Requires-Dist: lightning-utilities==0.14.3; extra == "stable"
261
+ Requires-Dist: llvmlite==0.44.0; extra == "stable"
262
+ Requires-Dist: lxml==5.3.2; extra == "stable"
263
+ Requires-Dist: markupsafe==3.0.2; extra == "stable"
264
+ Requires-Dist: matplotlib==3.10.1; extra == "stable"
265
+ Requires-Dist: mpmath==1.3.0; extra == "stable"
266
+ Requires-Dist: multiprocess==0.70.17; extra == "stable"
267
+ Requires-Dist: networkx==3.4.2; extra == "stable"
268
+ Requires-Dist: numba==0.61.2; extra == "stable"
269
+ Requires-Dist: numpy==1.26.4; extra == "stable"
270
+ Requires-Dist: nvidia-cublas-cu12==12.4.5.8; sys_platform == "linux" and extra == "stable"
271
+ Requires-Dist: nvidia-cuda-cupti-cu12==12.4.127; sys_platform == "linux" and extra == "stable"
272
+ Requires-Dist: nvidia-cuda-nvrtc-cu12==12.4.127; sys_platform == "linux" and extra == "stable"
273
+ Requires-Dist: nvidia-cuda-runtime-cu12==12.4.127; sys_platform == "linux" and extra == "stable"
274
+ Requires-Dist: nvidia-cudnn-cu12==9.1.0.70; sys_platform == "linux" and extra == "stable"
275
+ Requires-Dist: nvidia-cufft-cu12==11.2.1.3; sys_platform == "linux" and extra == "stable"
276
+ Requires-Dist: nvidia-curand-cu12==10.3.5.147; sys_platform == "linux" and extra == "stable"
277
+ Requires-Dist: nvidia-cusolver-cu12==11.6.1.9; sys_platform == "linux" and extra == "stable"
278
+ Requires-Dist: nvidia-cusparse-cu12==12.3.1.170; sys_platform == "linux" and extra == "stable"
279
+ Requires-Dist: nvidia-cusparselt-cu12==0.6.2; sys_platform == "linux" and extra == "stable"
280
+ Requires-Dist: nvidia-nccl-cu12==2.21.5; sys_platform == "linux" and extra == "stable"
281
+ Requires-Dist: nvidia-nvjitlink-cu12==12.4.127; sys_platform == "linux" and extra == "stable"
282
+ Requires-Dist: nvidia-nvtx-cu12==12.4.127; sys_platform == "linux" and extra == "stable"
283
+ Requires-Dist: packaging==24.2; extra == "stable"
284
+ Requires-Dist: pandas==2.2.3; extra == "stable"
285
+ Requires-Dist: peptdeep==1.3.2; extra == "stable"
286
+ Requires-Dist: pillow==11.1.0; extra == "stable"
287
+ Requires-Dist: psutil==7.0.0; extra == "stable"
288
+ Requires-Dist: pyahocorasick==2.1.0; extra == "stable"
289
+ Requires-Dist: pyarrow==19.0.1; extra == "stable"
290
+ Requires-Dist: pycparser==2.22; extra == "stable"
291
+ Requires-Dist: pyparsing==3.2.3; extra == "stable"
292
+ Requires-Dist: pyteomics==4.7.5; extra == "stable"
293
+ Requires-Dist: python-dateutil==2.9.0.post0; extra == "stable"
294
+ Requires-Dist: pythonnet==3.0.5; extra == "stable"
295
+ Requires-Dist: pytz==2025.2; extra == "stable"
296
+ Requires-Dist: pyyaml==6.0.2; extra == "stable"
297
+ Requires-Dist: pyzstd==0.16.2; extra == "stable"
298
+ Requires-Dist: rdkit==2024.9.6; extra == "stable"
299
+ Requires-Dist: regex==2024.11.6; extra == "stable"
300
+ Requires-Dist: requests==2.32.3; extra == "stable"
301
+ Requires-Dist: rocket-fft==0.2.5; extra == "stable"
302
+ Requires-Dist: safetensors==0.5.3; extra == "stable"
303
+ Requires-Dist: scikit-learn==1.6.1; extra == "stable"
260
304
  Requires-Dist: scipy==1.12.0; extra == "stable"
305
+ Requires-Dist: seaborn==0.13.2; extra == "stable"
306
+ Requires-Dist: setuptools==78.1.0; extra == "stable"
307
+ Requires-Dist: six==1.17.0; extra == "stable"
308
+ Requires-Dist: sympy==1.13.1; extra == "stable"
309
+ Requires-Dist: threadpoolctl==3.6.0; extra == "stable"
310
+ Requires-Dist: tokenizers==0.21.1; extra == "stable"
311
+ Requires-Dist: torch==2.6.0; (sys_platform != "darwin" or platform_machine != "x86_64") and extra == "stable"
312
+ Requires-Dist: torchmetrics==1.7.1; extra == "stable"
313
+ Requires-Dist: tqdm==4.67.1; extra == "stable"
314
+ Requires-Dist: transformers==4.51.2; extra == "stable"
315
+ Requires-Dist: triton==3.2.0; sys_platform == "linux" and extra == "stable"
316
+ Requires-Dist: typing-extensions==4.13.2; extra == "stable"
317
+ Requires-Dist: tzdata==2025.2; extra == "stable"
318
+ Requires-Dist: urllib3==2.4.0; extra == "stable"
319
+ Requires-Dist: xxhash==3.5.0; extra == "stable"
320
+ Requires-Dist: torch==2.2.2; (sys_platform == "darwin" and platform_machine == "x86_64") and extra == "stable"
261
321
  Provides-Extra: tests
262
322
  Requires-Dist: coverage; extra == "tests"
263
323
  Requires-Dist: coverage-badge; extra == "tests"
264
324
  Requires-Dist: pytest; extra == "tests"
325
+ Requires-Dist: neptune; extra == "tests"
265
326
  Provides-Extra: docs
266
327
  Requires-Dist: autodocsumm; extra == "docs"
267
328
  Requires-Dist: sphinx-rtd-theme; extra == "docs"
@@ -273,14 +334,11 @@ Requires-Dist: pandoc; extra == "docs"
273
334
  Provides-Extra: development
274
335
  Requires-Dist: jupyter; extra == "development"
275
336
  Requires-Dist: jupyter_contrib_nbextensions; extra == "development"
276
- Requires-Dist: pyinstaller; extra == "development"
277
- Requires-Dist: twine; extra == "development"
278
337
  Requires-Dist: bump-my-version; extra == "development"
279
338
  Requires-Dist: pipdeptree; extra == "development"
280
339
  Requires-Dist: ipykernel; extra == "development"
281
- Requires-Dist: psutil; extra == "development"
282
340
  Requires-Dist: pre-commit==3.7.0; extra == "development"
283
- Requires-Dist: pywin32; sys_platform == "win32" and extra == "development"
341
+ Requires-Dist: neptune; extra == "development"
284
342
  Requires-Dist: autodocsumm; extra == "development"
285
343
  Requires-Dist: sphinx-rtd-theme; extra == "development"
286
344
  Requires-Dist: nbsphinx; extra == "development"
@@ -288,6 +346,7 @@ Requires-Dist: myst_parser; extra == "development"
288
346
  Requires-Dist: sphinx_design; extra == "development"
289
347
  Requires-Dist: furo; extra == "development"
290
348
  Requires-Dist: pandoc; extra == "development"
349
+ Dynamic: license-file
291
350
 
292
351
  ![GitHub Release](https://img.shields.io/github/v/release/mannlabs/alphadia?logoColor=green&color=brightgreen)
293
352
  ![Versions](https://img.shields.io/badge/python-3.10_%7C_3.11_%7C_3.12-brightgreen)
@@ -365,15 +424,34 @@ AlphaDIA can be installed on Windows, macOS and Linux. Please choose the preferr
365
424
  * [**Slurm installation:**](docs/installation.md#slurm-cluster-installation) Choose this for running alphaDIA on a research cluster with Slurm.
366
425
 
367
426
  ### One-click GUI installation
368
- Currently available for **MacOS** and **Windows**.
369
427
  You can download the latest release of alphaDIA [here](https://github.com/Mannlabs/alphadia/releases/latest).
370
428
 
371
- * **Windows:** Download the latest `alphadia-X.Y.Z-windows-amd64.exe` build and double click it to install. If you receive a warning during installation click *Run anyway*.
372
- * **MacOS:** Download the latest build suitable for your chip architecture
429
+
430
+ #### Windows
431
+ Download the latest `alphadia-X.Y.Z-windows-amd64.exe` build and double click it to install. If you receive a warning during installation click *Run anyway*.
432
+ Important note: always install AlphaDIA into a new folder, as the installer will not properly overwrite existing installations.
433
+
434
+ #### Linux
435
+ If you want to use `.raw` files from Thermo instruments AlphaRaw is required, which depends on Mono.
436
+ A detailed guide to installing AlphaRaw with mono can be found [here](https://github.com/MannLabs/alpharaw#installation).
437
+
438
+ Download the latest `alphadia-X.Y.Z-linux-x64.deb` build and install it via `dpkg -i alphadia-X.Y.Z-linux-x64.deb`.
439
+
440
+ #### MacOS
441
+ If you want to use `.raw` files from Thermo instruments AlphaRaw is required, which depends on Mono.
442
+ A detailed guide to installing AlphaRaw with mono can be found [here](https://github.com/MannLabs/alpharaw#installation).
443
+
444
+ Download the latest build suitable for your chip architecture
373
445
  (can be looked up by clicking on the Apple Symbol > *About this Mac* > *Chip* ("M1", "M2", "M3" -> `arm64`, "Intel" -> `x64`),
374
446
  `alphadia-X.Y.Z-macos-darwin-arm64.pkg` or `alphadia-X.Y.Z-macos-darwin-x64.pkg`. Open the parent folder of the downloaded file in Finder,
375
- right-click and select *open*. If you receive a warning during installation click *Open*. If you want to use `.raw` files on Thermo instruments alphaRaw is required, which depends on Mono. A detailed guide to installing alphaRaw with mono can be found [here](https://github.com/MannLabs/alpharaw#installation).
376
- * **Linux:** Download the latest `alphadia-X.Y.Z-linux-x64.deb` build and install it via `dpkg -i alphadia-X.Y.Z-linux-x64.deb`.
447
+ right-click and select *open*. If you receive a warning during installation click *Open*.
448
+
449
+ In newer MacOS versions, additional steps are required to enable installation of unverified software.
450
+ This is indicated by a dialog telling you `“alphadia. ... .pkg” Not Opened`.
451
+ 1. Close this dialog by clicking `Done`.
452
+ 2. Choose `Apple menu` > `System Settings`, then `Privacy & Security` in the sidebar. (You may need to scroll down.)
453
+ 3. Go to `Security`, locate the line "alphadia.pkg was blocked to protect your Mac" then click `Open Anyway`.
454
+ 4. In the dialog windows, click `Open Anyway`.
377
455
 
378
456
 
379
457
  As of now, **Linux** users need follow the steps for the
@@ -387,10 +465,10 @@ you can install alphaDIA via `pip`.
387
465
  Please make sure you have a valid installation of conda or miniconda.
388
466
  We recommend setting up miniconda as described on their [website](https://docs.conda.io/projects/miniconda/en/latest/).
389
467
 
390
- If you want to use `.raw` files on Thermo instruments alphaRaw is required, which depends on Mono. A detailed guide to installing alphaRaw with mono can be found [here](https://github.com/MannLabs/alpharaw#installation).
468
+ If you want to use `.raw` files on Thermo instruments alphaRaw is required, which depends on Mono. A detailed guide to installing AlphaRaw with mono can be found [here](https://github.com/MannLabs/alpharaw#installation).
391
469
 
392
470
  #### 2. Setting up the environment
393
- For any Python package, it is highly recommended to use a separate, as otherwise dependancy conflicts can occur with already existing packages. We generally recommend [miniconda](https://docs.anaconda.com/free/miniconda/).
471
+ For any Python package, it is highly recommended to use a separate, as otherwise dependency conflicts can occur with already existing packages. We generally recommend [miniconda](https://docs.anaconda.com/free/miniconda/).
394
472
 
395
473
  Finally, alphaDIA and all its dependencies can be installed by
396
474
  ```bash
@@ -74,15 +74,34 @@ AlphaDIA can be installed on Windows, macOS and Linux. Please choose the preferr
74
74
  * [**Slurm installation:**](docs/installation.md#slurm-cluster-installation) Choose this for running alphaDIA on a research cluster with Slurm.
75
75
 
76
76
  ### One-click GUI installation
77
- Currently available for **MacOS** and **Windows**.
78
77
  You can download the latest release of alphaDIA [here](https://github.com/Mannlabs/alphadia/releases/latest).
79
78
 
80
- * **Windows:** Download the latest `alphadia-X.Y.Z-windows-amd64.exe` build and double click it to install. If you receive a warning during installation click *Run anyway*.
81
- * **MacOS:** Download the latest build suitable for your chip architecture
79
+
80
+ #### Windows
81
+ Download the latest `alphadia-X.Y.Z-windows-amd64.exe` build and double click it to install. If you receive a warning during installation click *Run anyway*.
82
+ Important note: always install AlphaDIA into a new folder, as the installer will not properly overwrite existing installations.
83
+
84
+ #### Linux
85
+ If you want to use `.raw` files from Thermo instruments AlphaRaw is required, which depends on Mono.
86
+ A detailed guide to installing AlphaRaw with mono can be found [here](https://github.com/MannLabs/alpharaw#installation).
87
+
88
+ Download the latest `alphadia-X.Y.Z-linux-x64.deb` build and install it via `dpkg -i alphadia-X.Y.Z-linux-x64.deb`.
89
+
90
+ #### MacOS
91
+ If you want to use `.raw` files from Thermo instruments AlphaRaw is required, which depends on Mono.
92
+ A detailed guide to installing AlphaRaw with mono can be found [here](https://github.com/MannLabs/alpharaw#installation).
93
+
94
+ Download the latest build suitable for your chip architecture
82
95
  (can be looked up by clicking on the Apple Symbol > *About this Mac* > *Chip* ("M1", "M2", "M3" -> `arm64`, "Intel" -> `x64`),
83
96
  `alphadia-X.Y.Z-macos-darwin-arm64.pkg` or `alphadia-X.Y.Z-macos-darwin-x64.pkg`. Open the parent folder of the downloaded file in Finder,
84
- right-click and select *open*. If you receive a warning during installation click *Open*. If you want to use `.raw` files on Thermo instruments alphaRaw is required, which depends on Mono. A detailed guide to installing alphaRaw with mono can be found [here](https://github.com/MannLabs/alpharaw#installation).
85
- * **Linux:** Download the latest `alphadia-X.Y.Z-linux-x64.deb` build and install it via `dpkg -i alphadia-X.Y.Z-linux-x64.deb`.
97
+ right-click and select *open*. If you receive a warning during installation click *Open*.
98
+
99
+ In newer MacOS versions, additional steps are required to enable installation of unverified software.
100
+ This is indicated by a dialog telling you `“alphadia. ... .pkg” Not Opened`.
101
+ 1. Close this dialog by clicking `Done`.
102
+ 2. Choose `Apple menu` > `System Settings`, then `Privacy & Security` in the sidebar. (You may need to scroll down.)
103
+ 3. Go to `Security`, locate the line "alphadia.pkg was blocked to protect your Mac" then click `Open Anyway`.
104
+ 4. In the dialog windows, click `Open Anyway`.
86
105
 
87
106
 
88
107
  As of now, **Linux** users need follow the steps for the
@@ -96,10 +115,10 @@ you can install alphaDIA via `pip`.
96
115
  Please make sure you have a valid installation of conda or miniconda.
97
116
  We recommend setting up miniconda as described on their [website](https://docs.conda.io/projects/miniconda/en/latest/).
98
117
 
99
- If you want to use `.raw` files on Thermo instruments alphaRaw is required, which depends on Mono. A detailed guide to installing alphaRaw with mono can be found [here](https://github.com/MannLabs/alpharaw#installation).
118
+ If you want to use `.raw` files on Thermo instruments alphaRaw is required, which depends on Mono. A detailed guide to installing AlphaRaw with mono can be found [here](https://github.com/MannLabs/alpharaw#installation).
100
119
 
101
120
  #### 2. Setting up the environment
102
- For any Python package, it is highly recommended to use a separate, as otherwise dependancy conflicts can occur with already existing packages. We generally recommend [miniconda](https://docs.anaconda.com/free/miniconda/).
121
+ For any Python package, it is highly recommended to use a separate, as otherwise dependency conflicts can occur with already existing packages. We generally recommend [miniconda](https://docs.anaconda.com/free/miniconda/).
103
122
 
104
123
  Finally, alphaDIA and all its dependencies can be installed by
105
124
  ```bash
@@ -0,0 +1,9 @@
1
+ #!python
2
+
3
+ import warnings
4
+
5
+ __version__ = "1.10.3"
6
+
7
+ warnings.filterwarnings(
8
+ "ignore", message="Dependency 'dask' not installed.", module="directlfq"
9
+ )
@@ -3,6 +3,7 @@
3
3
 
4
4
  Ideally the CLI module should have as little logic as possible so that the search behaves the same from the CLI or a jupyter notebook.
5
5
  """
6
+ # ruff: noqa: E402 # Module level import not at top of file
6
7
 
7
8
  import argparse
8
9
  import json
@@ -11,9 +12,11 @@ import os
11
12
  import re
12
13
  import sys
13
14
 
14
- import matplotlib
15
15
  import yaml
16
16
 
17
+ logging.getLogger("matplotlib.font_manager").setLevel(logging.ERROR)
18
+ import matplotlib # noqa: E402
19
+
17
20
  import alphadia
18
21
  from alphadia import utils
19
22
  from alphadia.constants.keys import ConfigKeys
@@ -10,13 +10,26 @@ fasta_paths: []
10
10
  quant_directory: null
11
11
 
12
12
  general:
13
+
13
14
  thread_count: 10
14
- # maximum number of threads or processes to use per raw file
15
+ # Enables separate transfer learning step
16
+ transfer_step_enabled: false
17
+
18
+ # Enables separate MBR step
19
+ mbr_step_enabled: true
20
+
21
+ # === advanced settings ===
22
+ # whether to reuse previously calculated calibration data
15
23
  reuse_calibration: false
24
+ # whether to reuse previously calculated quantification data
16
25
  reuse_quant: false
26
+ # whether to use Astral MS1 feature detection
17
27
  astral_ms1: false
28
+ # logging verbosity level (DEBUG, INFO, PROGRESS, WARNING, ERROR)
18
29
  log_level: 'INFO'
30
+ # whether to memory map detector events for improved performance
19
31
  mmap_detector_events: false
32
+ # whether to use GPU acceleration for library prediction and scoring
20
33
  use_gpu: true
21
34
  # whether to save the libraries to the output directory
22
35
  save_library: True # input library
@@ -27,25 +40,44 @@ library_loading:
27
40
  # if retention times are reported in absolute units, the rt_heuristic defines rt is interpreted as minutes or seconds
28
41
 
29
42
  library_prediction:
30
- predict: False
43
+ # Basic parameters
44
+ # whether to use alphaPeptDeep to predict peptide properties
45
+ enabled: false
46
+ # enzyme used for in-silico digest
31
47
  enzyme: trypsin
48
+ # fixed modifications for in-silico digest
49
+ # Format: Modification@AminoAcid
50
+ # Example: Carbamidomethyl@C
32
51
  fixed_modifications: 'Carbamidomethyl@C'
52
+ # variable modifications for in-silico digest. Semicolon separated list
53
+ # See https://github.com/MannLabs/alphabase/blob/c99c1ec7eb482745f6dae58a324658d6b6c4abf0/alphabase/constants/const_files/modification.tsv
54
+ # Format: Modification@AminoAcid
55
+ # Example: Oxidation@M;Acetyl@Protein_N-term
33
56
  variable_modifications: 'Oxidation@M;Acetyl@Protein_N-term'
57
+ # maximum number of variable modifications per peptide
34
58
  max_var_mod_num: 2
59
+ # number of missed cleavages allowed for in-silico digest
35
60
  missed_cleavages: 1
36
61
  # using tuples here as it makes interaction with the GUI easier
62
+ # minimum and maximum number of amino acids for generated precursors
37
63
  precursor_len:
38
64
  - 7
39
65
  - 35
66
+ # minimum and maximum charge states for generated precursors
40
67
  precursor_charge:
41
68
  - 2
42
69
  - 4
70
+ # minimum and maximum m/z values for generated precursors
43
71
  precursor_mz:
44
72
  - 400
45
73
  - 1200
74
+ # minimum and maximum m/z values for generated fragments
46
75
  fragment_mz:
47
76
  - 200
48
77
  - 2000
78
+
79
+ # === advanced settings ===
80
+ # normalized collision energy for fragment generation
49
81
  nce: 25.0
50
82
 
51
83
  # list of fragment types (see alphabase.peptide.fragment.FRAGMENT_TYPES for supported types)
@@ -56,13 +88,15 @@ library_prediction:
56
88
 
57
89
  # maximum charge state for predicted fragments
58
90
  max_fragment_charge: 2
91
+
92
+ # instrument types as supported by peptdeep. Leave this as Lumos if you are not 100% sure you know what you are changing
59
93
  instrument: Lumos
60
94
 
61
95
  # set path for custom peptdeep model. If set to null, the default model will be used
62
96
  peptdeep_model_path: null
63
97
 
64
- # set peptdeep model type. Possible values are 'generic', 'phospho', 'digly'. If set to null, the generic model will be used
65
- peptdeep_model_type: null
98
+ # set peptdeep model type. Possible values are 'generic', 'phospho', 'digly'.
99
+ peptdeep_model_type: 'generic'
66
100
 
67
101
  # define custom alphabase modifications not part of unimod or alphabase
68
102
  # also used for decoy channels
@@ -96,25 +130,27 @@ custom_modifications:
96
130
  composition: C(12)
97
131
 
98
132
  search:
99
- channel_filter: '0'
100
- exclude_shared_ions: True
101
- compete_for_fragments: True
102
-
103
- target_num_candidates: 2
104
133
  # target ms1 tolerance in ppm
105
134
  target_ms1_tolerance: 5
106
135
  # target ms2 tolerance in ppm
107
136
  target_ms2_tolerance: 10
108
- # target ion mobility tolerance in 1/K_0
109
- target_mobility_tolerance: 0.0 # default is to optimize automatically
110
- # target retention time tolerance in seconds if > 1, or a proportion of the total gradient length if < 1
137
+ # target retention time tolerance in seconds if > 1, or a proportion of the total gradient length if < 1. 0.0 means to optimize automatically
111
138
  target_rt_tolerance: 0.0 # default is to optimize automatically
139
+ # target ion mobility tolerance in 1/K_0
140
+ target_mobility_tolerance: 0.0 # default is to optimize automatically
112
141
 
142
+ # === advanced settings ===
113
143
  quant_window: 3
144
+ target_num_candidates: 3
145
+ # filter to apply to the channels. If set to "", all channels will be used.
146
+ channel_filter: ""
147
+ exclude_shared_ions: True
148
+ compete_for_fragments: True
149
+ # target retention time tolerance in seconds if > 1, or a proportion of the total gradient length if < 1
114
150
  quant_all: True
115
-
116
- search_advanced:
117
151
  top_k_fragments: 12
152
+ experimental_xic: True
153
+
118
154
 
119
155
  calibration:
120
156
 
@@ -235,10 +271,14 @@ multiplexing:
235
271
  fdr:
236
272
  fdr: 0.01
237
273
  group_level: 'proteins'
274
+ inference_strategy: "heuristic"
275
+
276
+
277
+ # === advanced settings ===
238
278
  competetive_scoring: true
239
279
  keep_decoys: false
240
280
  channel_wise_fdr: false
241
- inference_strategy: "heuristic"
281
+
242
282
  # (Experimental)
243
283
  # uses a two-step classifier consisting of a logistic regression and a neural network, with a default maximum of 5 iterations per fitting call
244
284
  enable_two_step_classifier: false
@@ -248,15 +288,27 @@ fdr:
248
288
  enable_nn_hyperparameter_tuning: false
249
289
 
250
290
  search_output:
291
+ # Output file format for search results. Can be either "tsv" or "parquet"
292
+ file_format: "tsv"
293
+ # Enable label-free quantification at peptide level and generate peptide matrix
251
294
  peptide_level_lfq: false
295
+ # Enable label-free quantification at precursor level and generate precursor matrix
252
296
  precursor_level_lfq: false
297
+
298
+ # === advanced settings ===
299
+ # Minimum number of fragments required for quantification
253
300
  min_k_fragments: 12
301
+ # Minimum correlation required between fragment XICs for quantification
254
302
  min_correlation: 0.9
303
+ # Number of samples used for quadratic fit in retention time alignment
255
304
  num_samples_quadratic: 50
305
+ # Minimum number of non-missing values required for quantification
256
306
  min_nonnan: 3
307
+ # Enable normalization of label-free quantification values
257
308
  normalize_lfq: True
258
- # can be either "parquet" or "tsv"
259
- file_format: "tsv"
309
+
310
+ # Save fragment quant matrix for advanced users
311
+ save_fragment_quant_matrix: False
260
312
 
261
313
  # Configuration for the optimization of search parameters. These parameters should not normally be adjusted and are for the use of experienced users only.
262
314
  optimization:
@@ -334,6 +386,8 @@ transfer_library:
334
386
  # if true, the library is created for transfer learning
335
387
  enabled: False
336
388
 
389
+ # === advanced settings ===
390
+
337
391
  # list of fragment types (see alphabase.peptide.fragment.FRAGMENT_TYPES for supported types)
338
392
  # Supported types are: a, b, c, x, y, z, b_modloss, y_modloss, b_H2O, y_H2O, b_NH3, y_NH3, c_lossH, z_addH
339
393
  fragment_types: ['b', 'y']
@@ -361,6 +415,8 @@ transfer_learning:
361
415
  # if true, a custom peptdeep model will be created using the transfer learned library
362
416
  enabled: False
363
417
 
418
+ # === advanced settings ===
419
+
364
420
  # number of precursors per batch
365
421
  batch_size: 2000
366
422
 
@@ -394,9 +450,3 @@ transfer_learning:
394
450
 
395
451
  # instrument type encoded during training
396
452
  instrument: 'Lumos'
397
-
398
-
399
- # scope of default yaml should be one search step
400
- multistep_search:
401
- transfer_step_enabled: False
402
- mbr_step_enabled: False
@@ -32,3 +32,9 @@ class ConfigKeys(metaclass=ConstantsClass):
32
32
  RAW_PATHS = "raw_paths"
33
33
  FASTA_PATHS = "fasta_paths"
34
34
  QUANT_DIRECTORY = "quant_directory"
35
+
36
+
37
+ class SearchStepFiles(metaclass=ConstantsClass):
38
+ PSM_FILE_NAME = "psm.parquet"
39
+ FRAG_FILE_NAME = "frag.parquet"
40
+ FRAG_TRANSFER_FILE_NAME = "frag.transfer.parquet"
@@ -34,6 +34,7 @@ library:
34
34
  enabled: False
35
35
 
36
36
  mbr:
37
+ fasta_paths: []
37
38
  fdr:
38
39
  inference_strategy: library
39
40
  search:
@@ -43,7 +44,7 @@ mbr:
43
44
  general:
44
45
  reuse_quant: False
45
46
  library_prediction:
46
- predict: False
47
+ enabled: False
47
48
  transfer_library:
48
49
  enabled: False
49
50
  transfer_learning:
@@ -40,6 +40,16 @@ class UserError(CustomError):
40
40
  """
41
41
 
42
42
 
43
+ class GenericUserError(UserError):
44
+ """Raise when something is wrong with the user."""
45
+
46
+ _error_code = "USER_ERROR"
47
+
48
+ def __init__(self, msg: str, detail_msg: str = ""):
49
+ self._msg = msg
50
+ self._detail_msg = detail_msg
51
+
52
+
43
53
  class NoPsmFoundError(BusinessError):
44
54
  """Raise when no PSMs are found in the search results."""
45
55