masster 0.3.2__tar.gz → 0.3.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.

Potentially problematic release.


This version of masster might be problematic. Click here for more details.

Files changed (80) hide show
  1. {masster-0.3.2 → masster-0.3.3}/PKG-INFO +1 -1
  2. {masster-0.3.2 → masster-0.3.3}/pyproject.toml +1 -1
  3. {masster-0.3.2 → masster-0.3.3}/src/masster/study/plot.py +23 -2
  4. {masster-0.3.2 → masster-0.3.3}/uv.lock +1 -1
  5. {masster-0.3.2 → masster-0.3.3}/.github/workflows/publish.yml +0 -0
  6. {masster-0.3.2 → masster-0.3.3}/.github/workflows/security.yml +0 -0
  7. {masster-0.3.2 → masster-0.3.3}/.github/workflows/test.yml +0 -0
  8. {masster-0.3.2 → masster-0.3.3}/.gitignore +0 -0
  9. {masster-0.3.2 → masster-0.3.3}/.pre-commit-config.yaml +0 -0
  10. {masster-0.3.2 → masster-0.3.3}/LICENSE +0 -0
  11. {masster-0.3.2 → masster-0.3.3}/Makefile +0 -0
  12. {masster-0.3.2 → masster-0.3.3}/README.md +0 -0
  13. {masster-0.3.2 → masster-0.3.3}/TESTING.md +0 -0
  14. {masster-0.3.2 → masster-0.3.3}/demo/example_batch_process.py +0 -0
  15. {masster-0.3.2 → masster-0.3.3}/demo/example_sample_process.py +0 -0
  16. {masster-0.3.2 → masster-0.3.3}/src/masster/__init__.py +0 -0
  17. {masster-0.3.2 → masster-0.3.3}/src/masster/_version.py +0 -0
  18. {masster-0.3.2 → masster-0.3.3}/src/masster/chromatogram.py +0 -0
  19. {masster-0.3.2 → masster-0.3.3}/src/masster/data/examples/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.featureXML +0 -0
  20. {masster-0.3.2 → masster-0.3.3}/src/masster/data/examples/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.mzML +0 -0
  21. {masster-0.3.2 → masster-0.3.3}/src/masster/data/examples/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.sample5 +0 -0
  22. {masster-0.3.2 → masster-0.3.3}/src/masster/data/examples/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.timeseries.data +0 -0
  23. {masster-0.3.2 → masster-0.3.3}/src/masster/data/examples/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.wiff +0 -0
  24. {masster-0.3.2 → masster-0.3.3}/src/masster/data/examples/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.wiff.scan +0 -0
  25. {masster-0.3.2 → masster-0.3.3}/src/masster/data/examples/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.wiff2 +0 -0
  26. {masster-0.3.2 → masster-0.3.3}/src/masster/logger.py +0 -0
  27. {masster-0.3.2 → masster-0.3.3}/src/masster/sample/__init__.py +0 -0
  28. {masster-0.3.2 → masster-0.3.3}/src/masster/sample/defaults/__init__.py +0 -0
  29. {masster-0.3.2 → masster-0.3.3}/src/masster/sample/defaults/find_adducts_def.py +0 -0
  30. {masster-0.3.2 → masster-0.3.3}/src/masster/sample/defaults/find_features_def.py +0 -0
  31. {masster-0.3.2 → masster-0.3.3}/src/masster/sample/defaults/find_ms2_def.py +0 -0
  32. {masster-0.3.2 → masster-0.3.3}/src/masster/sample/defaults/get_spectrum_def.py +0 -0
  33. {masster-0.3.2 → masster-0.3.3}/src/masster/sample/defaults/sample_def.py +0 -0
  34. {masster-0.3.2 → masster-0.3.3}/src/masster/sample/h5.py +0 -0
  35. {masster-0.3.2 → masster-0.3.3}/src/masster/sample/helpers.py +0 -0
  36. {masster-0.3.2 → masster-0.3.3}/src/masster/sample/lib.py +0 -0
  37. {masster-0.3.2 → masster-0.3.3}/src/masster/sample/load.py +0 -0
  38. {masster-0.3.2 → masster-0.3.3}/src/masster/sample/parameters.py +0 -0
  39. {masster-0.3.2 → masster-0.3.3}/src/masster/sample/plot.py +0 -0
  40. {masster-0.3.2 → masster-0.3.3}/src/masster/sample/processing.py +0 -0
  41. {masster-0.3.2 → masster-0.3.3}/src/masster/sample/quant.py +0 -0
  42. {masster-0.3.2 → masster-0.3.3}/src/masster/sample/sample.py +0 -0
  43. {masster-0.3.2 → masster-0.3.3}/src/masster/sample/sample5_schema.json +0 -0
  44. {masster-0.3.2 → masster-0.3.3}/src/masster/sample/save.py +0 -0
  45. {masster-0.3.2 → masster-0.3.3}/src/masster/sample/sciex.py +0 -0
  46. {masster-0.3.2 → masster-0.3.3}/src/masster/spectrum.py +0 -0
  47. {masster-0.3.2 → masster-0.3.3}/src/masster/study/__init__.py +0 -0
  48. {masster-0.3.2 → masster-0.3.3}/src/masster/study/defaults/__init__.py +0 -0
  49. {masster-0.3.2 → masster-0.3.3}/src/masster/study/defaults/align_def.py +0 -0
  50. {masster-0.3.2 → masster-0.3.3}/src/masster/study/defaults/export_def.py +0 -0
  51. {masster-0.3.2 → masster-0.3.3}/src/masster/study/defaults/fill_chrom_def.py +0 -0
  52. {masster-0.3.2 → masster-0.3.3}/src/masster/study/defaults/fill_def.py +0 -0
  53. {masster-0.3.2 → masster-0.3.3}/src/masster/study/defaults/find_consensus_def.py +0 -0
  54. {masster-0.3.2 → masster-0.3.3}/src/masster/study/defaults/find_ms2_def.py +0 -0
  55. {masster-0.3.2 → masster-0.3.3}/src/masster/study/defaults/integrate_chrom_def.py +0 -0
  56. {masster-0.3.2 → masster-0.3.3}/src/masster/study/defaults/integrate_def.py +0 -0
  57. {masster-0.3.2 → masster-0.3.3}/src/masster/study/defaults/merge_def.py +0 -0
  58. {masster-0.3.2 → masster-0.3.3}/src/masster/study/defaults/study_def.py +0 -0
  59. {masster-0.3.2 → masster-0.3.3}/src/masster/study/export.py +0 -0
  60. {masster-0.3.2 → masster-0.3.3}/src/masster/study/h5.py +0 -0
  61. {masster-0.3.2 → masster-0.3.3}/src/masster/study/helpers.py +0 -0
  62. {masster-0.3.2 → masster-0.3.3}/src/masster/study/helpers_optimized.py +0 -0
  63. {masster-0.3.2 → masster-0.3.3}/src/masster/study/load.py +0 -0
  64. {masster-0.3.2 → masster-0.3.3}/src/masster/study/parameters.py +0 -0
  65. {masster-0.3.2 → masster-0.3.3}/src/masster/study/processing.py +0 -0
  66. {masster-0.3.2 → masster-0.3.3}/src/masster/study/save.py +0 -0
  67. {masster-0.3.2 → masster-0.3.3}/src/masster/study/study.py +0 -0
  68. {masster-0.3.2 → masster-0.3.3}/src/masster/study/study5_schema.json +0 -0
  69. {masster-0.3.2 → masster-0.3.3}/tests/conftest.py +0 -0
  70. {masster-0.3.2 → masster-0.3.3}/tests/test_chromatogram.py +0 -0
  71. {masster-0.3.2 → masster-0.3.3}/tests/test_defaults.py +0 -0
  72. {masster-0.3.2 → masster-0.3.3}/tests/test_imports.py +0 -0
  73. {masster-0.3.2 → masster-0.3.3}/tests/test_integration.py +0 -0
  74. {masster-0.3.2 → masster-0.3.3}/tests/test_logger.py +0 -0
  75. {masster-0.3.2 → masster-0.3.3}/tests/test_parameters.py +0 -0
  76. {masster-0.3.2 → masster-0.3.3}/tests/test_sample.py +0 -0
  77. {masster-0.3.2 → masster-0.3.3}/tests/test_spectrum.py +0 -0
  78. {masster-0.3.2 → masster-0.3.3}/tests/test_study.py +0 -0
  79. {masster-0.3.2 → masster-0.3.3}/tests/test_version.py +0 -0
  80. {masster-0.3.2 → masster-0.3.3}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: masster
3
- Version: 0.3.2
3
+ Version: 0.3.3
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.3.2"
4
+ version = "0.3.3"
5
5
  description = "Mass spectrometry data analysis package"
6
6
  authors = [
7
7
  { name = "Zamboni Lab" }
@@ -161,7 +161,9 @@ def plot_consensus_2d(
161
161
  alpha=0.7,
162
162
  cmap=None,
163
163
  width=900,
164
- height=900
164
+ height=900,
165
+ mz_range=None,
166
+ rt_range=None
165
167
  ):
166
168
  """
167
169
  Plot consensus features in a 2D scatter plot with retention time vs m/z.
@@ -178,11 +180,20 @@ def plot_consensus_2d(
178
180
  cmap (str, optional): Color map name
179
181
  width (int): Plot width in pixels (default: 900)
180
182
  height (int): Plot height in pixels (default: 900)
183
+ mz_range (tuple, optional): m/z range for filtering consensus features (min_mz, max_mz)
184
+ rt_range (tuple, optional): Retention time range for filtering consensus features (min_rt, max_rt)
181
185
  """
182
186
  if self.consensus_df is None:
183
187
  self.logger.error("No consensus map found.")
184
188
  return
185
189
  data = self.consensus_df.clone()
190
+
191
+ # Filter by mz_range and rt_range if provided
192
+ if mz_range is not None:
193
+ data = data.filter((pl.col("mz") >= mz_range[0]) & (pl.col("mz") <= mz_range[1]))
194
+ if rt_range is not None:
195
+ data = data.filter((pl.col("rt") >= rt_range[0]) & (pl.col("rt") <= rt_range[1]))
196
+
186
197
  if colorby not in data.columns:
187
198
  self.logger.error(f"Column {colorby} not found in consensus_df.")
188
199
  return
@@ -329,7 +340,9 @@ def plot_samples_2d(
329
340
  cmap="Turbo256",
330
341
  max_features=50000,
331
342
  width=900,
332
- height=900
343
+ height=900,
344
+ mz_range=None,
345
+ rt_range=None
333
346
  ):
334
347
  """
335
348
  Plot all feature maps for sample_uid in parameter uids in an overlaid scatter plot.
@@ -349,6 +362,8 @@ def plot_samples_2d(
349
362
  max_features (int): Maximum number of features to plot (default: 50000)
350
363
  width (int): Plot width in pixels (default: 900)
351
364
  height (int): Plot height in pixels (default: 900)
365
+ mz_range (tuple, optional): m/z range for filtering features (min_mz, max_mz)
366
+ rt_range (tuple, optional): Retention time range for filtering features (min_rt, max_rt)
352
367
  """
353
368
 
354
369
  sample_uids = self._get_sample_uids(samples)
@@ -370,6 +385,12 @@ def plot_samples_2d(
370
385
 
371
386
  # OPTIMIZATION 1: Batch filter all features for selected samples at once
372
387
  features_batch = self.features_df.filter(pl.col("sample_uid").is_in(sample_uids))
388
+
389
+ # Filter by mz_range and rt_range if provided
390
+ if mz_range is not None:
391
+ features_batch = features_batch.filter((pl.col("mz") >= mz_range[0]) & (pl.col("mz") <= mz_range[1]))
392
+ if rt_range is not None:
393
+ features_batch = features_batch.filter((pl.col("rt") >= rt_range[0]) & (pl.col("rt") <= rt_range[1]))
373
394
 
374
395
  if features_batch.is_empty():
375
396
  self.logger.error("No features found for the selected samples.")
@@ -1585,7 +1585,7 @@ wheels = [
1585
1585
 
1586
1586
  [[package]]
1587
1587
  name = "masster"
1588
- version = "0.3.2"
1588
+ version = "0.3.3"
1589
1589
  source = { editable = "." }
1590
1590
  dependencies = [
1591
1591
  { name = "alphabase" },
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