masster 0.4.4__tar.gz → 0.4.6__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.

Files changed (77) hide show
  1. {masster-0.4.4/src/masster.egg-info → masster-0.4.6}/PKG-INFO +5 -3
  2. {masster-0.4.4 → masster-0.4.6}/pyproject.toml +5 -3
  3. {masster-0.4.4 → masster-0.4.6}/src/masster/chromatogram.py +2 -2
  4. {masster-0.4.4 → masster-0.4.6}/src/masster/data/libs/urine.csv +3 -3
  5. {masster-0.4.4 → masster-0.4.6}/src/masster/logger.py +8 -8
  6. {masster-0.4.4 → masster-0.4.6}/src/masster/sample/adducts.py +337 -263
  7. {masster-0.4.4 → masster-0.4.6}/src/masster/sample/defaults/find_adducts_def.py +21 -8
  8. {masster-0.4.4 → masster-0.4.6}/src/masster/sample/h5.py +557 -278
  9. {masster-0.4.4 → masster-0.4.6}/src/masster/sample/helpers.py +131 -75
  10. {masster-0.4.4 → masster-0.4.6}/src/masster/sample/lib.py +2 -2
  11. {masster-0.4.4 → masster-0.4.6}/src/masster/sample/load.py +25 -11
  12. {masster-0.4.4 → masster-0.4.6}/src/masster/sample/plot.py +5 -5
  13. {masster-0.4.4 → masster-0.4.6}/src/masster/sample/processing.py +115 -85
  14. {masster-0.4.4 → masster-0.4.6}/src/masster/sample/sample.py +28 -15
  15. {masster-0.4.4 → masster-0.4.6}/src/masster/sample/sample5_schema.json +44 -44
  16. {masster-0.4.4 → masster-0.4.6}/src/masster/sample/save.py +34 -11
  17. {masster-0.4.4 → masster-0.4.6}/src/masster/spectrum.py +2 -2
  18. {masster-0.4.4 → masster-0.4.6}/src/masster/study/defaults/align_def.py +5 -1
  19. {masster-0.4.4 → masster-0.4.6}/src/masster/study/defaults/identify_def.py +3 -1
  20. {masster-0.4.4 → masster-0.4.6}/src/masster/study/defaults/study_def.py +58 -25
  21. {masster-0.4.4 → masster-0.4.6}/src/masster/study/export.py +354 -204
  22. {masster-0.4.4 → masster-0.4.6}/src/masster/study/h5.py +557 -155
  23. {masster-0.4.4 → masster-0.4.6}/src/masster/study/helpers.py +487 -194
  24. {masster-0.4.4 → masster-0.4.6}/src/masster/study/id.py +536 -347
  25. {masster-0.4.4 → masster-0.4.6}/src/masster/study/load.py +228 -138
  26. {masster-0.4.4 → masster-0.4.6}/src/masster/study/plot.py +68 -68
  27. {masster-0.4.4 → masster-0.4.6}/src/masster/study/processing.py +455 -253
  28. {masster-0.4.4 → masster-0.4.6}/src/masster/study/save.py +14 -4
  29. {masster-0.4.4 → masster-0.4.6}/src/masster/study/study.py +122 -40
  30. {masster-0.4.4 → masster-0.4.6}/src/masster/study/study5_schema.json +149 -149
  31. {masster-0.4.4 → masster-0.4.6/src/masster.egg-info}/PKG-INFO +5 -3
  32. {masster-0.4.4 → masster-0.4.6}/src/masster.egg-info/requires.txt +4 -2
  33. {masster-0.4.4 → masster-0.4.6}/LICENSE +0 -0
  34. {masster-0.4.4 → masster-0.4.6}/MANIFEST.in +0 -0
  35. {masster-0.4.4 → masster-0.4.6}/README.md +0 -0
  36. {masster-0.4.4 → masster-0.4.6}/setup.cfg +0 -0
  37. {masster-0.4.4 → masster-0.4.6}/src/masster/__init__.py +0 -0
  38. {masster-0.4.4 → masster-0.4.6}/src/masster/_version.py +0 -0
  39. {masster-0.4.4 → masster-0.4.6}/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
  40. {masster-0.4.4 → masster-0.4.6}/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
  41. {masster-0.4.4 → masster-0.4.6}/src/masster/data/dda/20250530_VH_IQX_KW_RP_HSST3_100mm_12min_pos_v4_MS1_C-MiLUT_C008_v6_r38_01.sample5 +0 -0
  42. {masster-0.4.4 → masster-0.4.6}/src/masster/data/dda/20250530_VH_IQX_KW_RP_HSST3_100mm_12min_pos_v4_MS1_C-MiLUT_C008_v7_r37_01.sample5 +0 -0
  43. {masster-0.4.4 → masster-0.4.6}/src/masster/data/dda/20250530_VH_IQX_KW_RP_HSST3_100mm_12min_pos_v4_MS1_C-MiLUT_C017_v5_r99_01.sample5 +0 -0
  44. {masster-0.4.4 → masster-0.4.6}/src/masster/data/libs/__pycache__/ccm.cpython-312.pyc +0 -0
  45. {masster-0.4.4 → masster-0.4.6}/src/masster/data/libs/__pycache__/urine.cpython-312.pyc +0 -0
  46. {masster-0.4.4 → masster-0.4.6}/src/masster/data/libs/ccm.csv +0 -0
  47. {masster-0.4.4 → masster-0.4.6}/src/masster/data/wiff/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.timeseries.data +0 -0
  48. {masster-0.4.4 → masster-0.4.6}/src/masster/data/wiff/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.wiff +0 -0
  49. {masster-0.4.4 → masster-0.4.6}/src/masster/data/wiff/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.wiff.scan +0 -0
  50. {masster-0.4.4 → masster-0.4.6}/src/masster/data/wiff/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.wiff2 +0 -0
  51. {masster-0.4.4 → masster-0.4.6}/src/masster/lib/__init__.py +0 -0
  52. {masster-0.4.4 → masster-0.4.6}/src/masster/lib/lib.py +0 -0
  53. {masster-0.4.4 → masster-0.4.6}/src/masster/sample/__init__.py +0 -0
  54. {masster-0.4.4 → masster-0.4.6}/src/masster/sample/defaults/__init__.py +0 -0
  55. {masster-0.4.4 → masster-0.4.6}/src/masster/sample/defaults/find_features_def.py +0 -0
  56. {masster-0.4.4 → masster-0.4.6}/src/masster/sample/defaults/find_ms2_def.py +0 -0
  57. {masster-0.4.4 → masster-0.4.6}/src/masster/sample/defaults/get_spectrum_def.py +0 -0
  58. {masster-0.4.4 → masster-0.4.6}/src/masster/sample/defaults/sample_def.py +0 -0
  59. {masster-0.4.4 → masster-0.4.6}/src/masster/sample/parameters.py +0 -0
  60. {masster-0.4.4 → masster-0.4.6}/src/masster/sample/quant.py +0 -0
  61. {masster-0.4.4 → masster-0.4.6}/src/masster/sample/sciex.py +0 -0
  62. {masster-0.4.4 → masster-0.4.6}/src/masster/study/__init__.py +0 -0
  63. {masster-0.4.4 → masster-0.4.6}/src/masster/study/defaults/__init__.py +0 -0
  64. {masster-0.4.4 → masster-0.4.6}/src/masster/study/defaults/export_def.py +0 -0
  65. {masster-0.4.4 → masster-0.4.6}/src/masster/study/defaults/fill_chrom_def.py +0 -0
  66. {masster-0.4.4 → masster-0.4.6}/src/masster/study/defaults/fill_def.py +0 -0
  67. {masster-0.4.4 → masster-0.4.6}/src/masster/study/defaults/find_consensus_def.py +0 -0
  68. {masster-0.4.4 → masster-0.4.6}/src/masster/study/defaults/find_ms2_def.py +0 -0
  69. {masster-0.4.4 → masster-0.4.6}/src/masster/study/defaults/integrate_chrom_def.py +0 -0
  70. {masster-0.4.4 → masster-0.4.6}/src/masster/study/defaults/integrate_def.py +0 -0
  71. {masster-0.4.4 → masster-0.4.6}/src/masster/study/defaults/merge_def.py +0 -0
  72. {masster-0.4.4 → masster-0.4.6}/src/masster/study/helpers_optimized.py +0 -0
  73. {masster-0.4.4 → masster-0.4.6}/src/masster/study/parameters.py +0 -0
  74. {masster-0.4.4 → masster-0.4.6}/src/masster.egg-info/SOURCES.txt +0 -0
  75. {masster-0.4.4 → masster-0.4.6}/src/masster.egg-info/dependency_links.txt +0 -0
  76. {masster-0.4.4 → masster-0.4.6}/src/masster.egg-info/entry_points.txt +0 -0
  77. {masster-0.4.4 → masster-0.4.6}/src/masster.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: masster
3
- Version: 0.4.4
3
+ Version: 0.4.6
4
4
  Summary: Mass spectrometry data analysis package
5
5
  Author: Zamboni Lab
6
6
  License-Expression: AGPL-3.0-only
@@ -32,15 +32,17 @@ Requires-Dist: marimo>=0.14.16
32
32
  Requires-Dist: matplotlib>=3.8.0
33
33
  Requires-Dist: pandas>=2.2.0
34
34
  Requires-Dist: panel>=1.7.0
35
- Requires-Dist: polars>=1.0.0
36
35
  Requires-Dist: pyopenms>=3.3.0
37
36
  Requires-Dist: pyteomics>=4.7.0
38
37
  Requires-Dist: pythonnet>=3.0.0
39
- Requires-Dist: scipy>=1.12.0
40
38
  Requires-Dist: tqdm>=4.65.0
41
39
  Requires-Dist: openpyxl>=3.1.5
42
40
  Requires-Dist: cmap>=0.6.2
43
41
  Requires-Dist: altair>=5.5.0
42
+ Requires-Dist: scikit-learn>=1.7.1
43
+ Requires-Dist: ipython>=9.4.0
44
+ Requires-Dist: scipy>=1.14.1
45
+ Requires-Dist: polars>=1.32.3
44
46
  Provides-Extra: dev
45
47
  Requires-Dist: pytest>=7.0.0; extra == "dev"
46
48
  Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
@@ -1,7 +1,7 @@
1
1
 
2
2
  [project]
3
3
  name = "masster"
4
- version = "0.4.4"
4
+ version = "0.4.6"
5
5
  description = "Mass spectrometry data analysis package"
6
6
  authors = [
7
7
  { name = "Zamboni Lab" }
@@ -39,15 +39,17 @@ dependencies = [
39
39
  "matplotlib>=3.8.0",
40
40
  "pandas>=2.2.0",
41
41
  "panel>=1.7.0",
42
- "polars>=1.0.0",
43
42
  "pyopenms>=3.3.0",
44
43
  "pyteomics>=4.7.0",
45
44
  "pythonnet>=3.0.0",
46
- "scipy>=1.12.0",
47
45
  "tqdm>=4.65.0",
48
46
  "openpyxl>=3.1.5",
49
47
  "cmap>=0.6.2",
50
48
  "altair>=5.5.0",
49
+ "scikit-learn>=1.7.1",
50
+ "ipython>=9.4.0",
51
+ "scipy>=1.14.1",
52
+ "polars>=1.32.3",
51
53
  ]
52
54
 
53
55
  [project.optional-dependencies]
@@ -88,10 +88,10 @@ class Chromatogram:
88
88
 
89
89
  Example Usage:
90
90
  >>> import numpy as np
91
- >>> from masster import chrom
91
+ >>> from masster import Chromatogram
92
92
  >>> rt = np.linspace(0, 300, 1000)
93
93
  >>> intensity = np.random.normal(1000, 100, 1000)
94
- >>> chromatogram = chrom(rt=rt, inty=intensity, label="EIC m/z 150")
94
+ >>> chromatogram = Chromatogram(rt=rt, inty=intensity, label="EIC m/z 150")
95
95
  >>> chromatogram.find_peaks()
96
96
  >>> chromatogram.calculate_area()
97
97
 
@@ -927,7 +927,7 @@ Lead,[Pb++],RVPVRDXYQKGNMQ-UHFFFAOYSA-N,Pb,CID:122121,pubchem
927
927
  O-Desmethylangolensin,CC(C(=O)C1=C(O)C=C(O)C=C1)C1=CC=C(O)C=C1,JDJPNKPFDDUBFV-UHFFFAOYSA-N,C15H14O4,CID:89472,pubchem
928
928
  8-Isoprostane,[H][C@@]1(CCCCCCC)CCC[C@]1([H])CCCCCCCC,UKVVPDHLUHAJNZ-UXHICEINSA-N,C20H40,CID:107873,pubchem
929
929
  "MG(0:0/20:4(5Z,8Z,11Z,14Z)/0:0)",[H]C(CO)(CO)OC(=O)CCC\C=C/C\C=C/C\C=C/C\C=C/CCCCC,RCRCTBLIHCHWDZ-DOFZRALJSA-N,C23H38O4,CID:5282280,pubchem
930
- 13-HODE,CCCCC[C@H](O)\C=C\C=C/CCCCCCCC(O)=O,HNICUWMFWZBIFP-IRQZEAMPSA-N,C18H32O3,CID:6443013,pubchem
930
+ 13-NODE,CCCCC[C@H](O)\C=C\C=C/CCCCCCCC(O)=O,HNICUWMFWZBIFP-IRQZEAMPSA-N,C18H32O3,CID:6443013,pubchem
931
931
  7C-aglycone,C\C(CCC(O)=O)=C\CC1=C(C)C(=O)C2=C(C=CC=C2)C1=O,BCNIZSHMXASUGF-XFFZJAGNSA-N,C18H18O4,CID:20348793,pubchem
932
932
  5C-aglycone,CC(CCC1=C(C)C(=O)C2=C(C=CC=C2)C1=O)C(O)=O,ALLYVKRLOHDVKI-UHFFFAOYSA-N,C16H16O4,CID:3082405,pubchem
933
933
  "2,4-Dichlorophenol",OC1=CC=C(Cl)C=C1Cl,HFZWRUODUSTPEG-UHFFFAOYSA-N,C6H4Cl2O,CID:8449,pubchem
@@ -1848,7 +1848,7 @@ Urolithin B,OC1=CC2=C(C=C1)C1=C(C=CC=C1)C(=O)O2,WXUQMTRHPNOXBV-UHFFFAOYSA-N,C13H
1848
1848
  6-Methylnicotinamide,[H]N([H])C(=O)C1=C(N=C([H])C([H])=C1[H])C([H])([H])C([H])([H])[H],GOIWNSRZUNIIRY-UHFFFAOYSA-N,C8H10N2O,CID:14393052,pubchem
1849
1849
  Lanthanum,[La],FZLIPJUXYLNCLC-UHFFFAOYSA-N,La,CID:23926,pubchem
1850
1850
  N-Acetyltryptophan,CC(=O)N[C@@H](CC1=CNC2=C1C=CC=C2)C(O)=O,DZTHIGRZJZPRDV-LBPRGKRZSA-N,C13H14N2O3,CID:700653,pubchem
1851
- Neodymium,[Nd],QEFYFXOXNSNQGX-UHFFFAOYSA-N,Nd,CID:23934,pubchem
1851
+ Neodymium,[And],QEFYFXOXNSNQGX-UHFFFAOYSA-N,And,CID:23934,pubchem
1852
1852
  Norvaline,CCC[C@@H](N)C(O)=O,SNDPXSYFESPGGJ-SCSAIBSYSA-N,C5H11NO2,CID:439575,pubchem
1853
1853
  Rhenium,[Re],WUAPFZMCVAUBPE-UHFFFAOYSA-N,Re,CID:23947,pubchem
1854
1854
  Thallium,Cl[Tl],GBECUEIQVRDUKB-UHFFFAOYSA-M,ClTl,CID:24642,pubchem
@@ -4512,7 +4512,7 @@ Urolithin C 3-glucuronide,O[C@@H]1[C@@H](O)[C@H](OC2=CC3=C(C=C2)C2=C(C=C(O)C(O)=
4512
4512
  "2,6-Di-tert-butyl-4-hydroxy-4-methyl-2,5-cyclohexadienone",CC(C)(C)C1=CC(C)(O)C=C(C1=O)C(C)(C)C,DQBHJILNHNRDTM-UHFFFAOYSA-N,C15H24O2,CID:146102,pubchem
4513
4513
  3-Methylbut-3-enoic acid,CC(=C)CC(O)=O,IGRURXZWJCSNKU-UHFFFAOYSA-N,C5H8O2,CID:417575,pubchem
4514
4514
  D-chiro-Inositol,O[C@H]1[C@@H](O)[C@H](O)[C@H](O)[C@@H](O)[C@@H]1O,CDAISMWEOUEBRE-LKPKBOIGSA-N,C6H12O6,,
4515
- allo-Inositol,O[C@H]1[C@@H](O)[C@@H](O)[C@@H](O)[C@H](O)[C@@H]1O,CDAISMWEOUEBRE-OQYPVSDDSA-N,C6H12O6,,
4515
+ allow-Inositol,O[C@H]1[C@@H](O)[C@@H](O)[C@@H](O)[C@H](O)[C@@H]1O,CDAISMWEOUEBRE-OQYPVSDDSA-N,C6H12O6,,
4516
4516
  Dimethylguanidino valeric acid,CN(C)C(=N)NCCCC(=O)C(O)=O,GLWRPXRMUUZNMD-UHFFFAOYSA-N,C8H15N3O3,CID:101535539,pubchem
4517
4517
  N-Acetyltaurine,CC(=O)NCCS(O)(=O)=O,CXJAAWRLVGAKDV-UHFFFAOYSA-N,C4H9NO4S,CID:159864,pubchem
4518
4518
  Creatine riboside,CN(CC(O)=O)C(=N)N[C@@H]1O[C@H](CO)[C@@H](O)[C@H]1O,BGJFEKXALPJEGN-XVFCMESISA-N,C9H17N3O6,CID:91885405,pubchem
@@ -25,7 +25,7 @@ import datetime
25
25
  from typing import Any
26
26
 
27
27
 
28
- class MassterLogger:
28
+ class MasterLogger:
29
29
  """Simple logger wrapper for Study/Sample instances.
30
30
  Each instance gets its own Python logger to avoid conflicts.
31
31
 
@@ -74,7 +74,7 @@ class MassterLogger:
74
74
  self.handler = logging.StreamHandler(self.sink)
75
75
 
76
76
  # Create formatter that matches the original masster style
77
- class massterFormatter(logging.Formatter):
77
+ class masterFormatter(logging.Formatter):
78
78
  def __init__(self, label):
79
79
  super().__init__()
80
80
  self.label = label
@@ -124,7 +124,7 @@ class MassterLogger:
124
124
  f"{level_color}{record.getMessage()}\x1b[0m"
125
125
  ) # colored message
126
126
 
127
- self.handler.setFormatter(massterFormatter(self.label))
127
+ self.handler.setFormatter(masterFormatter(self.label))
128
128
  self.logger_instance.addHandler(self.handler)
129
129
 
130
130
  # Prevent propagation to avoid duplicate messages
@@ -143,7 +143,7 @@ class MassterLogger:
143
143
  self.label = label
144
144
 
145
145
  # Update formatter with new label
146
- class massterFormatter(logging.Formatter):
146
+ class masterFormatter(logging.Formatter):
147
147
  def __init__(self, label):
148
148
  super().__init__()
149
149
  self.label = label
@@ -192,7 +192,7 @@ class MassterLogger:
192
192
  f"{level_color}{record.getMessage()}\x1b[0m"
193
193
  ) # colored message
194
194
 
195
- self.handler.setFormatter(massterFormatter(self.label))
195
+ self.handler.setFormatter(masterFormatter(self.label))
196
196
 
197
197
  def update_sink(self, sink: Any):
198
198
  """Update the output sink for log messages."""
@@ -207,7 +207,7 @@ class MassterLogger:
207
207
  self.handler = logging.StreamHandler(self.sink)
208
208
 
209
209
  # Apply formatter
210
- class massterFormatter(logging.Formatter):
210
+ class masterFormatter(logging.Formatter):
211
211
  def __init__(self, label):
212
212
  super().__init__()
213
213
  self.label = label
@@ -256,7 +256,7 @@ class MassterLogger:
256
256
  f"{level_color}{record.getMessage()}\x1b[0m"
257
257
  ) # colored message
258
258
 
259
- self.handler.setFormatter(massterFormatter(self.label))
259
+ self.handler.setFormatter(masterFormatter(self.label))
260
260
  self.logger_instance.addHandler(self.handler)
261
261
 
262
262
  # Logger method delegates
@@ -329,4 +329,4 @@ class MassterLogger:
329
329
  self.handler = None
330
330
 
331
331
  def __repr__(self):
332
- return f"MassterLogger(type={self.instance_type}, id={self.instance_id}, level={self.level})"
332
+ return f"MasterLogger(type={self.instance_type}, id={self.instance_id}, level={self.level})"