masster 0.4.2__tar.gz → 0.4.4__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.
Potentially problematic release.
This version of masster might be problematic. Click here for more details.
- masster-0.4.4/MANIFEST.in +8 -0
- masster-0.4.4/PKG-INFO +129 -0
- {masster-0.4.2 → masster-0.4.4}/pyproject.toml +26 -5
- masster-0.4.4/setup.cfg +4 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/_version.py +1 -1
- masster-0.4.4/src/masster/data/libs/__pycache__/ccm.cpython-312.pyc +0 -0
- masster-0.4.4/src/masster/data/libs/__pycache__/urine.cpython-312.pyc +0 -0
- masster-0.4.4/src/masster/lib/__init__.py +9 -0
- masster-0.4.4/src/masster/lib/lib.py +598 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/study/helpers.py +103 -8
- masster-0.4.4/src/masster.egg-info/PKG-INFO +129 -0
- masster-0.4.4/src/masster.egg-info/SOURCES.txt +75 -0
- masster-0.4.4/src/masster.egg-info/dependency_links.txt +1 -0
- masster-0.4.4/src/masster.egg-info/entry_points.txt +2 -0
- masster-0.4.4/src/masster.egg-info/requires.txt +46 -0
- masster-0.4.4/src/masster.egg-info/top_level.txt +1 -0
- masster-0.4.2/.github/workflows/publish.yml +0 -174
- masster-0.4.2/.github/workflows/security.yml +0 -88
- masster-0.4.2/.github/workflows/test.yml +0 -164
- masster-0.4.2/.gitignore +0 -210
- masster-0.4.2/.pre-commit-config.yaml +0 -96
- masster-0.4.2/MASSter.png +0 -0
- masster-0.4.2/Makefile +0 -76
- masster-0.4.2/PKG-INFO +0 -789
- masster-0.4.2/TESTING.md +0 -243
- masster-0.4.2/demo/example_batch_process.py +0 -0
- masster-0.4.2/demo/example_sample_process.py +0 -0
- masster-0.4.2/tests/conftest.py +0 -0
- masster-0.4.2/tests/test_chromatogram.py +0 -0
- masster-0.4.2/tests/test_defaults.py +0 -0
- masster-0.4.2/tests/test_imports.py +0 -0
- masster-0.4.2/tests/test_integration.py +0 -0
- masster-0.4.2/tests/test_logger.py +0 -0
- masster-0.4.2/tests/test_parameters.py +0 -0
- masster-0.4.2/tests/test_sample.py +0 -0
- masster-0.4.2/tests/test_spectrum.py +0 -0
- masster-0.4.2/tests/test_study.py +0 -0
- masster-0.4.2/tests/test_version.py +0 -0
- masster-0.4.2/tox.ini +0 -61
- masster-0.4.2/uv.lock +0 -3595
- {masster-0.4.2 → masster-0.4.4}/LICENSE +0 -0
- {masster-0.4.2 → masster-0.4.4}/README.md +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/__init__.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/chromatogram.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/data/dda/20250530_VH_IQX_KW_RP_HSST3_100mm_12min_pos_v4_DDA_OT_C-MiLUT_QC_dil2_01_20250602151849.sample5 +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/data/dda/20250530_VH_IQX_KW_RP_HSST3_100mm_12min_pos_v4_DDA_OT_C-MiLUT_QC_dil3_01_20250602150634.sample5 +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/data/dda/20250530_VH_IQX_KW_RP_HSST3_100mm_12min_pos_v4_MS1_C-MiLUT_C008_v6_r38_01.sample5 +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/data/dda/20250530_VH_IQX_KW_RP_HSST3_100mm_12min_pos_v4_MS1_C-MiLUT_C008_v7_r37_01.sample5 +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/data/dda/20250530_VH_IQX_KW_RP_HSST3_100mm_12min_pos_v4_MS1_C-MiLUT_C017_v5_r99_01.sample5 +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/data/libs/ccm.csv +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/data/libs/urine.csv +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/data/wiff/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.timeseries.data +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/data/wiff/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.wiff +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/data/wiff/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.wiff.scan +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/data/wiff/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.wiff2 +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/logger.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/sample/__init__.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/sample/adducts.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/sample/defaults/__init__.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/sample/defaults/find_adducts_def.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/sample/defaults/find_features_def.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/sample/defaults/find_ms2_def.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/sample/defaults/get_spectrum_def.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/sample/defaults/sample_def.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/sample/h5.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/sample/helpers.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/sample/lib.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/sample/load.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/sample/parameters.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/sample/plot.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/sample/processing.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/sample/quant.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/sample/sample.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/sample/sample5_schema.json +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/sample/save.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/sample/sciex.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/spectrum.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/study/__init__.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/study/defaults/__init__.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/study/defaults/align_def.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/study/defaults/export_def.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/study/defaults/fill_chrom_def.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/study/defaults/fill_def.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/study/defaults/find_consensus_def.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/study/defaults/find_ms2_def.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/study/defaults/identify_def.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/study/defaults/integrate_chrom_def.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/study/defaults/integrate_def.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/study/defaults/merge_def.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/study/defaults/study_def.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/study/export.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/study/h5.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/study/helpers_optimized.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/study/id.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/study/load.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/study/parameters.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/study/plot.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/study/processing.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/study/save.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/study/study.py +0 -0
- {masster-0.4.2 → masster-0.4.4}/src/masster/study/study5_schema.json +0 -0
masster-0.4.4/PKG-INFO
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: masster
|
|
3
|
+
Version: 0.4.4
|
|
4
|
+
Summary: Mass spectrometry data analysis package
|
|
5
|
+
Author: Zamboni Lab
|
|
6
|
+
License-Expression: AGPL-3.0-only
|
|
7
|
+
Project-URL: homepage, https://github.com/zamboni-lab/masster
|
|
8
|
+
Project-URL: repository, https://github.com/zamboni-lab/masster
|
|
9
|
+
Project-URL: documentation, https://github.com/zamboni-lab/masster#readme
|
|
10
|
+
Keywords: mass spectrometry,metabolomics,lc-ms,chromatography
|
|
11
|
+
Classifier: Development Status :: 3 - Alpha
|
|
12
|
+
Classifier: Intended Audience :: Science/Research
|
|
13
|
+
Classifier: Operating System :: OS Independent
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
+
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
|
|
19
|
+
Classifier: Topic :: Scientific/Engineering :: Chemistry
|
|
20
|
+
Requires-Python: >=3.11
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
License-File: LICENSE
|
|
23
|
+
Requires-Dist: alpharaw>=0.4.8
|
|
24
|
+
Requires-Dist: bokeh>=3.7.3
|
|
25
|
+
Requires-Dist: datashader>=0.18.1
|
|
26
|
+
Requires-Dist: holoviews>=1.21.0
|
|
27
|
+
Requires-Dist: h5py>=3.14.0
|
|
28
|
+
Requires-Dist: hvplot>=0.11.3
|
|
29
|
+
Requires-Dist: loguru>=0.7.3
|
|
30
|
+
Requires-Dist: numpy>=2.0.0
|
|
31
|
+
Requires-Dist: marimo>=0.14.16
|
|
32
|
+
Requires-Dist: matplotlib>=3.8.0
|
|
33
|
+
Requires-Dist: pandas>=2.2.0
|
|
34
|
+
Requires-Dist: panel>=1.7.0
|
|
35
|
+
Requires-Dist: polars>=1.0.0
|
|
36
|
+
Requires-Dist: pyopenms>=3.3.0
|
|
37
|
+
Requires-Dist: pyteomics>=4.7.0
|
|
38
|
+
Requires-Dist: pythonnet>=3.0.0
|
|
39
|
+
Requires-Dist: scipy>=1.12.0
|
|
40
|
+
Requires-Dist: tqdm>=4.65.0
|
|
41
|
+
Requires-Dist: openpyxl>=3.1.5
|
|
42
|
+
Requires-Dist: cmap>=0.6.2
|
|
43
|
+
Requires-Dist: altair>=5.5.0
|
|
44
|
+
Provides-Extra: dev
|
|
45
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
46
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
|
|
47
|
+
Requires-Dist: pytest-mock>=3.10.0; extra == "dev"
|
|
48
|
+
Requires-Dist: black>=23.0.0; extra == "dev"
|
|
49
|
+
Requires-Dist: flake8>=5.0.0; extra == "dev"
|
|
50
|
+
Requires-Dist: mypy>=1.0.0; extra == "dev"
|
|
51
|
+
Requires-Dist: pre-commit>=3.0.0; extra == "dev"
|
|
52
|
+
Requires-Dist: twine>=4.0.0; extra == "dev"
|
|
53
|
+
Requires-Dist: build>=0.10.0; extra == "dev"
|
|
54
|
+
Requires-Dist: safety>=2.0.0; extra == "dev"
|
|
55
|
+
Requires-Dist: bandit>=1.7.0; extra == "dev"
|
|
56
|
+
Requires-Dist: pyyaml>=6.0; extra == "dev"
|
|
57
|
+
Provides-Extra: docs
|
|
58
|
+
Requires-Dist: sphinx>=5.0.0; extra == "docs"
|
|
59
|
+
Requires-Dist: sphinx-rtd-theme>=1.2.0; extra == "docs"
|
|
60
|
+
Requires-Dist: sphinxcontrib-napoleon>=0.7; extra == "docs"
|
|
61
|
+
Provides-Extra: test
|
|
62
|
+
Requires-Dist: pytest>=7.0.0; extra == "test"
|
|
63
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == "test"
|
|
64
|
+
Requires-Dist: pytest-mock>=3.10.0; extra == "test"
|
|
65
|
+
Requires-Dist: coverage>=7.0.0; extra == "test"
|
|
66
|
+
Dynamic: license-file
|
|
67
|
+
|
|
68
|
+
# MASSter
|
|
69
|
+
|
|
70
|
+
**MASSter** is a comprehensive Python package for mass spectrometry data analysis, designed for metabolomics and LC-MS data processing. It provides tools for feature detection, alignment, consensus building, and interactive visualization of mass spectrometry datasets. It is designed to deal with DDA, and hides functionalities for DIA and ZTScan DIA data.
|
|
71
|
+
|
|
72
|
+
This is a poorly documented, stable branch of the development codebase in use in the Zamboni lab.
|
|
73
|
+
|
|
74
|
+
Some of the core processing functions are derived from OpenMS. We use the same nomenclature and refer to their documentation for an explanation of the parameters. To a large extent, however, you should be able to use the defaults (=no parameters) when calling processing steps.
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
## Installation
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
pip install master
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Basic Workflow for analyzing LC-MS study with 2-... samples
|
|
84
|
+
|
|
85
|
+
```python
|
|
86
|
+
import master
|
|
87
|
+
|
|
88
|
+
# Initialize the Study object with the default folder
|
|
89
|
+
study = master.Study(default_folder=r'D:\...\mylcms')
|
|
90
|
+
|
|
91
|
+
# Load data from folder with raw data, here: WIFF
|
|
92
|
+
study.add(r'D:\...\...\...\*.wiff')
|
|
93
|
+
|
|
94
|
+
# Perform retention time correction
|
|
95
|
+
study.align(rt_max_diff=2.0)
|
|
96
|
+
study.plot_alignment()
|
|
97
|
+
|
|
98
|
+
# Find consensus features
|
|
99
|
+
study.merge(min_samples=3)
|
|
100
|
+
study.plot_consensus_2d()
|
|
101
|
+
|
|
102
|
+
# Retrieve missing data for quantification
|
|
103
|
+
study.fill()
|
|
104
|
+
|
|
105
|
+
# Integrate according to consensus metadata
|
|
106
|
+
study.integrate()
|
|
107
|
+
|
|
108
|
+
# export results
|
|
109
|
+
study.export_mgf()
|
|
110
|
+
study.export_mztab()
|
|
111
|
+
study.export_consensus()
|
|
112
|
+
|
|
113
|
+
# Save the study to .study5
|
|
114
|
+
study.save()
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Requirements
|
|
118
|
+
|
|
119
|
+
- Python ≥ 3.11
|
|
120
|
+
- Key dependencies: pandas, polars, numpy, scipy, matplotlib, bokeh, holoviews, panel
|
|
121
|
+
- See `pyproject.toml` for complete dependency list
|
|
122
|
+
|
|
123
|
+
## License
|
|
124
|
+
|
|
125
|
+
GNU Affero General Public License v3
|
|
126
|
+
|
|
127
|
+
## Citation
|
|
128
|
+
|
|
129
|
+
If you use Master in your research, please cite this repository.
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
|
|
2
2
|
[project]
|
|
3
3
|
name = "masster"
|
|
4
|
-
version = "0.4.
|
|
4
|
+
version = "0.4.4"
|
|
5
5
|
description = "Mass spectrometry data analysis package"
|
|
6
6
|
authors = [
|
|
7
7
|
{ name = "Zamboni Lab" }
|
|
8
8
|
]
|
|
9
|
-
license
|
|
9
|
+
# Use SPDX expression for license (replaces deprecated TOML table form)
|
|
10
|
+
license = "AGPL-3.0-only"
|
|
11
|
+
license-files = ["LICENSE"]
|
|
10
12
|
readme = "README.md"
|
|
11
13
|
requires-python = ">=3.11"
|
|
12
14
|
keywords = ["mass spectrometry", "metabolomics", "lc-ms", "chromatography"]
|
|
13
15
|
classifiers = [
|
|
14
16
|
"Development Status :: 3 - Alpha",
|
|
15
17
|
"Intended Audience :: Science/Research",
|
|
16
|
-
"License :: OSI Approved :: GNU Affero General Public License v3",
|
|
17
18
|
"Operating System :: OS Independent",
|
|
18
19
|
"Programming Language :: Python :: 3",
|
|
19
20
|
"Programming Language :: Python :: 3.11",
|
|
@@ -80,8 +81,28 @@ test = [
|
|
|
80
81
|
masster-version = "masster._version:main"
|
|
81
82
|
|
|
82
83
|
[build-system]
|
|
83
|
-
requires = ["
|
|
84
|
-
build-backend = "
|
|
84
|
+
requires = ["setuptools>=65.5.0", "wheel"]
|
|
85
|
+
build-backend = "setuptools.build_meta"
|
|
86
|
+
|
|
87
|
+
# Use setuptools package discovery for the `src/` layout so all subpackages
|
|
88
|
+
# under `src/masster` (including `lib`) are included in the distribution.
|
|
89
|
+
[tool.setuptools.packages.find]
|
|
90
|
+
where = ["src"]
|
|
91
|
+
include = ["masster*"]
|
|
92
|
+
exclude = ["tests*", "tests.*"]
|
|
93
|
+
|
|
94
|
+
[tool.setuptools]
|
|
95
|
+
# Do not automatically include files from MANIFEST.in as package data; we declare package-data explicitly
|
|
96
|
+
include-package-data = false
|
|
97
|
+
|
|
98
|
+
# Include JSON schema files and other non-Python resources packaged under masster
|
|
99
|
+
[tool.setuptools.package-data]
|
|
100
|
+
"masster" = [
|
|
101
|
+
"sample/*.json",
|
|
102
|
+
"study/*.json",
|
|
103
|
+
# include data files (recursive)
|
|
104
|
+
"data/**",
|
|
105
|
+
]
|
|
85
106
|
|
|
86
107
|
# Testing configuration
|
|
87
108
|
[tool.pytest.ini_options]
|
masster-0.4.4/setup.cfg
ADDED
|
Binary file
|
|
Binary file
|