masster 0.4.10__tar.gz → 0.4.11__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 (88) hide show
  1. {masster-0.4.10 → masster-0.4.11}/PKG-INFO +1 -1
  2. {masster-0.4.10 → masster-0.4.11}/pyproject.toml +1 -1
  3. {masster-0.4.10 → masster-0.4.11}/src/masster/_version.py +1 -1
  4. {masster-0.4.10 → masster-0.4.11}/src/masster/sample/sample5_schema.json +44 -44
  5. {masster-0.4.10 → masster-0.4.11}/src/masster/study/h5.py +0 -13
  6. {masster-0.4.10 → masster-0.4.11}/src/masster/study/helpers.py +1 -0
  7. {masster-0.4.10 → masster-0.4.11}/src/masster/study/plot.py +136 -289
  8. {masster-0.4.10 → masster-0.4.11}/src/masster/study/study5_schema.json +149 -149
  9. {masster-0.4.10 → masster-0.4.11}/uv.lock +1 -1
  10. {masster-0.4.10 → masster-0.4.11}/.github/workflows/publish.yml +0 -0
  11. {masster-0.4.10 → masster-0.4.11}/.github/workflows/security.yml +0 -0
  12. {masster-0.4.10 → masster-0.4.11}/.github/workflows/test.yml +0 -0
  13. {masster-0.4.10 → masster-0.4.11}/.gitignore +0 -0
  14. {masster-0.4.10 → masster-0.4.11}/.pre-commit-config.yaml +0 -0
  15. {masster-0.4.10 → masster-0.4.11}/LICENSE +0 -0
  16. {masster-0.4.10 → masster-0.4.11}/Makefile +0 -0
  17. {masster-0.4.10 → masster-0.4.11}/README.md +0 -0
  18. {masster-0.4.10 → masster-0.4.11}/TESTING.md +0 -0
  19. {masster-0.4.10 → masster-0.4.11}/demo/example_batch_process.py +0 -0
  20. {masster-0.4.10 → masster-0.4.11}/demo/example_sample_process.py +0 -0
  21. {masster-0.4.10 → masster-0.4.11}/src/masster/__init__.py +0 -0
  22. {masster-0.4.10 → masster-0.4.11}/src/masster/chromatogram.py +0 -0
  23. {masster-0.4.10 → masster-0.4.11}/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
  24. {masster-0.4.10 → masster-0.4.11}/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
  25. {masster-0.4.10 → masster-0.4.11}/src/masster/data/dda/20250530_VH_IQX_KW_RP_HSST3_100mm_12min_pos_v4_MS1_C-MiLUT_C008_v6_r38_01.sample5 +0 -0
  26. {masster-0.4.10 → masster-0.4.11}/src/masster/data/dda/20250530_VH_IQX_KW_RP_HSST3_100mm_12min_pos_v4_MS1_C-MiLUT_C008_v7_r37_01.sample5 +0 -0
  27. {masster-0.4.10 → masster-0.4.11}/src/masster/data/dda/20250530_VH_IQX_KW_RP_HSST3_100mm_12min_pos_v4_MS1_C-MiLUT_C017_v5_r99_01.sample5 +0 -0
  28. {masster-0.4.10 → masster-0.4.11}/src/masster/data/libs/ccm.csv +0 -0
  29. {masster-0.4.10 → masster-0.4.11}/src/masster/data/libs/urine.csv +0 -0
  30. {masster-0.4.10 → masster-0.4.11}/src/masster/data/wiff/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.timeseries.data +0 -0
  31. {masster-0.4.10 → masster-0.4.11}/src/masster/data/wiff/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.wiff +0 -0
  32. {masster-0.4.10 → masster-0.4.11}/src/masster/data/wiff/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.wiff.scan +0 -0
  33. {masster-0.4.10 → masster-0.4.11}/src/masster/data/wiff/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.wiff2 +0 -0
  34. {masster-0.4.10 → masster-0.4.11}/src/masster/lib/__init__.py +0 -0
  35. {masster-0.4.10 → masster-0.4.11}/src/masster/lib/lib.py +0 -0
  36. {masster-0.4.10 → masster-0.4.11}/src/masster/logger.py +0 -0
  37. {masster-0.4.10 → masster-0.4.11}/src/masster/sample/__init__.py +0 -0
  38. {masster-0.4.10 → masster-0.4.11}/src/masster/sample/adducts.py +0 -0
  39. {masster-0.4.10 → masster-0.4.11}/src/masster/sample/defaults/__init__.py +0 -0
  40. {masster-0.4.10 → masster-0.4.11}/src/masster/sample/defaults/find_adducts_def.py +0 -0
  41. {masster-0.4.10 → masster-0.4.11}/src/masster/sample/defaults/find_features_def.py +0 -0
  42. {masster-0.4.10 → masster-0.4.11}/src/masster/sample/defaults/find_ms2_def.py +0 -0
  43. {masster-0.4.10 → masster-0.4.11}/src/masster/sample/defaults/get_spectrum_def.py +0 -0
  44. {masster-0.4.10 → masster-0.4.11}/src/masster/sample/defaults/sample_def.py +0 -0
  45. {masster-0.4.10 → masster-0.4.11}/src/masster/sample/h5.py +0 -0
  46. {masster-0.4.10 → masster-0.4.11}/src/masster/sample/helpers.py +0 -0
  47. {masster-0.4.10 → masster-0.4.11}/src/masster/sample/lib.py +0 -0
  48. {masster-0.4.10 → masster-0.4.11}/src/masster/sample/load.py +0 -0
  49. {masster-0.4.10 → masster-0.4.11}/src/masster/sample/parameters.py +0 -0
  50. {masster-0.4.10 → masster-0.4.11}/src/masster/sample/plot.py +0 -0
  51. {masster-0.4.10 → masster-0.4.11}/src/masster/sample/processing.py +0 -0
  52. {masster-0.4.10 → masster-0.4.11}/src/masster/sample/quant.py +0 -0
  53. {masster-0.4.10 → masster-0.4.11}/src/masster/sample/sample.py +0 -0
  54. {masster-0.4.10 → masster-0.4.11}/src/masster/sample/save.py +0 -0
  55. {masster-0.4.10 → masster-0.4.11}/src/masster/sample/sciex.py +0 -0
  56. {masster-0.4.10 → masster-0.4.11}/src/masster/spectrum.py +0 -0
  57. {masster-0.4.10 → masster-0.4.11}/src/masster/study/__init__.py +0 -0
  58. {masster-0.4.10 → masster-0.4.11}/src/masster/study/defaults/__init__.py +0 -0
  59. {masster-0.4.10 → masster-0.4.11}/src/masster/study/defaults/align_def.py +0 -0
  60. {masster-0.4.10 → masster-0.4.11}/src/masster/study/defaults/export_def.py +0 -0
  61. {masster-0.4.10 → masster-0.4.11}/src/masster/study/defaults/fill_chrom_def.py +0 -0
  62. {masster-0.4.10 → masster-0.4.11}/src/masster/study/defaults/fill_def.py +0 -0
  63. {masster-0.4.10 → masster-0.4.11}/src/masster/study/defaults/find_consensus_def.py +0 -0
  64. {masster-0.4.10 → masster-0.4.11}/src/masster/study/defaults/find_ms2_def.py +0 -0
  65. {masster-0.4.10 → masster-0.4.11}/src/masster/study/defaults/identify_def.py +0 -0
  66. {masster-0.4.10 → masster-0.4.11}/src/masster/study/defaults/integrate_chrom_def.py +0 -0
  67. {masster-0.4.10 → masster-0.4.11}/src/masster/study/defaults/integrate_def.py +0 -0
  68. {masster-0.4.10 → masster-0.4.11}/src/masster/study/defaults/merge_def.py +0 -0
  69. {masster-0.4.10 → masster-0.4.11}/src/masster/study/defaults/study_def.py +0 -0
  70. {masster-0.4.10 → masster-0.4.11}/src/masster/study/export.py +0 -0
  71. {masster-0.4.10 → masster-0.4.11}/src/masster/study/id.py +0 -0
  72. {masster-0.4.10 → masster-0.4.11}/src/masster/study/load.py +0 -0
  73. {masster-0.4.10 → masster-0.4.11}/src/masster/study/parameters.py +0 -0
  74. {masster-0.4.10 → masster-0.4.11}/src/masster/study/processing.py +0 -0
  75. {masster-0.4.10 → masster-0.4.11}/src/masster/study/save.py +0 -0
  76. {masster-0.4.10 → masster-0.4.11}/src/masster/study/study.py +0 -0
  77. {masster-0.4.10 → masster-0.4.11}/tests/conftest.py +0 -0
  78. {masster-0.4.10 → masster-0.4.11}/tests/test_chromatogram.py +0 -0
  79. {masster-0.4.10 → masster-0.4.11}/tests/test_defaults.py +0 -0
  80. {masster-0.4.10 → masster-0.4.11}/tests/test_imports.py +0 -0
  81. {masster-0.4.10 → masster-0.4.11}/tests/test_integration.py +0 -0
  82. {masster-0.4.10 → masster-0.4.11}/tests/test_logger.py +0 -0
  83. {masster-0.4.10 → masster-0.4.11}/tests/test_parameters.py +0 -0
  84. {masster-0.4.10 → masster-0.4.11}/tests/test_sample.py +0 -0
  85. {masster-0.4.10 → masster-0.4.11}/tests/test_spectrum.py +0 -0
  86. {masster-0.4.10 → masster-0.4.11}/tests/test_study.py +0 -0
  87. {masster-0.4.10 → masster-0.4.11}/tests/test_version.py +0 -0
  88. {masster-0.4.10 → masster-0.4.11}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: masster
3
- Version: 0.4.10
3
+ Version: 0.4.11
4
4
  Summary: Mass spectrometry data analysis package
5
5
  Project-URL: homepage, https://github.com/zamboni-lab/masster
6
6
  Project-URL: repository, https://github.com/zamboni-lab/masster
@@ -1,7 +1,7 @@
1
1
 
2
2
  [project]
3
3
  name = "masster"
4
- version = "0.4.10"
4
+ version = "0.4.11"
5
5
  description = "Mass spectrometry data analysis package"
6
6
  authors = [
7
7
  { name = "Zamboni Lab" }
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
 
4
- __version__ = "0.4.10"
4
+ __version__ = "0.4.11"
5
5
 
6
6
 
7
7
  def get_version():
@@ -1,95 +1,95 @@
1
1
  {
2
2
  "features_df": {
3
3
  "columns": {
4
- "adduct": {
5
- "dtype": "pl.Utf8"
6
- },
7
- "adduct_charge": {
8
- "dtype": "pl.Int64"
9
- },
10
- "adduct_group": {
4
+ "feature_uid": {
11
5
  "dtype": "pl.Int64"
12
6
  },
13
- "adduct_mass_neutral": {
14
- "dtype": "pl.Float64"
15
- },
16
- "adduct_mass_shift": {
17
- "dtype": "pl.Float64"
7
+ "feature_id": {
8
+ "dtype": "pl.Utf8"
18
9
  },
19
- "charge": {
10
+ "sample_uid": {
20
11
  "dtype": "pl.Int32"
21
12
  },
22
- "chrom": {
23
- "dtype": "pl.Object"
24
- },
25
- "chrom_area": {
13
+ "mz": {
26
14
  "dtype": "pl.Float64"
27
15
  },
28
- "chrom_coherence": {
16
+ "rt": {
29
17
  "dtype": "pl.Float64"
30
18
  },
31
- "chrom_height_scaled": {
19
+ "rt_original": {
32
20
  "dtype": "pl.Float64"
33
21
  },
34
- "chrom_prominence": {
22
+ "rt_start": {
35
23
  "dtype": "pl.Float64"
36
24
  },
37
- "chrom_prominence_scaled": {
25
+ "rt_end": {
38
26
  "dtype": "pl.Float64"
39
27
  },
40
- "feature_id": {
41
- "dtype": "pl.Utf8"
28
+ "rt_delta": {
29
+ "dtype": "pl.Float64"
42
30
  },
43
- "feature_uid": {
44
- "dtype": "pl.Int64"
31
+ "mz_start": {
32
+ "dtype": "pl.Float64"
45
33
  },
46
- "filled": {
47
- "dtype": "pl.Boolean"
34
+ "mz_end": {
35
+ "dtype": "pl.Float64"
48
36
  },
49
37
  "inty": {
50
38
  "dtype": "pl.Float64"
51
39
  },
40
+ "quality": {
41
+ "dtype": "pl.Float64"
42
+ },
43
+ "charge": {
44
+ "dtype": "pl.Int32"
45
+ },
52
46
  "iso": {
53
47
  "dtype": "pl.Int64"
54
48
  },
55
49
  "iso_of": {
56
50
  "dtype": "pl.Int64"
57
51
  },
58
- "ms2_scans": {
59
- "dtype": "pl.Object"
52
+ "adduct": {
53
+ "dtype": "pl.Utf8"
60
54
  },
61
- "ms2_specs": {
62
- "dtype": "pl.Object"
55
+ "adduct_charge": {
56
+ "dtype": "pl.Int64"
63
57
  },
64
- "mz": {
58
+ "adduct_mass_shift": {
65
59
  "dtype": "pl.Float64"
66
60
  },
67
- "mz_end": {
61
+ "adduct_mass_neutral": {
68
62
  "dtype": "pl.Float64"
69
63
  },
70
- "mz_start": {
71
- "dtype": "pl.Float64"
64
+ "adduct_group": {
65
+ "dtype": "pl.Int64"
72
66
  },
73
- "quality": {
74
- "dtype": "pl.Float64"
67
+ "chrom": {
68
+ "dtype": "pl.Object"
75
69
  },
76
- "rt": {
70
+ "filled": {
71
+ "dtype": "pl.Boolean"
72
+ },
73
+ "chrom_area": {
77
74
  "dtype": "pl.Float64"
78
75
  },
79
- "rt_delta": {
76
+ "chrom_coherence": {
80
77
  "dtype": "pl.Float64"
81
78
  },
82
- "rt_end": {
79
+ "chrom_prominence": {
83
80
  "dtype": "pl.Float64"
84
81
  },
85
- "rt_original": {
82
+ "chrom_prominence_scaled": {
86
83
  "dtype": "pl.Float64"
87
84
  },
88
- "rt_start": {
85
+ "chrom_height_scaled": {
89
86
  "dtype": "pl.Float64"
90
87
  },
91
- "sample_uid": {
92
- "dtype": "pl.Int32"
88
+ "ms2_scans": {
89
+ "dtype": "pl.Object"
90
+ },
91
+ "ms2_specs": {
92
+ "dtype": "pl.Object"
93
93
  }
94
94
  }
95
95
  },
@@ -1686,19 +1686,6 @@ def _load_study5(self, filename=None):
1686
1686
  # Check if progress bar should be disabled based on log level
1687
1687
  tdqm_disable = self.log_level not in ["TRACE", "DEBUG", "INFO"]
1688
1688
 
1689
- # Define loading steps for progress tracking
1690
- loading_steps = [
1691
- "metadata",
1692
- "samples_df",
1693
- "features_df",
1694
- "consensus_df",
1695
- "consensus_mapping_df",
1696
- "consensus_ms2",
1697
- ]
1698
-
1699
- # Check if progress bar should be disabled based on log level
1700
- tdqm_disable = self.log_level not in ["TRACE", "DEBUG", "INFO"]
1701
-
1702
1689
  with h5py.File(filename, "r") as f:
1703
1690
  # Use progress bar to show loading progress
1704
1691
  with tqdm(
@@ -780,6 +780,7 @@ def _get_sample_uids(self, samples=None, seed=42):
780
780
  # choose a random sample of sample_uids
781
781
  if len(self.samples_df) > samples:
782
782
  np.random.seed(seed) # for reproducibility
783
+ self.logger.info(f"Randomly selected {samples} samples")
783
784
  return np.random.choice(
784
785
  self.samples_df["sample_uid"].to_list(),
785
786
  samples,